So...after debugging the VM, it looks it is crashing in DeflatePlugin >> encodeMatch: length distance: dist

encodeMatch: length distance: dist
    "Encode the given match of length length starting at dist bytes ahead"
    | literal distance |
    <inline: true>
    zipLiterals at: zipLiteralCount put: length - DeflateMinMatch.
    zipDistances at: zipLiteralCount put: dist.
    literal := (zipMatchLengthCodes at: length - DeflateMinMatch).
    zipLiteralFreq at: literal put: (zipLiteralFreq at: literal) + 1.
    dist < 257
        ifTrue:[distance := zipDistanceCodes at: dist - 1]
        ifFalse:[distance := zipDistanceCodes at: 256 + (dist - 1 bitShift: -7)].
    zipDistanceFreq at: distance put: (zipDistanceFreq at: distance) + 1.
    zipLiteralCount := zipLiteralCount + 1.
    zipMatchCount := zipMatchCount + 1.
    ^zipLiteralCount = zipLiteralSize "We *must* flush"
        or:[(zipLiteralCount bitAnd: 16rFFF) = 0 "Only check every N kbytes"
            and:[self shouldFlush]]

When it does:     zipDistanceFreq at: distance put: (zipDistanceFreq at: distance) + 1.
it gives a EXC_BAD_ACCESS.
distance value is 1444965993

The sender is #deflateBlock: lastIndex chainLength: chainLength goodMatch: goodMatch
and sender #primitiveDeflateBlock

If I do a call printAllStacks(), I get this part:

(gdb) call printAllStacks()
Process 0x1f70c924 priority 40
0xbff65968 M GZipWriteStream(DeflateStream)>deflateBlock 555574892: a(n) GZipWriteStream
0xbff6598c M GZipWriteStream(DeflateStream)>nextPutAll: 555574892: a(n) GZipWriteStream
0xbff659a8 M GZipWriteStream(DeflateStream)>next:putAll:startingAt: 555574892: a(n) GZipWriteStream
0xbff659cc M FLBufferedWriteStream>flushBuffer 556072120: a(n) FLBufferedWriteStream
0xbff659e4 M FLBufferedWriteStream>nextBytesPutAll: 556072120: a(n) FLBufferedWriteStream
0xbff65a04 M FLBufferedWriteStream>nextStringPut: 556072120: a(n) FLBufferedWriteStream
0xbff65a24 M [] in FLVariablesMapping>serializeMappingOn: 557179132: a(n) FLVariablesMapping
0xbff65a44 M OrderedCollection>do: 557179148: a(n) OrderedCollection
0xbff65a64 M FLVariablesMapping>serializeMappingOn: 557179132: a(n) FLVariablesMapping
0xbff65a80 M FLFixedObjectCluster(FLPointerObjectCluster)>serializeInstancesStepWith: 556081188: a(n) FLFixedObjectCluster
0xbff65a9c M FLSerialization>clusterInstancesStepOf: 556076884: a(n) FLSerialization
0xbff65ab8 M [] in FLSerialization>instancesStep 556076884: a(n) FLSerialization


And from the gdb I get:

#0    0x000b3721 in deflateBlockchainLengthgoodMatch at ZipPlugin.c:303
#1    0x000b4a62 in primitiveDeflateBlock at ZipPlugin.c:719
#2    0x1f400858 in ??
#3    0x00067820 in threadSchedulingLoop at gcc3x-cointerpmt.c:45853
#4    0x0003d79b in initialEnterSmalltalkExecutive at gcc3x-cointerpmt.c:18372
#5    0x0003e45f in initStackPagesAndInterpret at gcc3x-cointerpmt.c:18839
#6    0x00022ae8 in interpret at gcc3x-cointerpmt.c:2076
#7    0x0006df20 in -[sqSqueakMainApplication runSqueak] at sqSqueakMainApplication.m:174
#8    0x92ee186c in __NSFirePerformWithOrder
#9    0x967fadd2 in __CFRunLoopDoObservers
#10    0x967b6ced in __CFRunLoopRun
#11    0x967b63c4 in CFRunLoopRunSpecific
#12    0x967b61f1 in CFRunLoopRunInMode
#13    0x98262e04 in RunCurrentEventLoopInMode
#14    0x98262af5 in ReceiveNextEventCommon
#15    0x98262a3e in BlockUntilNextEventMatchingListInMode
#16    0x93159595 in _DPSNextEvent
#17    0x93158dd6 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
#18    0x9311b1f3 in -[NSApplication run]
#19    0x93113289 in NSApplicationMain
#20    0x0006bec9 in main at main.m:52


Any pointer is appreaciated.

THanks



On Fri, Dec 2, 2011 at 11:57 PM, Diogenes Moreira <diogenes.moreira@gmail.com> wrote:
en que SO estas corriendo..primitiva ??
por otro lado que tenes en el PharoDebug.Log

