<div dir="ltr"><div dir="ltr">Hi Alistair,<div><br></div><div><br></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Oct 25, 2018 at 9:49 AM Alistair Grant <<a href="mailto:akgrant0710@gmail.com">akgrant0710@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"> <br>
Hi Eliot,<br>
<br>
On Tue, Oct 23, 2018 at 06:38:41AM +0000, Alistair Grant wrote:<br>
> Hi Eliot,<br>
> <br>
> Calling #primitiveFailForOSError: fails in the simulator (I guess I'm<br>
> the first person to use it :-)).  It works properly in a real VM, of<br>
> course.<br>
<br>
I (think) I take this back.  It looks like the debug VM will crash in<br>
about the same place:<br>
<br>
<br>
$ ~/vmmaker/opensmalltalk-vm/products/debug/cogspur64linuxht/pharo -gdb Pharo.image<br>
<br>
run Pharo.image<br>
<br>
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1<br>
Copyright (C) 2016 Free Software Foundation, Inc.<br>
License GPLv3+: GNU GPL version 3 or later <<a href="http://gnu.org/licenses/gpl.html" rel="noreferrer" target="_blank">http://gnu.org/licenses/gpl.html</a>><br>
This is free software: you are free to change and redistribute it.<br>
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"<br>
and "show warranty" for details.<br>
This GDB was configured as "x86_64-linux-gnu".<br>
Type "show configuration" for configuration details.<br>
For bug reporting instructions, please see:<br>
<<a href="http://www.gnu.org/software/gdb/bugs/" rel="noreferrer" target="_blank">http://www.gnu.org/software/gdb/bugs/</a>>.<br>
Find the GDB manual and other documentation resources online at:<br>
<<a href="http://www.gnu.org/software/gdb/documentation/" rel="noreferrer" target="_blank">http://www.gnu.org/software/gdb/documentation/</a>>.<br>
For help, type "help".<br>
Type "apropos word" to search for commands related to "word"...<br>
Reading symbols from /home/alistair/vmmaker/opensmalltalk-vm/products/debug/cogspur64linuxht/lib/pharo/5.0-201810160053-FileAttributesPlugin203/pharo...done.<br>
(gdb) run Pharo.image<br>
Starting program: /home/alistair/vmmaker/opensmalltalk-vm/products/debug/cogspur64linuxht/lib/pharo/5.0-201810160053-FileAttributesPlugin203/pharo Pharo.image<br>
[Thread debugging using libthread_db enabled]<br>
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".<br>
[New Thread 0x7ffff625f700 (LWP 15319)]<br></blockquote><div><br></div><div>OK, I'll take a look.  I wonder have you installed the prototype in the specialObjectsArray? </div><div><br></div><div><div><span class="gmail-Apple-tab-span" style="white-space:pre">     </span>newArray at: 52 put: #(nil "nil => generic error" #'bad receiver'</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                                 </span>#'bad argument' #'bad index'</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                                   </span>#'bad number of arguments'</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                                     </span>#'inappropriate operation'  #'unsupported operation'</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                                  </span>#'no modification' #'insufficient object memory'</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                                       </span>#'insufficient C memory' #'not found' #'bad method'</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                                    </span>#'internal error in named primitive machinery'</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                                 </span>#'object may move' #'resource limit exceeded'</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                                  </span>#'object is pinned' #'primitive write beyond end of object'</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                                    </span>#'object moved' #'object not pinned' #'callback error'),</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                                       </span>{PrimitiveError new errorName: #'operating system error'; yourself.</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                                    </span> ExceptionInFFICallError new errorName: #'exception in FFI call'; yourself}.</div></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
...<br>
<br>
Thread 1 "pharo" received signal SIGSEGV, Segmentation fault.<br>
0x000000000047d81e in instSpecOfClass (classPointer=524377) at /home/alistair/vmmaker/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:50370<br>
50370           classFormat = ((longAt((classPointer + BaseHeaderSize) + (((sqInt)((usqInt)(InstanceSpecificationIndex) << (shiftForWord())))))) >> 3);<br>
(gdb) where<br>
#0  0x000000000047d81e in instSpecOfClass (classPointer=524377) at /home/alistair/vmmaker/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:50370<br>
#1  0x000000000049da8c in getErrorObjectFromPrimFailCode () at /home/alistair/vmmaker/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:65422<br>
#2  0x00000000004aa547 in reapAndResetErrorCodeToheader (theSP=0x7fffffff73d0 "\200\215\t\002", methodHeader=275251281) at /home/alistair/vmmaker/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:71653<br>
#3  0x0000000000435474 in activateCoggedNewMethod (inInterpreter=0) at /home/alistair/vmmaker/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:14171<br>
#4  0x0000000000437422 in ceActivateFailingPrimitiveMethod (aPrimitiveMethod=38699480) at /home/alistair/vmmaker/opensmalltalk-vm/spur64src/vm/gcc3x-cointerp.c:14920<br>
#5  0x0000000000a01656 in ?? ()<br>
#6  0x0000000000000000 in ?? ()<br>
(gdb) call printCallStack()<br>
    0x7fffffff73f0 M File class>primFileAttribute:number: 0x20b6250: a(n) File class<br>
    0x7fffffff7430 M File class>fileAttribute:number: 0x20b6250: a(n) File class<br>
    0x7fffffff7470 M File class>modeOf: 0x20b6250: a(n) File class<br>
    0x7fffffff74b8 M [] in File class>isDirectory: 0x20b6250: a(n) File class<br>
    0x7fffffff74e8 M BlockClosure>on:do: 0x1e41eb0: a(n) BlockClosure<br>
    0x7fffffff7528 M File class>isDirectory: 0x20b6250: a(n) File class<br>
    0x7fffffff7560 M UnixStore(DiskStore)>isDirectory: 0xb909d8: a(n) UnixStore<br>
    0x7fffffff7598 M FileSystem>isDirectory: 0xb5ede8: a(n) FileSystem<br>
    0x7fffffff75d0 M FileReference>isDirectory 0x1e41a98: a(n) FileReference<br>
    0x7fffffff7610 M StartupPreferencesHandler>lookInFolder:forFilesMatching: 0x1e31eb0: a(n) StartupPreferencesHandler<br>
    0x7fffffff7668 I StartupPreferencesHandler>lookInPreferencesVersionFolder 0x1e31eb0: a(n) StartupPreferencesHandler<br>
    0x7fffffff7698 M [] in StartupPreferencesHandler>buildActionList 0x1e31eb0: a(n) StartupPreferencesHandler<br>
    0x7fffffff76d8 M [] in StartupPreferencesHandler>perform 0x1e31eb0: a(n) StartupPreferencesHandler<br>
    0x7fffffff7720 M OrderedCollection>do: 0x1e31ec8: a(n) OrderedCollection<br>
    0x7fffffff7770 I StartupPreferencesHandler>perform 0x1e31eb0: a(n) StartupPreferencesHandler<br>
    0x7ffffffef2b8 I StartupPreferencesLoader>retrieveFilesStream 0x1e31ce0: a(n) StartupPreferencesLoader<br>
    0x7ffffffef2f0 M [] in StartupPreferencesLoader>loadFromDefaultLocations 0x1e31ce0: a(n) StartupPreferencesLoader<br>
    0x7ffffffef320 M BlockClosure>on:do: 0x1e31e70: a(n) BlockClosure<br>
    0x7ffffffef370 I StartupPreferencesLoader>loadFromDefaultLocations 0x1e31ce0: a(n) StartupPreferencesLoader<br>
    0x7ffffffef3a0 M [] in PharoCommandLineHandler>runPreferences 0xb8e980: a(n) PharoCommandLineHandler<br>
    0x7ffffffef3d8 M BlockClosure>cull: 0x1e31cc0: a(n) BlockClosure<br>
    0x7ffffffef418 M SystemDictionary(Dictionary)>at:ifPresent: 0x20c38c0: a(n) SystemDictionary<br>
    0x7ffffffef468 I SmalltalkImage>at:ifPresent: 0x20bc2d8: a(n) SmalltalkImage<br>
    0x7ffffffef4b8 I PharoCommandLineHandler>runPreferences 0xb8e980: a(n) PharoCommandLineHandler<br>
    0x7ffffffef4f8 I PharoCommandLineHandler>activate 0xb8e980: a(n) PharoCommandLineHandler<br>
    0x7ffffffef538 I PharoCommandLineHandler class(CommandLineHandler class)>activateWith: 0x20bd548: a(n) PharoCommandLineHandler class<br>
    0x7ffffffef588 I [] in PharoCommandLineHandler class>activateWith: 0x20bd548: a(n) PharoCommandLineHandler class<br>
    0x7ffffffef5d8 I WorldState>runStepMethodsIn: 0x27ecec8: a(n) WorldState<br>
    0x7ffffffef620 I WorldMorph>runStepMethods 0x27d3658: a(n) WorldMorph<br>
    0x7ffffffef660 I WorldState>doOneCycleNowFor: 0x27ecec8: a(n) WorldState<br>
    0x7ffffffef6a8 I WorldState>doOneCycleFor: 0x27ecec8: a(n) WorldState<br>
    0x7ffffffef6f0 I WorldMorph>doOneCycle 0x27d3658: a(n) WorldMorph<br>
    0x7ffffffef730 I WorldMorph class>doOneCycle 0x27d1e68: a(n) WorldMorph class<br>
    0x7ffffffef770 I [] in MorphicUIManager>spawnNewProcess 0x331d040: a(n) MorphicUIManager<br>
         0x331d128 s [] in BlockClosure>newProcess<br>
<br>
<br>
Cheers,<br>
Alistair<br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div></div>