[dev] Need help debugging OOo with gdb

2007-07-03 Thread Matthias B.

I have a reproducible segfault I'd like to examine with GDB, but I
have a problem. When I run the program without the debugger I get the
message

CO #
CO # An unexpected error has been detected by HotSpot Virtual Machine:
CO #
CO #  SIGSEGV (0xb) at pc=0x9b15805d, pid=15855, tid=2610363312
CO #
CO # Java VM: Java HotSpot(TM) Client VM (1.5.0_11-b03 mixed mode, sharing)
CO # Problematic frame:
CO # C  [libscriptframe.so+0x5a05d]
_ZN17browsenodefactory17DefaultBrowseNode7getNameEv+0x29
[...]

I have replaced libscriptframe.so with a debug build. Now I attach gdb
to the soffice.bin process and run the Java program I use to trigger
the bug. However when GDB catches the segfault, it is unable to decode
the call stack. I would have expected it to break in
DefaultBrowseNode::getName() which the above message identifies as the
location where the segfault happens. What I am I doing wrong? It seems
to me as if the Java VM is interfering with my debugging (since
apparently it catches segfaults itself to output messages such as the
above). What do I have to do to have GDB correctly catch the segfault
(if that's at all possible)? I'm unfamiliar with debugging C++/Java
hybrids.

Matthias

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] Need help debugging OOo with gdb

2007-07-03 Thread Stephan Bergmann

Matthias B. wrote:

I have a reproducible segfault I'd like to examine with GDB, but I
have a problem. When I run the program without the debugger I get the
message

CO #
CO # An unexpected error has been detected by HotSpot Virtual Machine:
CO #
CO #  SIGSEGV (0xb) at pc=0x9b15805d, pid=15855, tid=2610363312
CO #
CO # Java VM: Java HotSpot(TM) Client VM (1.5.0_11-b03 mixed mode, 
sharing)

CO # Problematic frame:
CO # C  [libscriptframe.so+0x5a05d]
_ZN17browsenodefactory17DefaultBrowseNode7getNameEv+0x29
[...]

I have replaced libscriptframe.so with a debug build. Now I attach gdb
to the soffice.bin process and run the Java program I use to trigger
the bug. However when GDB catches the segfault, it is unable to decode
the call stack. I would have expected it to break in
DefaultBrowseNode::getName() which the above message identifies as the
location where the segfault happens. What I am I doing wrong? It seems
to me as if the Java VM is interfering with my debugging (since
apparently it catches segfaults itself to output messages such as the
above). What do I have to do to have GDB correctly catch the segfault
(if that's at all possible)? I'm unfamiliar with debugging C++/Java
hybrids.


Bad luck.  Your code (libscriptframe.so) is obviously part of an OOo 
Extension you just installed.  Code for freshly installed extensions is 
not executed within the soffice.bin process, but in a spawned uno.bin 
process (the CO prefixes to the output are added by the OOo code that 
controls the spawned process).  It should work if you restart OOo after 
installing the extension (as then the code will be executed directly in 
the soffice.bin process).


-Stephan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] Need help debugging OOo with gdb

2007-07-03 Thread Matthias B.

On 7/3/07, Stephan Bergmann [EMAIL PROTECTED] wrote:

Bad luck.  Your code (libscriptframe.so) is obviously part of an OOo
Extension you just installed.


You're mistaken. It's part of the scripting framework which is a
regular part of OOo. The source code is in
OOF680_m18/scripting/source/provider/

Matthias

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]