You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Tom M. (JIRA)" <ji...@apache.org> on 2014/07/07 17:20:33 UTC
[jira] [Updated] (AMQNET-480) "Bad state" exception when
decompressing
[ https://issues.apache.org/jira/browse/AMQNET-480?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tom M. updated AMQNET-480:
--------------------------
Description:
We are using NMS trunk rev 1.7.0.3383 and are facing trouble when decompressing a broker message (ActiveMq 5.9.0) with compresed messages to be consumed by a .Net/ApacheNMS client.
It seems only binary files are affected and not all of them, those files affected do have a size above 48000 bytes.
===
Bad state (incorrect data check)
at Ionic.Zlib.InflateManager.Inflate(FlushType flush)
at Ionic.Zlib.ZlibCodec.Inflate(FlushType flush)
at Ionic.Zlib.ZlibBaseStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at Ionic.Zlib.ZlibStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BinaryReader.Read(Byte[] buffer, Int32 index, Int32 count)
at Apache.NMS.ActiveMQ.Commands.ActiveMQBytesMessage.get_Content()
===
In http://dotnetzip.codeplex.com/workitem/10562 there seems to be an old issue.
So in NMS 1.6.2 or even 1.7.0 trunk it is still 'Ionic.Zlib, Version=1.9.1.5' used but not the latest? I suppose it is a problem of the dll included rather than a producer/broker/consumer issue?
Is it possible do update NMS at least to 'Ionic.Zlib, Version=1.9.1.6' which has the bug mentioned fixed or even the to latest 1.9.1.8?
(http://dotnetzip.codeplex.com)
We failed to do so ourselves with the following error, any advice is appreciated:
Could not load file or assembly 'Ionic.Zlib, Version=1.9.1.5, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
at Apache.NMS.ActiveMQ.CompressionPolicy.CreateDecompressionStream(Stream data)
at Apache.NMS.ActiveMQ.Commands.ActiveMQBytesMessage.InitializeReading() in d:\Work\Projects\Vesely\NMS\activemq-dotnet\Apache.NMS.ActiveMQ\trunk\src\main\csharp\Commands\ActiveMQBytesMessage.cs:line 499
at Apache.NMS.ActiveMQ.Commands.ActiveMQBytesMessage.get_Content()
was:
We are using NMS trunk rev 1.7.0.3383 and are facing trouble when decompressing a broker message (ActiveMq 5.9.0) with connection.useCompression=true in a .Net/ApacheNMS client.
It seems only binary files are affected and not all of them.
===
Bad state (incorrect data check)
at Ionic.Zlib.InflateManager.Inflate(FlushType flush)
at Ionic.Zlib.ZlibCodec.Inflate(FlushType flush)
at Ionic.Zlib.ZlibBaseStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at Ionic.Zlib.ZlibStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BinaryReader.Read(Byte[] buffer, Int32 index, Int32 count)
at Apache.NMS.ActiveMQ.Commands.ActiveMQBytesMessage.get_Content()
===
I don't think the producer is relevant here since the broker is responsible to compress a message before delivery(?), but I do post it too:
MessageProducer producer = ... Session session = ... ResultSet rs = ... BLOB blob = ((OracleResultSet) rs).getBLOB(STMT_SELECT_BINMSG); BytesMessage msg = session.createBytesMessage(); msg.writeBytes(blob.getBytes(1, (int)blob.length())); producer.send(msg); session.commit();
===
In http://dotnetzip.codeplex.com/workitem/10562 there seems to be an old issue.
So in NMS 1.6.2/1.7.0 trunk it is still 'Ionic.Zlib, Version=1.9.1.5' but not the latest? Is it a problem of the dll included or a matter of producer/broker/consumer?
> "Bad state" exception when decompressing
> -----------------------------------------
>
> Key: AMQNET-480
> URL: https://issues.apache.org/jira/browse/AMQNET-480
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: NMS
> Affects Versions: 1.6.2
> Environment: ActiveMQ 5.9.0
> Reporter: Tom M.
> Assignee: Jim Gomes
> Priority: Blocker
>
> We are using NMS trunk rev 1.7.0.3383 and are facing trouble when decompressing a broker message (ActiveMq 5.9.0) with compresed messages to be consumed by a .Net/ApacheNMS client.
> It seems only binary files are affected and not all of them, those files affected do have a size above 48000 bytes.
> ===
> Bad state (incorrect data check)
> at Ionic.Zlib.InflateManager.Inflate(FlushType flush)
> at Ionic.Zlib.ZlibCodec.Inflate(FlushType flush)
> at Ionic.Zlib.ZlibBaseStream.Read(Byte[] buffer, Int32 offset, Int32 count)
> at Ionic.Zlib.ZlibStream.Read(Byte[] buffer, Int32 offset, Int32 count)
> at System.IO.BinaryReader.Read(Byte[] buffer, Int32 index, Int32 count)
> at Apache.NMS.ActiveMQ.Commands.ActiveMQBytesMessage.get_Content()
> ===
> In http://dotnetzip.codeplex.com/workitem/10562 there seems to be an old issue.
> So in NMS 1.6.2 or even 1.7.0 trunk it is still 'Ionic.Zlib, Version=1.9.1.5' used but not the latest? I suppose it is a problem of the dll included rather than a producer/broker/consumer issue?
> Is it possible do update NMS at least to 'Ionic.Zlib, Version=1.9.1.6' which has the bug mentioned fixed or even the to latest 1.9.1.8?
> (http://dotnetzip.codeplex.com)
> We failed to do so ourselves with the following error, any advice is appreciated:
> Could not load file or assembly 'Ionic.Zlib, Version=1.9.1.5, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
> at Apache.NMS.ActiveMQ.CompressionPolicy.CreateDecompressionStream(Stream data)
> at Apache.NMS.ActiveMQ.Commands.ActiveMQBytesMessage.InitializeReading() in d:\Work\Projects\Vesely\NMS\activemq-dotnet\Apache.NMS.ActiveMQ\trunk\src\main\csharp\Commands\ActiveMQBytesMessage.cs:line 499
> at Apache.NMS.ActiveMQ.Commands.ActiveMQBytesMessage.get_Content()
--
This message was sent by Atlassian JIRA
(v6.2#6252)