Help with a crash

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Help with a crash

Mariano Martinez Peck
Hi folks! I am having a crash in Mac OS  using Squeak 4.2.2beta1U.app  when trying to swap out unactive classes.

In the image it appears a windows or something like a console with just a part of the stacktrace.  I attach an screenshot.

In PharoDebug.log I have nothing. I even tried to run the VM from command line, but nothing is shown in the console..

I opened a MacOS Console and the only thing I see is:

"12/29/09 5:54:19 PM Spotlight[217] Invalid kMDItemPath for pharo1.0-10496-rc1dev09.11.5.dbx.changes "

So, how can I get the full stacktrace of that ?

Thanks

Mariano




_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Picture 7.png (502K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Help with a crash

Lukas Renggli
That's the emergency debugger. It is used when processing an error
(writing the error log, opening the debugger, etc) causes another
error. From the stack trace you can see that there is something wrong
with the PreDebugWindow, an icon seems to be missing.

Lukas

2009/12/29 Mariano Martinez Peck <[hidden email]>:

> Hi folks! I am having a crash in Mac OS  using Squeak 4.2.2beta1U.app  when
> trying to swap out unactive classes.
>
> In the image it appears a windows or something like a console with just a
> part of the stacktrace.  I attach an screenshot.
>
> In PharoDebug.log I have nothing. I even tried to run the VM from command
> line, but nothing is shown in the console..
>
> I opened a MacOS Console and the only thing I see is:
>
> "12/29/09 5:54:19 PM Spotlight[217] Invalid kMDItemPath for
> pharo1.0-10496-rc1dev09.11.5.dbx.changes "
>
> So, how can I get the full stacktrace of that ?
>
> Thanks
>
> Mariano
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Help with a crash

Schwab,Wilhelm K
In reply to this post by Mariano Martinez Peck
Mariano,
 
I had a similar problem on Linux a few months ago.  It turned out to be my fault, and I am not certain how much a stack trace would have helped, because the problem was in the way I originally built the image, and that lead to ugly side effects in loading specific packages.  Details aside, it seems _really_ bad to me for the vm to crash without leaving behind any traces of what happened.
 
Bill
 


From: [hidden email] [mailto:[hidden email]] On Behalf Of Mariano Martinez Peck
Sent: Tuesday, December 29, 2009 11:59 AM
To: Pharo Development
Subject: [Pharo-project] Help with a crash

Hi folks! I am having a crash in Mac OS  using Squeak 4.2.2beta1U.app  when trying to swap out unactive classes.

In the image it appears a windows or something like a console with just a part of the stacktrace.  I attach an screenshot.

In PharoDebug.log I have nothing. I even tried to run the VM from command line, but nothing is shown in the console..

I opened a MacOS Console and the only thing I see is:

"12/29/09 5:54:19 PM Spotlight[217] Invalid kMDItemPath for pharo1.0-10496-rc1dev09.11.5.dbx.changes "

So, how can I get the full stacktrace of that ?

Thanks

Mariano




_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Help with a crash

Lukas Renggli
> lead to ugly side effects in loading specific packages.  Details aside, it
> seems _really_ bad to me for the vm to crash without leaving behind any
> traces of what happened.

This is not a VM that crashes. In fact everything is still fully
functional and running. What Mariano is seeing is the emergency
debugger, a very primitive debugger implemented in
MorphicUIManager>>onPrimitiveError: used when everything else fails.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Help with a crash

Mariano Martinez Peck


On Tue, Dec 29, 2009 at 6:13 PM, Lukas Renggli <[hidden email]> wrote:
> lead to ugly side effects in loading specific packages.  Details aside, it
> seems _really_ bad to me for the vm to crash without leaving behind any
> traces of what happened.

This is not a VM that crashes. In fact everything is still fully
functional and running. What Mariano is seeing is the emergency
debugger, a very primitive debugger implemented in
MorphicUIManager>>onPrimitiveError: used when everything else fails.


Thanks Lukas for the explanation. Every day I learn something new :)

Now I was wondering if we can change the onPrimitiveError:  to something like this:


onPrimitiveError: aString
                                                                                                                                                                                                                                                                     | context |
                                                                                                                                                                                                                                                                   
    (String
        streamContents:
            [:s |
            s nextPutAll: '***System error handling failed***'.
            s cr; nextPutAll: aString.
            context := thisContext sender sender.
            200 timesRepeat: [context == nil ifFalse: [s cr; print: (context := context sender)]].
            s cr; nextPutAll: '-------------------------------'.
            s cr; nextPutAll: 'Type CR to enter an emergency evaluator.'.
            s cr; nextPutAll: 'Type any other character to restart.'])
        displayAt: 10 @ 0.
    [Sensor keyboardPressed] whileFalse.
    Sensor keyboard = Character cr ifTrue: [Transcripter emergencyEvaluator].
   
    World install "init hands and redisplay"



