[Vm-dev] Image crashing on startup, apparently during GC
Eliot Miranda
eliot.miranda at gmail.com
Fri Mar 23 20:52:44 UTC 2018
Hi Damien,
On Fri, Mar 23, 2018 at 12:38 PM, Damien Pollet <damien.pollet at gmail.com>
wrote:
>
> Here are the files (image and various outputs). Running with --leakcheck
> does mention a few object leaks (see output.txt);
>
Indeed the image is corrupt at start-up. See below.
> I'm not sure where to get or how to build an assert VM.
>
When you build a phar. VM under build.macos64x64/pharo.cog.spur using the
mvm script (mvm -A) you produce an assert VM in PharoAssert.app.
> I also realized the VM I had was from this summer (the one that comes with
> a 70 image with zeroconf). The output files I include were produced by the
> VM at get.pharo.org/64/vmLatest70
>
> https://www.dropbox.com/s/y8yqjuzd9nsvy1u/clap-broken.tar.gz?dl=0
>
> On 20 March 2018 at 18:17, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>
>>
>> Hi Damien,
>>
>> On Tue, Mar 20, 2018 at 3:12 AM, Damien Pollet <damien.pollet at gmail.com>
>> wrote:
>>
>>>
>>> Hi, I have a Pharo image that crashes the VM on startup. The crash
>>> report below seems to incriminate GC. Should I make it available somewhere
>>> online? What's most convenient?
>>>
>>
>> Don't care. Anywhere it can be downloaded from. Also, try running with
>> -leakcheck 15, preferably in an assert VM and see if that gets you
>> additional information.
>>
>>
>>>
>>> Process: Pharo [64892]
>>> Path: /Users/USER/*/Pharo.app/Contents/MacOS/Pharo
>>> Identifier: org.pharo.Pharo
>>> Version: 5.0.201708271955 (5.0.201708271955)
>>>
>>
Right. This VM is prior to the bug fixes in VMMaker.oscog-eem.2320:
Spur:
Fix a bad bug in SpurPlnningCompactor. unmarkObjectsFromFirstFreeObject,
used when the compactor requires more than one pass due to insufficient
savedFirstFieldsSpace, expects the corpse of a moved object to be unmarked,
but copyAndUnmarkObject:to:bytes:firstField: only unmarked the target.
Unmarking the corpse before the copy unmarks both. This fixes a crash with
ReleaseBuilder class>>saveAsNewRelease when non-use of cacheDuring: creates
lots of files, enough to push the system into the multi-pass regime.
Pharo urgently needs to upgrade the VM to one more up to date than 2017 08
27 (in fact more up-to-date than opensmalltalk/vm commit
0fe1e1ea108e53501a0e728736048062c83a66ce, Fri Jan 19 13:17:57 2018 -0800).
The bug that VMMaker.oscog-eem.2320 fixes can result in image corruption in
large images, and can occur (as it has here) at start-up, causing one's
work to be irretrievably lost.
> Code Type: X86-64 (Native)
>>> Parent Process: ??? [64888]
>>> Responsible: Pharo [64892]
>>> User ID: 501
>>>
>>> Date/Time: 2018-03-19 20:27:03.906 +0100
>>> OS Version: Mac OS X 10.13.3 (17D102)
>>> Report Version: 12
>>> Anonymous UUID: 6D022236-78DD-6676-117F-EADA56D5D1BE
>>>
>>> Sleep/Wake UUID: AC9E4E55-3CDB-4B4F-A6B4-51ACB1177154
>>>
>>> Time Awake Since Boot: 28000 seconds
>>> Time Since Wake: 6500 seconds
>>>
>>> System Integrity Protection: enabled
>>>
>>> Crashed Thread: 0 Dispatch queue: com.apple.main-thread
>>>
>>> Exception Type: EXC_BAD_ACCESS (SIGABRT)
>>> Exception Codes: KERN_INVALID_ADDRESS at 0x000000012b67c0b0
>>> Exception Note: EXC_CORPSE_NOTIFY
>>>
>>> VM Regions Near 0x12b67c0b0:
>>> VM_ALLOCATE 000000011adfc000-00000001259fc000 [172.0M]
>>> rw-/rwx SM=PRV
>>> -->
>>> STACK GUARD 0000700005613000-0000700005614000 [ 4K]
>>> ---/rwx SM=NUL stack guard for thread 1
>>>
>>> Application Specific Information:
>>> abort() called
>>>
>>> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
>>> 0 libsystem_kernel.dylib 0x00007fff53fbde3e __pthread_kill + 10
>>> 1 libsystem_pthread.dylib 0x00007fff540fc150 pthread_kill + 333
>>> 2 libsystem_c.dylib 0x00007fff53f1a312 abort + 127
>>> 3 org.pharo.Pharo 0x0000000104ed8997 sigsegv + 190
>>> 4 libsystem_platform.dylib 0x00007fff540eff5a _sigtramp + 26
>>> 5 ??? 000000000000000000 0 + 0
>>> 6 org.pharo.Pharo 0x0000000104e73558 markObjects + 464
>>> 7 org.pharo.Pharo 0x0000000104e72d40 fullGC + 72
>>> 8 org.pharo.Pharo 0x0000000104e92dea primitiveFullGC +
>>> 45
>>> 9 org.pharo.Pharo 0x0000000104e52425 interpret + 26715
>>> 10 org.pharo.Pharo 0x0000000104e5c7f6
>>> enterSmalltalkExecutiveImplementation + 152
>>> 11 org.pharo.Pharo 0x0000000104e4be6c interpret + 674
>>> 12 org.pharo.Pharo 0x0000000104ed9cc1
>>> -[sqSqueakMainApplication runSqueak] + 394
>>> 13 com.apple.Foundation 0x00007fff2e6d696c
>>> __NSFirePerformWithOrder + 360
>>> 14 com.apple.CoreFoundation 0x00007fff2c579127
>>> __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
>>> 15 com.apple.CoreFoundation 0x00007fff2c57904f
>>> __CFRunLoopDoObservers + 527
>>> 16 com.apple.CoreFoundation 0x00007fff2c55b6a8 __CFRunLoopRun +
>>> 1240
>>> 17 com.apple.CoreFoundation 0x00007fff2c55af43
>>> CFRunLoopRunSpecific + 483
>>> 18 com.apple.HIToolbox 0x00007fff2b872e26
>>> RunCurrentEventLoopInMode + 286
>>> 19 com.apple.HIToolbox 0x00007fff2b872a9f
>>> ReceiveNextEventCommon + 366
>>> 20 com.apple.HIToolbox 0x00007fff2b872914
>>> _BlockUntilNextEventMatchingListInModeWithFilter + 64
>>> 21 com.apple.AppKit 0x00007fff29b3df5f _DPSNextEvent +
>>> 2085
>>> 22 com.apple.AppKit 0x00007fff2a2d3b4c
>>> -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]
>>> + 3044
>>> 23 com.apple.AppKit 0x00007fff29b32d6d -[NSApplication
>>> run] + 764
>>> 24 com.apple.AppKit 0x00007fff29b01f1a NSApplicationMain
>>> + 804
>>>
>>> --
>>> Damien Pollet
>>> type less, do more [ | ] http://people.untyped.org/damien.pollet
>>>
>>>
>>
>>
>> --
>> _,,,^..^,,,_
>> best, Eliot
>>
>>
>
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet
>
>
--
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20180323/09a59ee4/attachment-0001.html>
More information about the Vm-dev
mailing list