[Vm-dev] CogVM crash when printing related to #cannotInterpret:

Mariano Martinez Peck marianopeck at gmail.com
Mon Oct 3 21:19:41 UTC 2011


Hi Eliot. So...I have to reproducible cases. Both related to the use of
#cannotInterpret.
The first one, needs a little bit of humane action. The image is here:
https://gforge.inria.fr/frs/download.php/29177/Archive2.zip
To reproduce, execute what is in the workspace, and when the popup of the
DNU brings up, try to click in the line of the debugger
"RegularObjectProxy(ObjectProxyInterceptor)>>cannotInterpret". When you do
that, another debugger will appear. Now, if you click again in the same line
(but in the new debugger), if you do this 2 or 3 or more times, it will
crash. With previous VMs, I can open as much debuggers as I want without
crashing.
I can create a screencast and put it in youtube if it helps.
This is the issue I told you I thought it was related to MethodContext >>
printDetails:

The second one, is in this image:
https://gforge.inria.fr/frs/download.php/29176/Archive.zip
You just have to evaluate the unique line it is in the workspace and it will
crash for sure in the first shoot. There are some explanations on it also.
This issue, may be related with the previous one, but I am not sure.

I hope I am not doing something wrong causing loose your time.

Thanks a lot in advance,



On Mon, Oct 3, 2011 at 10:21 PM, Eliot Miranda <eliot.miranda at gmail.com>wrote:

>
>
> On Mon, Oct 3, 2011 at 1:15 PM, Mariano Martinez Peck <
> marianopeck at gmail.com> wrote:
>
>>
>>
>> On Mon, Oct 3, 2011 at 10:13 PM, Eliot Miranda <eliot.miranda at gmail.com>wrote:
>>
>>> Hi Mariano,
>>>
>>>     can you create an image that exhibits the crash from start-up?  If
>>> so, please email it to me and I'll fix this asap.
>>>
>>>
>> Eliot, by start-up you mean start-up list or I can just prepare the image
>> with a test you can run?
>>
>
> I mean a doit that crashes the VM. You say, e.g.
>
>     Smalltalk saveAs.
>     self crashTheSystem
>
> Now when you start-up this image it will do self crashTheSystem and ...
> crash.  So substitute whatever code you want for crashTheSystem.  Note you
> can evaluate Smalltalk saveAs anywhere, even in an inspector on some object
> that implements a method you want to evaluate.  Snapshot is like unix's
> fork.
>
> e.g. when I create my command-line threaded example I evaluate
>
> Smalltalk saveAs. "startreader"
> [[Processor activeProcess bindToThreadId: 2]
> on: Error
>  do: [:ex|].
>  StdioListener new run] forkAt: Processor activePriority + 1
>
> Make sense?
>
> Thanks a lot!
>>
>>
>>
>>>
>>> On Mon, Oct 3, 2011 at 2:35 AM, Mariano Martinez Peck <
>>> marianopeck at gmail.com> wrote:
>>>
>>>>
>>>> Hi Eliot. I am testing your very last VM r2496, CogMT in Mac OS 10.6.8.
>>>> I am using the trick of #cannotInterpret: and I discover a problem with it.
>>>> Basically, it is when doing something like this:
>>>>
>>>> MyProxy >> cannotInterpret: aMessage
>>>>
>>>> Error signal: 'ups...'.
>>>>
>>>> In this case, the debugger comes in but after one or 2 times I press in
>>>> the debugger line of #cannotInterpret: (to debug it), it crashes. As far as
>>>> I could see with gdb, the problem is in MethodContext >> #printDetails:
>>>> If I comment the contents of such method, I have no crash at all. I
>>>> think that in this scenario where I throw an arror inside #cannotInterpret
>>>> can reach a situation where you don't have temps or values or receiver or
>>>> something and that's why it crash.
>>>> Furthermore, previous VM version, do NOT have this problem.
>>>>
>>>> I will try to dig a little more, but if you give me a hint, I appreciate
>>>> it.
>>>>
>>>> Here is the bt and the stack:
>>>>
>>>> Program received signal EXC_BAD_ACCESS, Could not access memory.
>>>> Reason: KERN_PROTECTION_FAILURE at address: 0x00000026
>>>> 0x000d8356 in methodHasCogMethod ()
>>>> (gdb) bt
>>>> #0  0x000d8356 in methodHasCogMethod ()
>>>> #1  0x000c7899 in
>>>> cogPICSelectornumArgsCase0MethodCase1MethodtagisMNUCase ()
>>>> #2  0x000d6eea in ceSICMiss ()
>>>> #3  0x13ffc35c in ?? ()
>>>> #4  0x00107a05 in threadSchedulingLoop ()
>>>> #5  0x00108c38 in initStackPagesAndInterpret ()
>>>> #6  0x0005d964 in EventLoopEventHandler ()
>>>> #7  0x98c66c2f in DispatchEventToHandlers ()
>>>> #8  0x98c65ef6 in SendEventToEventTargetInternal ()
>>>> #9  0x98c65d55 in SendEventToEventTargetWithOptions ()
>>>> #10 0x98c9aa24 in ToolboxEventDispatcherHandler ()
>>>> #11 0x98c67080 in DispatchEventToHandlers ()
>>>> #12 0x98c65ef6 in SendEventToEventTargetInternal ()
>>>> #13 0x98c887f3 in SendEventToEventTarget ()
>>>> #14 0x98e11c17 in ToolboxEventDispatcher ()
>>>> #15 0x98e11d4f in RunApplicationEventLoop ()
>>>> #16 0x0005d18a in RunApplicationEventLoopWithSqueak ()
>>>> #17 0x0006ebf7 in main ()
>>>>
>>>>
>>>>
>>>> (gdb) call (int) printAllStacks()
>>>> Process 0x171793f8 priority 40
>>>> 0xbff69d64 M [] in MethodContext>printDetails: 387422092: a(n)
>>>> MethodContext
>>>> 0xbff69d80 M BlockClosure>on:do: 388720820: a(n) BlockClosure
>>>> 0xbff69da0 M BlockClosure>ifError: 388720820: a(n) BlockClosure
>>>> 0xbff69dc8 M MethodContext>printDetails: 387422092: a(n) MethodContext
>>>> 0xbff69df0 M MethodContext(ContextPart)>errorReportOn: 387418688: a(n)
>>>> MethodContext
>>>> 0xbff69e1c I [] in SmalltalkImage>logError:inContext: 340435416: a(n)
>>>> SmalltalkImage
>>>> 0xbff69e48 I [] in SmalltalkImage>logDuring: 340435416: a(n)
>>>> SmalltalkImage
>>>> 0xbff69e68 M BlockClosure>ensure: 388309644: a(n) BlockClosure
>>>> 0xbff69e90 I SmalltalkImage>logDuring: 340435416: a(n) SmalltalkImage
>>>> 0xbff69eb4 I SmalltalkImage>logError:inContext: 340435416: a(n)
>>>> SmalltalkImage
>>>> 0xbff69ef0 M [] in
>>>> MorphicUIManager>openDebuggerOn:context:label:contents:fullView: 338485116:
>>>> a(n) MorphicUIManager
>>>> 0xbff69f0c M BlockClosure>on:do: 387421948: a(n) BlockClosure
>>>> 0xbff69f44 M [] in
>>>> MorphicUIManager>openDebuggerOn:context:label:contents:fullView: 338485116:
>>>> a(n) MorphicUIManager
>>>> 0xbff69f64 M WorldState>runStepMethodsIn: 338433128: a(n) WorldState
>>>> 0xbff69f80 M PasteUpMorph>runStepMethods 338272244: a(n) PasteUpMorph
>>>> 0xbff69f98 M WorldState>doOneCycleNowFor: 338433128: a(n) WorldState
>>>> 0xbff69fb4 M WorldState>doOneCycleFor: 338433128: a(n) WorldState
>>>> 0xbff69fd0 M PasteUpMorph>doOneCycle 338272244: a(n) PasteUpMorph
>>>> 0xbff69ff0 I [] in Project class>spawnNewProcess 338672796: a(n) Project
>>>> class
>>>> 0xbff6a010 I [] in BlockClosure>newProcess 387420956: a(n) BlockClosure
>>>>
>>>> Process 0x1711e7fc priority 50
>>>> 0xbff5ffd0 M WeakArray class>finalizationProcess 337425280: a(n)
>>>> WeakArray class
>>>> 0xbff5fff0 I [] in WeakArray class>restartFinalizationProcess 337425280:
>>>> a(n) WeakArray class
>>>> 0xbff60010 I [] in BlockClosure>newProcess 387049248: a(n) BlockClosure
>>>>
>>>> Process 0x14a27698 priority 80
>>>> 0xbff60ff0 M Delay class>handleTimerEvent 337430620: a(n) Delay class
>>>> 0xbff61010 I Delay class>? 337430620: a(n) Delay class
>>>> 346191180 s [] in Delay class>?
>>>> 346191416 s [] in BlockClosure>?
>>>>
>>>> Process 0x15d37dd0 priority 40
>>>> 366182080 s [] in
>>>> SHTextStylerST80(SHTextStyler)>styleInBackgroundProcess:
>>>> 366181744 s [] in BlockClosure>newProcess
>>>>
>>>> Process 0x166a5108 priority 60
>>>> 0xbff61fd0 I SmalltalkImage>lowSpaceWatcher 340435416: a(n)
>>>> SmalltalkImage
>>>> 0xbff61ff0 I [] in SmalltalkImage>installLowSpaceWatcher 340435416: a(n)
>>>> SmalltalkImage
>>>> 0xbff62010 I [] in BlockClosure>newProcess 376066092: a(n) BlockClosure
>>>>
>>>> Process 0x1711c3d8 priority 60
>>>> 0xbff64f50 M [] in Delay>wait 387040292: a(n) Delay
>>>> 0xbff64f70 M BlockClosure>ifCurtailed: 387932080: a(n) BlockClosure
>>>> 0xbff64f8c M Delay>wait 387040292: a(n) Delay
>>>> 0xbff64fa4 M InputEventPollingFetcher>waitForInput 337872084: a(n)
>>>> InputEventPollingFetcher
>>>> 0xbff64fd0 I InputEventPollingFetcher(InputEventFetcher)>eventLoop
>>>> 337872084: a(n) InputEventPollingFetcher
>>>> 0xbff64ff0 I [] in
>>>> InputEventPollingFetcher(InputEventFetcher)>installEventLoop 337872084: a(n)
>>>> InputEventPollingFetcher
>>>> 0xbff65010 I [] in BlockClosure>newProcess 387039996: a(n) BlockClosure
>>>>
>>>> processes at priority 10
>>>> Process 0x166a52d4 priority 10
>>>> 0xbff63fd0 M ProcessorScheduler class>idleProcess 337424860: a(n)
>>>> ProcessorScheduler class
>>>> 0xbff63ff0 I [] in ProcessorScheduler class>startUp 337424860: a(n)
>>>> ProcessorScheduler class
>>>> 0xbff64010 I [] in BlockClosure>newProcess 376066552: a(n) BlockClosure
>>>> $1 = 0
>>>>
>>>>
>>>> Thanks in advance,
>>>>
>>>> --
>>>> Mariano
>>>> http://marianopeck.wordpress.com
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> best,
>>> Eliot
>>>
>>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>>
>
>
> --
> best,
> Eliot
>
>


-- 
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20111003/55ac5c22/attachment-0001.htm


More information about the Vm-dev mailing list