[Pharo-project] [Vm-dev] Debugging Cog crash

Levente Uzonyi leves at elte.hu
Fri Apr 8 20:29:50 UTC 2011


On Fri, 8 Apr 2011, Schwab,Wilhelm K wrote:

>
> Levente,
>
> It is indeed not the UUID plugin - Dave already suggested deleting it, and I tried that w/o success.
>
> As for running gdb, I will gladly do so, but I have zero experience with it.  The most relevant posts I can find mention attaching to a vm that is already running, and I can't get that far.  Below is my attempt to modify the one-click shell script to run the vm under gdb.  Perhaps you or someone else can show me the errors of my ways and produce something that would yield a callstack.
>
> Bill
>
>
>
> #!/bin/sh
>
> # path
> ROOT=`dirname $0`
> LINUX="$ROOT/Contents/Linux"
> RESOURCES="$ROOT/Contents/Resources"
>
> # icon
> gvfs-set-attribute \
>        "$0" \
>        "metadata::custom-icon" \
>        "file://$RESOURCES/Squeak.png" \
>                2> /dev/null
>
> # execute
> gdb "$LINUX/squeakvm"
>
> gdb run -plugins "$LINUX" \
>        -encoding latin1 \
>        -vm-display-X11 \
>        "$RESOURCES/Pharo.image"

This doesn't work, because the "run" command should be evaluated from gdb. 
It's better to do it by hand. Enter the oneclick root directory and start 
the vm with gdb:

gdb ./Contents/Linux/squeakvm

