Hi Paul,<br><br><div class="gmail_quote">On Thu, Jul 22, 2010 at 2:14 PM, Paul DeBruicker <span dir="ltr"><<a href="mailto:pdebruic@gmail.com">pdebruic@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Hi Eliot,<div class="im"><br>
<br>
<br>
On 07/22/2010 05:02 PM, <a href="mailto:vm-dev-request@lists.squeakfoundation.org" target="_blank">vm-dev-request@lists.squeakfoundation.org</a> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
handle SIGUSR2 nostop noprint noignore<br>
<br>
</blockquote></div>
If I include the above line in my .gdbinit then gdb complains:<br>
<br>
Cannot find user-level thread for LWP XXXXX<br>
<br>
where XXXXX is the process number for the VM. Sometimes the VM window stays open and freezes at that point and sometimes it closes. Gdb then states that the "Target is running" when I type in the commands you listed. If I comment the "handle SIGUSR2 ..." line out then I get this from those commands:<br>
</blockquote><div><br></div><div>just looks like the OS/run-time is not letting the program set a handler for SIGUSR2 and/or not allowing it to be caught. This is a deal breaker. Why it's happening I don't know, but currently Cog's heartbeat on linux depends on being able to catch SIGUSR2. </div>
<div><br></div><div>HTH</div><div>Eliot</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
(gdb) where<br>
#0 0xf7fdf430 in __kernel_vsyscall ()<br>
#1 0xf7fabb16 in nanosleep () from /lib32/libpthread.so.0<br>
#2 0x0805fa38 in tickerSleepCycle (ignored=0x0)<div class="im"><br>
at /home/paul/src/squeakvm/platforms/unix/vm/sqUnixHeartbeat.c:375<br></div>
#3 0xf7fa396e in start_thread () from /lib32/libpthread.so.0<br>
#4 0xf7ed6b5e in clone () from /lib32/libc.so.6<br>
<br>
(gdb) info registers<br>
eax 0xfffffdfc -516<br>
ecx 0x0 0<br>
edx 0xb7adb388 -1213353080<br>
ebx 0xb7adb388 -1213353080<br>
esp 0xb7adb358 0xb7adb358<div class="im"><br>
ebp 0xb7adb398 0xb7adb398<br>
esi 0xb7adbb70 -1213351056<br>
edi 0x3d0f00 4001536<br></div>
eip 0xf7fdf430 0xf7fdf430 <__kernel_vsyscall+16><div class="im"><br>
eflags 0x296 [ PF AF SF IF ]<br>
cs 0x23 35<br>
ss 0x2b 43<br>
ds 0x2b 43<br>
es 0x2b 43<br>
fs 0x0 0<br>
gs 0x63 99<br>
<br></div>
(gdb) x/5i $eip<br>
=> 0xf7fdf430 <__kernel_vsyscall+16>: pop %ebp<br>
0xf7fdf431 <__kernel_vsyscall+17>: pop %edx<br>
0xf7fdf432 <__kernel_vsyscall+18>: pop %ecx<br>
0xf7fdf433 <__kernel_vsyscall+19>: ret<br>
0xf7fdf434: add %ch,(%esi)<br>
<br>
(gdb) info threads<br>
* 2 Thread 0xb7adbb70 (LWP 27239) 0xf7fdf430 in __kernel_vsyscall ()<br>
1 Thread 0xf7e056c0 (LWP 27236) heartbeat_handler (sig=14,<div class="im"><br>
sig_info=0x63, context=0x0)<br>
at /home/paul/src/squeakvm/platforms/unix/vm/sqUnixHeartbeat.c:461<br>
<br></div>
(gdb) thread 1<br>
[Switching to thread 1 (Thread 0xf7e056c0 (LWP 27236))]#0 heartbeat_handler<div class="im"><br>
(sig=14, sig_info=0x63, context=0x0)<br>
at /home/paul/src/squeakvm/platforms/unix/vm/sqUnixHeartbeat.c:461<br>
461 {<br>
<br>
(gdb) bt<br>
#0 heartbeat_handler (sig=14, sig_info=0x63, context=0x0)<br>
at /home/paul/src/squeakvm/platforms/unix/vm/sqUnixHeartbeat.c:461<br>
#1 <signal handler called><br></div>
#2 0xf7feefe0 in _dl_debug_state () from /lib/ld-linux.so.2<br>
#3 0xf7ff272c in ?? () from /lib/ld-linux.so.2<br>
#4 0xf7fee2f6 in ?? () from /lib/ld-linux.so.2<br>
#5 0xf7ff2106 in ?? () from /lib/ld-linux.so.2<br>
#6 0xf7fb7c0b in ?? () from /lib32/libdl.so.2<br>
#7 0xf7fee2f6 in ?? () from /lib/ld-linux.so.2<br>
#8 0xf7fb809c in ?? () from /lib32/libdl.so.2<br>
#9 0xf7fb7b41 in dlopen () from /lib32/libdl.so.2<br>
#10 0xf7c01b27 in ?? () from /usr/lib32/libX11.so.6<br>
#11 0xf7c01fe7 in _XNoticeCreateBitmap () from /usr/lib32/libX11.so.6<br>
#12 0xf7c0220d in XCreatePixmap () from /usr/lib32/libX11.so.6<br>
#13 0xf7c010e2 in XCreateBitmapFromData () from /usr/lib32/libX11.so.6<br>
#14 0xf7db70bb in display_ioSetCursorWithMask (cursorBitsIndex=-1210764836,<br>
cursorMaskIndex=<value optimized out>, offsetX=-1, offsetY=-1)<br>
at /home/paul/src/squeakvm/platforms/unix/vm-display-X11/sqUnixX11.c:3855<br>
#15 0x08071422 in primitiveBeCursor ()<br>
at /home/paul/src/squeakvm/src/vm/gcc3x-cointerp.c:23540<br>
#16 0x0807f443 in interpret ()<br>
at /home/paul/src/squeakvm/src/vm/gcc3x-cointerp.c:4872<br>
#17 0x0807eeec in enterSmalltalkExecutiveImplementation ()<br>
at /home/paul/src/squeakvm/src/vm/gcc3x-cointerp.c:14771<br>
#18 0x0807f118 in initStackPagesAndInterpret ()<br>
at /home/paul/src/squeakvm/src/vm/gcc3x-cointerp.c:18367<br>
#19 0x0805eed3 in main (argc=2, argv=0xffffcda4, envp=0xffffcdb0)<br>
at /home/paul/src/squeakvm/platforms/unix/vm/sqUnixMain.c:1627<br>
<br>
(gdb) thread 2<br>
[Switching to thread 2 (Thread 0xb7adbb70 (LWP 27239))]#0 0xf7fdf430 in __kernel_vsyscall ()<br>
<br>
(gdb) bt<br>
#0 0xf7fdf430 in __kernel_vsyscall ()<br>
#1 0xf7fabb16 in nanosleep () from /lib32/libpthread.so.0<br>
#2 0x0805fa38 in tickerSleepCycle (ignored=0x0)<div class="im"><br>
at /home/paul/src/squeakvm/platforms/unix/vm/sqUnixHeartbeat.c:375<br></div>
#3 0xf7fa396e in start_thread () from /lib32/libpthread.so.0<br>
#4 0xf7ed6b5e in clone () from /lib32/libc.so.6<br>
<br>
<br>
<br>
</blockquote></div><br>