I just changed to 200 timesRepeat instead of 20 so that to have the full stack, or at least, more than 20 lines and also the point of    displayAt: 10 @ 0.   because in my case I couldn't see the first letters of the windows.

If you are ok, I can put a slice in the inbox and create the issue.

Thanks

Mariano

 
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Help with a crash

Lukas Renggli
I don't think that's a good idea. If you print so many stack frames,
then the emergency evaluator is out of screen.

Lukas

2009/12/29 Mariano Martinez Peck <[hidden email]>:

>
>
> On Tue, Dec 29, 2009 at 6:13 PM, Lukas Renggli <[hidden email]> wrote:
>>
>> > lead to ugly side effects in loading specific packages.  Details aside,
>> > it
>> > seems _really_ bad to me for the vm to crash without leaving behind any
>> > traces of what happened.
>>
>> This is not a VM that crashes. In fact everything is still fully
>> functional and running. What Mariano is seeing is the emergency
>> debugger, a very primitive debugger implemented in
>> MorphicUIManager>>onPrimitiveError: used when everything else fails.
>>
>
> Thanks Lukas for the explanation. Every day I learn something new :)
>
> Now I was wondering if we can change the onPrimitiveError:  to something
> like this:
>
>
> onPrimitiveError: aString
>
>
>
>                                  | context |
>
>
>
>
>     (String
>         streamContents:
>             [:s |
>             s nextPutAll: '***System error handling failed***'.
>             s cr; nextPutAll: aString.
>             context := thisContext sender sender.
>             200 timesRepeat: [context == nil ifFalse: [s cr; print: (context
> := context sender)]].
>             s cr; nextPutAll: '-------------------------------'.
>             s cr; nextPutAll: 'Type CR to enter an emergency evaluator.'.
>             s cr; nextPutAll: 'Type any other character to restart.'])
>         displayAt: 10 @ 0.
>     [Sensor keyboardPressed] whileFalse.
>     Sensor keyboard = Character cr ifTrue: [Transcripter
> emergencyEvaluator].
>
>     World install "init hands and redisplay"
>
>
>
> I just changed to 200 timesRepeat instead of 20 so that to have the full
> stack, or at least, more than 20 lines and also the point of    displayAt:
> 10 @ 0.   because in my case I couldn't see the first letters of the
> windows.
>
> If you are ok, I can put a slice in the inbox and create the issue.
>
> Thanks
>
> Mariano
>
>
>>
>> Lukas
>>
>> --
>> Lukas Renggli
>> http://www.lukas-renggli.ch
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Help with a crash

Schwab,Wilhelm K
In reply to this post by Lukas Renggli
Lukas,

You are correct, but there vm crashes that are not logged: I hit that courtesy of uninitialized structure sizes with ODBC.  The VM died, and left no trace of it.

Bill  



-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Lukas Renggli
Sent: Tuesday, December 29, 2009 12:14 PM
To: [hidden email]
Subject: Re: [Pharo-project] Help with a crash

> lead to ugly side effects in loading specific packages.  Details
> aside, it seems _really_ bad to me for the vm to crash without leaving
> behind any traces of what happened.

This is not a VM that crashes. In fact everything is still fully functional and running. What Mariano is seeing is the emergency debugger, a very primitive debugger implemented in
MorphicUIManager>>onPrimitiveError: used when everything else fails.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Help with a crash

Mariano Martinez Peck
In reply to this post by Lukas Renggli


On Tue, Dec 29, 2009 at 6:54 PM, Lukas Renggli <[hidden email]> wrote:
I don't think that's a good idea. If you print so many stack frames,
then the emergency evaluator is out of screen.

Yes, that's true :(
We cannot have vertical scroll ? I just ask with my total ignorance, but I guess that not.
 

Lukas

