[ 
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)

Reply via email to