Comment 25 for bug 71383

Revision history for this message
dBera (dbera-web) wrote :

Philip,
  could you do the following ? (it will be very helpful).
1) Put this in your .gdbinit in your home directory
------->8-------------
define mono_backtrace
 select-frame 0
 set $i = 0
 while ($i < $arg0)
   set $foo = mono_pmip ($pc)
   if ($foo == 0x00)
     frame
   else
     printf "#%d %p in %s\n", $i, $pc, $foo
   end
   up-silently
   set $i = $i + 1
 end
end
------------------>8--------------
2) start beagled from the terminal as
beagled --fg --indexing-delay 300
then from another terminal,
3) find out the pid of beagle, $ ps ux | grep beagled
4) start gdb $ gdb --pid=<pid of beagled>
5) once gdb starts, enter at the gdb prompt
handle SIGXCPU SIG33 SIG35 SIGPWR nostop noprint
6) Enter at the gdb prompt
c or continue
7) when beagled crashes, enter this at gdb prompt
mono_backtrace 10
8) Copy the output of mono_backtrace to a file and attach it.
9) At gdb prompt, type q or quit
10) If it asks to detach, say yes.
11) Kill beagled if it is still running

Its a long process but not tedious :-). You can almost reliably reproduce the crash, so I am seeking your help. Thanks.