Then from gdb start the program (use the VM switches from the shell script 
if they're mandatory):

run ./Contents/Resources/Pharo.image

>From here it's like a normal execution of the vm, but gdb will stop if you 
get a segfault. Then you can use the "bt" command to see what's on the 
stack when the bug happened and "info registers" to see what's in the 
registers. Pasting the output of those commands is usually enough to 
identify the cause of the problem.


Levente

P.S.: here's an example how others did it: 
http://lists.squeakfoundation.org/pipermail/vm-dev/2010-July/005099.html

>
>
> Levente wrote:
>
> Well, the file OneClick.txt says the vm is "Linux Intel x86 4.0.3.2202".
> But that's not true, because that's not a CogVM.
>
> The UUIDPlugin seems to have the patch which avoids the crash, so it's
> pretty unlikely that it's an issue with the UUIDPlugin. Even if the patch
> is wrong (which is unlikely, because we're using Eliot's latest build on
> 64-bit Ubuntu 8.04 and it doesn't crash, but previous unpatched builds did
> crash), it's pretty unlikely that the cause of the crash is the related to
> UUIDPlugin at all, because UUIDs are normally not created during startup
> and your image is crashing on startup.
> To be 100% sure you can try deleting UUIDPlugin and see if your image
> is crashing or not.
> If it still crashes, then use gdb to see where it crashes. The VM seems to
> be unstripped (8MB), so it should be easy to identify the cause of the
> crash.
>
>
> Levente
>
>
> ________________________________________
> From: pharo-project-bounces at lists.gforge.inria.fr [pharo-project-bounces at lists.gforge.inria.fr] On Behalf Of Schwab,Wilhelm K [bschwab at anest.ufl.edu]
> Sent: Friday, April 08, 2011 11:56 AM
> To: Pharo-project at lists.gforge.inria.fr; Squeak Virtual Machine Development Discussion
> Subject: Re: [Pharo-project] [Vm-dev] FW:  Debugging Cog crash
>
> Levente,
>
> The image will not load at all.  It simply dies with "Segmentation fault" - NOTHING else happens.  gdb is maybe a possibility, but it is not an approach I ordinarily take, so some guidance would be helpful.
>
> I have a reproducible crash, but poor access to the affected box.
>
> Bill
>
>
>
> On Fri, 8 Apr 2011, Schwab,Wilhelm K wrote:
>
>>
>> Gratuitous default recipient...
>>
>> If there is a verbose dump option or other diagnostic efforts that will help, I will do my best to run them and report the results.  I am fairly certain the vm is 'Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.54]' (can verify later today), but this happened with an earlier Cog one-click too.  There is something about the machine (UUID again?) that is different.  I do not have root access to it, but I can get to a terminal.  Ubuntu 10.10.
>
> Where did you download the VM?
> Does it crash when you're trying to evaluate [UUID new]?
> Did you try gdb?
>
>
> Levente
>
>
>
>
>
> ________________________________________
> From: pharo-project-bounces at lists.gforge.inria.fr [pharo-project-bounces at lists.gforge.inria.fr] On Behalf Of Schwab,Wilhelm K [bschwab at anest.ufl.edu]
> Sent: Friday, April 08, 2011 11:42 AM
> To: Pharo-project at lists.gforge.inria.fr; Squeak Virtual Machine Development Discussion
> Subject: Re: [Pharo-project] [Vm-dev] FW:  Debugging Cog crash
>
> Dave,
>
> It was, I did :)  No help :(  What else can I try?
>
> Bill
>
>
> ________________________________________
> From: pharo-project-bounces at lists.gforge.inria.fr [pharo-project-bounces at lists.gforge.inria.fr] On Behalf Of David T. Lewis [lewis at mail.msen.com]
> Sent: Friday, April 08, 2011 10:32 AM
> To: Squeak Virtual Machine Development Discussion
> Cc: Pharo-project at lists.gforge.inria.fr
> Subject: Re: [Pharo-project] [Vm-dev] FW:  Debugging Cog crash
>
> Yes, the libuuid.so bug would be a likely suspect. If the UUIDPlugin was
> built as an external library, just delete it and you will probably be
> good to go.
>
> If you need further info, look here:
> http://bugs.squeak.org/view.php?id=7358
>
> Dave
>
> On Fri, Apr 08, 2011 at 07:58:39AM -0400, Schwab,Wilhelm K wrote:
>>
>> Gratuitous default recipient...
>>
>> If there is a verbose dump option or other diagnostic efforts that will help, I will do my best to run them and report the results.  I am fairly certain the vm is 'Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.54]' (can verify later today), but this happened with an earlier Cog one-click too.  There is something about the machine (UUID again?) that is different.  I do not have root access to it, but I can get to a terminal.  Ubuntu 10.10.
>>
>>
>> ________________________________________
>> From: Schwab,Wilhelm K
>> Sent: Friday, April 08, 2011 7:44 AM
>> To: Mariano Martinez Peck
>> Subject: RE: [Pharo-project] Debugging Cog crash
>>
>> Mariano,
>>
>> I first identified this problem/opportunity a while ago.  At the time, there was no log - the vm just died.  I can sniff around again as there might be one this time.  My question at the time was whether there was something that I could enable to perhaps get more info.
>>
>> The output from the vm is, and I quote<g> "Segmentation fault".  There is no other output.  Perhaps it does not get far enough to have a call stack??
>>
>> Bill
>>
>>
>>
>> ________________________________________
>> From: Mariano Martinez Peck [marianopeck at gmail.com]
>> Sent: Friday, April 08, 2011 3:42 AM
>> To: Squeak Development Discussion Virtual Machine; Pharo Development
>> Cc: Schwab,Wilhelm K
>> Subject: Re: [Pharo-project] Debugging Cog crash
>>
>> also...shouldn't be a crash/dump file somewhere?
>>
>> can you write the output of the console where you invoke the VM into a file ?   (using > to redirect)
>>
>> Cheers
>>
>> Mariano
>>
>> On Thu, Apr 7, 2011 at 11:10 PM, Schwab,Wilhelm K <bschwab at anest.ufl.edu<mailto:bschwab at anest.ufl.edu>> wrote:
>> Hello all,
>>
>> I have an account on an Ubuntu terminal server (at least I think that's what it would be called) running 10.10.  The Cog one-click image crashes with "Segmentation fault" (if run from a terminal); the legacy VM seems to run the image nicely on the box.  Any ideas?  I will happily collect any facts that will be of help, but I need some
>> direction.
>>
>> Bill
>>
>>
>>
>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>
>
>
>


More information about the Vm-dev mailing list