You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Christoph Fetzer (JIRA)" <ji...@apache.org> on 2019/01/30 12:18:00 UTC

[jira] [Created] (AMQCPP-644) potential issue using compression

Christoph Fetzer created AMQCPP-644:
---------------------------------------

             Summary: potential issue using compression
                 Key: AMQCPP-644
                 URL: https://issues.apache.org/jira/browse/AMQCPP-644
             Project: ActiveMQ C++ Client
          Issue Type: Bug
          Components: Decaf
    Affects Versions: 3.9.3
            Reporter: Christoph Fetzer
            Assignee: Timothy Bish


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:
{code:java}
/DDEBUG=0
{code}
Deep inside this library code there is a zlib that makes use of the DEBUG macro in that way:
{code:java}
#ifdef DEBUG


...


#else


.....


#endif
{code}
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
{code:java}
niitt"">>invalid match
{code}
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
{code:java}
exit(1);
{code}
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....

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)