[Vm-dev] primitiveFailForOSError: causes assertion failure in the simulator

Alistair Grant akgrant0710 at gmail.com
Thu Oct 25 16:49:01 UTC 2018


Hi Eliot,

On Tue, Oct 23, 2018 at 06:38:41AM +0000, Alistair Grant wrote:
> Hi Eliot,
> 
> Calling #primitiveFailForOSError: fails in the simulator (I guess I'm
> the first person to use it :-)).  It works properly in a real VM, of
> course.

I (think) I take this back.  It looks like the debug VM will crash in
about the same place:


$ ~/vmmaker/opensmalltalk-vm/products/debug/cogspur64linuxht/pharo -gdb Pharo.image

run Pharo.image

GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/alistair/vmmaker/opensmalltalk-vm/products/debug/cogspur64linuxht/lib/pharo/5.0-201810160053-FileAttributesPlugin203/pharo...done.
(gdb) run Pharo.image
Starting program: /home/alistair/vmmaker/opensmalltalk-vm/products/debug/cogspur64linuxht/lib/pharo/5.0-201810160053-FileAttributesPlugin203/pharo Pharo.image
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff625f700 (LWP 15319)]

...

Thread 1 "pharo" received signal SIGSEGV, Segmentation fault.
0x000000000047d81e in instSpecOfClass (classPointer=524377) at /home/alistair/vmmaker/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:50370
50370		classFormat = ((longAt((classPointer + BaseHeaderSize) + (((sqInt)((usqInt)(InstanceSpecificationIndex) << (shiftForWord())))))) >> 3);
(gdb) where
#0  0x000000000047d81e in instSpecOfClass (classPointer=524377) at /home/alistair/vmmaker/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:50370
#1  0x000000000049da8c in getErrorObjectFromPrimFailCode () at /home/alistair/vmmaker/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:65422
#2  0x00000000004aa547 in reapAndResetErrorCodeToheader (theSP=0x7fffffff73d0 "\200\215\t\002", methodHeader=275251281) at /home/alistair/vmmaker/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:71653
#3  0x0000000000435474 in activateCoggedNewMethod (inInterpreter=0) at /home/alistair/vmmaker/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:14171
#4  0x0000000000437422 in ceActivateFailingPrimitiveMethod (aPrimitiveMethod=38699480) at /home/alistair/vmmaker/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:14920
#5  0x0000000000a01656 in ?? ()
#6  0x0000000000000000 in ?? ()
(gdb) call printCallStack()
    0x7fffffff73f0 M File class>primFileAttribute:number: 0x20b6250: a(n) File class
    0x7fffffff7430 M File class>fileAttribute:number: 0x20b6250: a(n) File class
    0x7fffffff7470 M File class>modeOf: 0x20b6250: a(n) File class
    0x7fffffff74b8 M [] in File class>isDirectory: 0x20b6250: a(n) File class
    0x7fffffff74e8 M BlockClosure>on:do: 0x1e41eb0: a(n) BlockClosure
    0x7fffffff7528 M File class>isDirectory: 0x20b6250: a(n) File class
    0x7fffffff7560 M UnixStore(DiskStore)>isDirectory: 0xb909d8: a(n) UnixStore
    0x7fffffff7598 M FileSystem>isDirectory: 0xb5ede8: a(n) FileSystem
    0x7fffffff75d0 M FileReference>isDirectory 0x1e41a98: a(n) FileReference
    0x7fffffff7610 M StartupPreferencesHandler>lookInFolder:forFilesMatching: 0x1e31eb0: a(n) StartupPreferencesHandler
    0x7fffffff7668 I StartupPreferencesHandler>lookInPreferencesVersionFolder 0x1e31eb0: a(n) StartupPreferencesHandler
    0x7fffffff7698 M [] in StartupPreferencesHandler>buildActionList 0x1e31eb0: a(n) StartupPreferencesHandler
    0x7fffffff76d8 M [] in StartupPreferencesHandler>perform 0x1e31eb0: a(n) StartupPreferencesHandler
    0x7fffffff7720 M OrderedCollection>do: 0x1e31ec8: a(n) OrderedCollection
    0x7fffffff7770 I StartupPreferencesHandler>perform 0x1e31eb0: a(n) StartupPreferencesHandler
    0x7ffffffef2b8 I StartupPreferencesLoader>retrieveFilesStream 0x1e31ce0: a(n) StartupPreferencesLoader
    0x7ffffffef2f0 M [] in StartupPreferencesLoader>loadFromDefaultLocations 0x1e31ce0: a(n) StartupPreferencesLoader
    0x7ffffffef320 M BlockClosure>on:do: 0x1e31e70: a(n) BlockClosure
    0x7ffffffef370 I StartupPreferencesLoader>loadFromDefaultLocations 0x1e31ce0: a(n) StartupPreferencesLoader
    0x7ffffffef3a0 M [] in PharoCommandLineHandler>runPreferences 0xb8e980: a(n) PharoCommandLineHandler
    0x7ffffffef3d8 M BlockClosure>cull: 0x1e31cc0: a(n) BlockClosure
    0x7ffffffef418 M SystemDictionary(Dictionary)>at:ifPresent: 0x20c38c0: a(n) SystemDictionary
    0x7ffffffef468 I SmalltalkImage>at:ifPresent: 0x20bc2d8: a(n) SmalltalkImage
    0x7ffffffef4b8 I PharoCommandLineHandler>runPreferences 0xb8e980: a(n) PharoCommandLineHandler
    0x7ffffffef4f8 I PharoCommandLineHandler>activate 0xb8e980: a(n) PharoCommandLineHandler
    0x7ffffffef538 I PharoCommandLineHandler class(CommandLineHandler class)>activateWith: 0x20bd548: a(n) PharoCommandLineHandler class
    0x7ffffffef588 I [] in PharoCommandLineHandler class>activateWith: 0x20bd548: a(n) PharoCommandLineHandler class
    0x7ffffffef5d8 I WorldState>runStepMethodsIn: 0x27ecec8: a(n) WorldState
    0x7ffffffef620 I WorldMorph>runStepMethods 0x27d3658: a(n) WorldMorph
    0x7ffffffef660 I WorldState>doOneCycleNowFor: 0x27ecec8: a(n) WorldState
    0x7ffffffef6a8 I WorldState>doOneCycleFor: 0x27ecec8: a(n) WorldState
    0x7ffffffef6f0 I WorldMorph>doOneCycle 0x27d3658: a(n) WorldMorph
    0x7ffffffef730 I WorldMorph class>doOneCycle 0x27d1e68: a(n) WorldMorph class
    0x7ffffffef770 I [] in MorphicUIManager>spawnNewProcess 0x331d040: a(n) MorphicUIManager
         0x331d128 s [] in BlockClosure>newProcess


Cheers,
Alistair



More information about the Vm-dev mailing list