Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.9.3
-
None
-
None
Description
I am not shure, what I observed, maybe it is not critical at all.
Let me describe:
we are using the active mq C++ library to transfer measurement files (in xml format) compressed to an Active-MQ-server. We build the library ourselves with our own build system using MS Visual Studio compiler.
What we use in release-build is:
/DDEBUG=0
Deep inside this library code there is a zlib that makes use of the DEBUG macro in that way:
#ifdef DEBUG
...
#else
.....
#endif
As you see we accidentally delivered debug-code in release binaries.
A customer told us about some files not being tansferred successfully to the queue. While we investigated the issue we found out, our process seems to be dissapearing whithout any exception, signal, whatever. We only see a message
niitt"">>invalid match
at the console. (which is part of our xml file: unit">)
Inside zlib we found some check_match function that is active in case of DEBUG being defined that emitts exactly that message and does
exit(1);
as next step (decaf/internal/util/zip/deflate.c, line 1284)
When we changed to code to correctly handle our DEBUG macro, the file is transferred successfully.
What is this? Ciritcal error inside the zlib? Incorrect use of the library?
Another maybe interesting fact:
when we insert a space in the first line (all characters moved by one), we don't have the issue.
Additional information:
our files are coded in UTF8 but maybe don't use the proper BOM and we transfer a lot of UTF-8 coded characters when we transfer the measurement unit m/s². But as far as I understand, Active MQ handles the files as transparent binary messages.
Please ask, if you need additional information. I am trying to find out if I am allowed to add an example file....