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

Eliot Miranda eliot.miranda at gmail.com
Thu Oct 25 17:34:24 UTC 2018


Hi Alistair,



On Thu, Oct 25, 2018 at 9:49 AM Alistair Grant <akgrant0710 at gmail.com>
wrote:

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

OK, I'll take a look.  I wonder have you installed the prototype in the
specialObjectsArray?

newArray at: 52 put: #(nil "nil => generic error" #'bad receiver'
#'bad argument' #'bad index'
#'bad number of arguments'
#'inappropriate operation'  #'unsupported operation'
#'no modification' #'insufficient object memory'
#'insufficient C memory' #'not found' #'bad method'
#'internal error in named primitive machinery'
#'object may move' #'resource limit exceeded'
#'object is pinned' #'primitive write beyond end of object'
#'object moved' #'object not pinned' #'callback error'),
{PrimitiveError new errorName: #'operating system error'; yourself.
ExceptionInFFICallError new errorName: #'exception in FFI call'; yourself}.


> ...
>
> 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
>
>

-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20181025/b6c716f3/attachment-0001.html>


More information about the Vm-dev mailing list