2009/12/29 Mariano Martinez Peck <[hidden email]>:
>
>
> On Tue, Dec 29, 2009 at 6:13 PM, Lukas Renggli <[hidden email]> wrote:
>>
>> > lead to ugly side effects in loading specific packages.  Details aside,
>> > it
>> > seems _really_ bad to me for the vm to crash without leaving behind any
>> > traces of what happened.
>>
>> This is not a VM that crashes. In fact everything is still fully
>> functional and running. What Mariano is seeing is the emergency
>> debugger, a very primitive debugger implemented in
>> MorphicUIManager>>onPrimitiveError: used when everything else fails.
>>
>
> Thanks Lukas for the explanation. Every day I learn something new :)
>
> Now I was wondering if we can change the onPrimitiveError:  to something
> like this:
>
>
> onPrimitiveError: aString
>
>
>
>                                  | context |
>
>
>
>
>     (String
>         streamContents:
>             [:s |
>             s nextPutAll: '***System error handling failed***'.
>             s cr; nextPutAll: aString.
>             context := thisContext sender sender.
>             200 timesRepeat: [context == nil ifFalse: [s cr; print: (context
> := context sender)]].
>             s cr; nextPutAll: '-------------------------------'.
>             s cr; nextPutAll: 'Type CR to enter an emergency evaluator.'.
>             s cr; nextPutAll: 'Type any other character to restart.'])
>         displayAt: 10 @ 0.
>     [Sensor keyboardPressed] whileFalse.
>     Sensor keyboard = Character cr ifTrue: [Transcripter
> emergencyEvaluator].
>
>     World install "init hands and redisplay"
>
>
>
> I just changed to 200 timesRepeat instead of 20 so that to have the full
> stack, or at least, more than 20 lines and also the point of    displayAt:
> 10 @ 0.   because in my case I couldn't see the first letters of the
> windows.
>
> If you are ok, I can put a slice in the inbox and create the issue.
>
> Thanks
>
> Mariano
>
>
>>
>> Lukas
>>
>> --
>> Lukas Renggli
>> http://www.lukas-renggli.ch
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: Help with a crash

Lukas Renggli
No, the idea of the emergency debugger is that it still works when
everything else fails.

Lukas

2009/12/30 Mariano Martinez Peck <[hidden email]>:

>
>
> On Tue, Dec 29, 2009 at 6:54 PM, Lukas Renggli <[hidden email]> wrote:
>>
>> I don't think that's a good idea. If you print so many stack frames,
>> then the emergency evaluator is out of screen.
>
> Yes, that's true :(
> We cannot have vertical scroll ? I just ask with my total ignorance, but I
> guess that not.
>
>>
>> Lukas
>>
>> 2009/12/29 Mariano Martinez Peck <[hidden email]>:
>> >
>> >
>> > On Tue, Dec 29, 2009 at 6:13 PM, Lukas Renggli <[hidden email]>
>> > wrote:
>> >>
>> >> > lead to ugly side effects in loading specific packages.  Details
>> >> > aside,
>> >> > it
>> >> > seems _really_ bad to me for the vm to crash without leaving behind
>> >> > any
>> >> > traces of what happened.
>> >>
>> >> This is not a VM that crashes. In fact everything is still fully
>> >> functional and running. What Mariano is seeing is the emergency
>> >> debugger, a very primitive debugger implemented in
>> >> MorphicUIManager>>onPrimitiveError: used when everything else fails.
>> >>
>> >
>> > Thanks Lukas for the explanation. Every day I learn something new :)
>> >
>> > Now I was wondering if we can change the onPrimitiveError:  to something
>> > like this:
>> >
>> >
>> > onPrimitiveError: aString
>> >
>> >
>> >
>> >                                  | context |
>> >
>> >
>> >
>> >
>> >     (String
>> >         streamContents:
>> >             [:s |
>> >             s nextPutAll: '***System error handling failed***'.
>> >             s cr; nextPutAll: aString.
>> >             context := thisContext sender sender.
>> >             200 timesRepeat: [context == nil ifFalse: [s cr; print:
>> > (context
>> > := context sender)]].
>> >             s cr; nextPutAll: '-------------------------------'.
>> >             s cr; nextPutAll: 'Type CR to enter an emergency
>> > evaluator.'.
>> >             s cr; nextPutAll: 'Type any other character to restart.'])
>> >         displayAt: 10 @ 0.
>> >     [Sensor keyboardPressed] whileFalse.
>> >     Sensor keyboard = Character cr ifTrue: [Transcripter
>> > emergencyEvaluator].
>> >
>> >     World install "init hands and redisplay"
>> >
>> >
>> >
>> > I just changed to 200 timesRepeat instead of 20 so that to have the full
>> > stack, or at least, more than 20 lines and also the point of
>> > displayAt:
>> > 10 @ 0.   because in my case I couldn't see the first letters of the
>> > windows.
>> >
>> > If you are ok, I can put a slice in the inbox and create the issue.
>> >
>> > Thanks
>> >
>> > Mariano
>> >
>> >
>> >>
>> >> Lukas
>> >>
>> >> --
>> >> Lukas Renggli
>> >> http://www.lukas-renggli.ch
>> >>
>> >> _______________________________________________
>> >> Pharo-project mailing list
>> >> [hidden email]
>> >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> >
>> >
>> > _______________________________________________
>> > Pharo-project mailing list
>> > [hidden email]
>> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> >
>>
>>
>>
>> --
>> Lukas Renggli
>> http://www.lukas-renggli.ch
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Lukas Renggli
http://www.lukas-renggli.ch

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project