http://about.me/diogenes.moreira



2011/12/2 Mariano Martinez Peck <marianopeck@gmail.com>:
> Hi guys. We are doing some experiments with Fuel and GZip streams... Now I
> have a beatiful test like this:
>
> testMethodContextThisContext
>
>     | materializedContext context |
>     context := thisContext copy.
>     materializedContext := self resultOfSerializeAndMaterialize: context.
>
> and it crashes like crazy. From the VM crash stack, I can see:
>
>
> Smalltalk stack dump:
> 0xbff66ba4 M GZipWriteStream(DeflateStream)>deflateBlock 447551436: a(n)
> GZipWriteStream
> 0xbff66bc8 M GZipWriteStream(DeflateStream)>nextPutAll: 447551436: a(n)
> GZipWriteStream
> 0xbff66be4 M GZipWriteStream(DeflateStream)>next:putAll:startingAt:
> 447551436: a(n) GZipWriteStream
> 0xbff66c08 M FLBufferedWriteStream>flushBuffer 448048664: a(n)
> FLBufferedWriteStream
> 0xbff66c20 M FLBufferedWriteStream>nextBytesPutAll: 448048664: a(n)
> FLBufferedWriteStream
> 0xbff66c40 M FLBufferedWriteStream>nextStringPut: 448048664: a(n)
> FLBufferedWriteStream
> 0xbff66c5c M FLByteStringCluster>serialize:on: 448054196: a(n)
> FLByteStringCluster
> 0xbff66c7c M FLByteStringCluster(FLPrimitiveCluster)>serializeInstance:with:
> 448054196: a(n) FLByteStringCluster
> 0xbff66ca0 M [] in
> FLByteStringCluster(FLIteratingCluster)>serializeInstances: 448054196: a(n)
> FLByteStringCluster
> 0xbff66cc8 M IdentitySet(Set)>do: 451711680: a(n) IdentitySet
> 0xbff66ce4 M FLByteStringCluster(FLIteratingCluster)>serializeInstances:
> 448054196: a(n) FLByteStringCluster
> 0xbff66d00 M
> FLByteStringCluster(FLIteratingCluster)>serializeInstancesStepWith:
> 448054196: a(n) FLByteStringCluster
> 0xbff66d1c M FLSerialization>clusterInstancesStepOf: 448053428: a(n)
> FLSerialization
> 0xbff66d38 M [] in FLSerialization>instancesStep 448053428: a(n)
> FLSerialization
> 0xbff66d58 M OrderedCollection>do: 449989736: a(n) OrderedCollection
> 0xbff66d74 M FLSerialization>instancesStep 448053428: a(n) FLSerialization
> 0xbff66d8c M FLSerialization>run 448053428: a(n) FLSerialization
> 0xbff66db0 I [] in FLSerializer>defaultSerialization 447550464: a(n)
> FLSerializer
> 0xbff66dd8 M [] in FLSerializer>serialize:on: 447550464: a(n) FLSerializer
> 0xbff66df8 M BlockClosure>ensure: 448052884: a(n) BlockClosure
> 0xbff66e18 M FLSerializer>serialize:on: 447550464: a(n) FLSerializer
> 0xbff66e3c M [] in
> FLMethodContextSerializationTest(FLSerializationTest)>serialize: 447235380:
> a(n) FLMethodContextSerializationTest
> 0xbff66e60 M [] in GZipWriteStream class(PositionableStream class)>on:do:
> 419845144: a(n) GZipWriteStream class
> 0xbff66e80 M BlockClosure>ensure: 448048616: a(n) BlockClosure
> 0xbff66ea0 M GZipWriteStream class(PositionableStream class)>on:do:
> 419845144: a(n) GZipWriteStream class
> 0xbff66ec4 M [] in FLGZipStrategy>writeStreamDo: 447550896: a(n)
> FLGZipStrategy
> 0xbff66ee0 M FLByteArrayStreamStrategy>writeStreamDo: 447550884: a(n)
> FLByteArrayStreamStrategy
> 0xbff66efc M FLGZipStrategy>writeStreamDo: 447550896: a(n) FLGZipStrategy
> 0xbff66f18 M
> FLMethodContextSerializationTest(FLSerializationTest)>serialize: 447235380:
> a(n) FLMethodContextSerializationTest
> 0xbff66f34 M
> FLMethodContextSerializationTest(FLSerializationTest)>resultOfSerializeAndMaterialize:
> 447235380: a(n) FLMethodContextSerializationTest
> 0xbff66f58 M FLMethodContextSerializationTest>testMethodContextThisContext
> 447235380: a(n) FLMethodContextSerializationTest
>
>
> any idea of where I should start to look at?
>
> Thanks
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>



--
Mariano
http://marianopeck.wordpress.com