login about faq


I am using 64-bit Chilkat .NET assembly for the 4.5 Framework in Visual studio 2013. Everything is working fine and smooth when we deployed the application in Windows Server 2008 R2 (installed .Net Framework 4.5.1). However, when we moved the app to Windows Server 2012, we started to encounter System.AccessViolationException during compression of data. Please see event viewer logs below:

Application Error

Faulting application name: w3wp.exe, version: 8.0.9200.16384, time stamp: 0x50108835
Faulting module name: ChilkatDotNet45.DLL, version:, time stamp: 0x520d2c5f
Exception code: 0xc0000005
Fault offset: 0x00000000004316ee
Faulting process id: 0x71c
Faulting application start time: 0x01cf2c5aefa558db
Faulting application path: c:windowssystem32inetsrvw3wp.exe
Faulting module path: C:WindowsMicrosoft.NETFramework64v4.0.30319Temporary ASP.NET Filesrootf35d50979d8b0f28assemblydl3ad5e8e16b0dad04f_5a2ccf01ChilkatDotNet45.DLL

Stack Trace

Application: w3wp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
   at <module>.ClsCompression.CompressBytes(ClsCompression, DataBuffer, DataBuffer, ProgressEvent)
   at <module>.ClsCompression.CompressBytes(ClsCompression, DataBuffer, DataBuffer, ProgressEvent)
   at Chilkat.Compression.CompressBytes(Byte[])
   at ConnectedBusinessNetwork.BusinessRules.Process.CBNProcess.StreamHelper.CompressData2(Byte[])
   at ConnectedBusinessNetwork.BusinessRules.Process.CBNProcess.StreamHelper.CompressEntityToByteArray2[System.__Canon, mscorlib, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089]
   at ConnectedBusinessNetwork.BusinessRules.Process.CBNProcess.Supplier.SupplierInventoryProcess.DownloadInventoryItemImage2(System.String, System.String, System.Collections.Generic.List`1<int32>)
   at DynamicClass.SyncInvokeDownloadInventoryItemImage2(System.Object, System.Object[], System.Object[])
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(System.Object, System.Object[], System.Object[] ByRef)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(System.ServiceModel.Dispatcher.MessageRpc ByRef)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(System.ServiceModel.Dispatcher.MessageRpc ByRef)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(System.ServiceModel.Dispatcher.MessageRpc ByRef)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean)
   at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(System.ServiceModel.Channels.RequestContext, Boolean, System.ServiceModel.OperationContext)
   at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(System.ServiceModel.Channels.RequestContext, System.ServiceModel.OperationContext)
   at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(System.IAsyncResult)
   at System.Runtime.IOThreadScheduler+ScheduledOverlapped.IOCallback(UInt32, UInt32, System.Threading.NativeOverlapped)
   at System.Runtime.Fx+IOCompletionThunk.UnhandledExceptionFrame(UInt32, UInt32, System.Threading.NativeOverlapped)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)

This is the details on lastErrorText log:

No message has been log after the CompressBytes method has been called, because the app crashed right after calling it.

    DllDate: Aug 15 2013
    UnlockPrefix: NONE
    Architecture: Little Endian; 64-bit
    Language: .NET 4.5 / x64
    VerboseLogging: 0
    component: Compress
    unlockCode: --Secret--
      LibDate: Aug 15 2013
      requiresPerm: 0
      re-parsing expire date...
      Component successfully unlocked using permanent unlock code.

Help please?! Thanks!!

This question is marked "community wiki".

asked Feb 17 '14 at 23:23

eds's gravatar image


edited Feb 18 '14 at 21:42

Please try this new build:

32-bit: http://www.chilkatsoft.com/preRelease/ChilkatDotNet45-9.5.0-win32.zip

64-bit: http://www.chilkatsoft.com/preRelease/ChilkatDotNet45-9.5.0-x64.zip

Also, if using PPMD on 64-bit, it's best to switch to another compression algorithm because there are known problems with it. The 32-bit version is solid and has never had a problem. The other algorithms available w/ Chilkat.Compression are BZIP2, Deflate, and LZW.

Also, the PPMD algorithm comes in many variants. The one implemented by the Chilkat.Compression is the "J" variant. Chilkat has since implemented the "I" variant, which is the standard PPMD compression used in the ZipX format, which is handled by Chilkat Zip (for unzipping only at this point). Both 32-bit and 64-bit versions of the "I" variant are working without issues. When time allows, the "I" variant will be "plugged in" to the Chilkat.Compression class to make it available.


answered Feb 18 '14 at 22:41

chilkat's gravatar image

chilkat ♦♦

Thank you for the response! However, the problem still persist with the new DLL.

You are right, I have no problem with the other algorithms.

We will now be using BZIP2 instead of PPMD. But we are still looking forward to PPMD to work on Win Server 2012.

(Feb 20 '14 at 03:12) eds
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or __italic__
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: Feb 17 '14 at 23:23

Seen: 3,267 times

Last updated: Feb 20 '14 at 03:12

powered by OSQA