Program segfault when run over ssh with x11 forwarding

Hi all,

I’ve recently encountered an issue with a program which uses the root libraries to display some plots of incoming data. When I physically sit at the computer, everything works fine. However, when I try to run the program via an ssh connection with X11 forwarding, it segfaults on me. If I disable the graphics, then it works fine. If I run an interactive root session over ssh, everything works fine.

The ‘server’ is running Ubuntu 8.10 (intrepid ibex) with kernel 2.6.27-11-generic, and root v5.18, provided by synaptic. The client, if it matters, is an apple with os 10.5.6.

The full gdb dump is below, but it seems to be hitting a problem at TGViewPort::HandleConfigureNotify(). Any guesses? I’m not sure how stable Ubuntu’s X11 implementation is (I know apple’s is messed up), so the problem might lie there instead

Here is the debug info provided by gdb:

gdb analysis/test_read
GNU gdb 6.8-debian
Copyright © 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and “show warranty” for details.
This GDB was configured as “i486-linux-gnu”…
(gdb) run test.gz
Starting program: /home/daqman/warpdaq/daqman/analysis/test_read test.gz
[Thread debugging using libthread_db enabled]
[New Thread 0xb5b188d0 (LWP 16318)]
[New Thread 0xb5ac1b90 (LWP 16321)]
[New Thread 0xb4f7eb90 (LWP 16322)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb4f7eb90 (LWP 16322)]
0xb7adb623 in TGViewPort::HandleConfigureNotify ()
from /usr/lib/root/libGui.so.5.18
(gdb) s
Single stepping until exit from function _ZN10TGViewPort21HandleConfigureNotifyEP7Event_t,
which has no line number information.

*** Break *** segmentation violation
[New Thread 0xb4631b90 (LWP 16332)]
Attaching to program: /proc/16318/exe, process 16318
ptrace: Operation not permitted.
/home/daqman/warpdaq/daqman/16318: No such file or directory.
error detected on stdin
[Thread 0xb5ac1b90 (LWP 16321) exited]
test_read: /usr/local/include/boost/thread/pthread/condition_variable_fwd.hpp:38: boost::condition_variable::~condition_variable(): Assertion `!pthread_cond_destroy(&cond)’ failed.

Program received signal SIGABRT, Aborted.
0xb8086430 in __kernel_vsyscall ()
(gdb) s
Single stepping until exit from function __kernel_vsyscall,
which has no line number information.

Program terminated with signal SIGABRT, Aborted.

Oops. I thought this was a separate issue from my last post, but it was in fact an unresolved thread issue, where a TCanvas draws itself while being constructed which interferes with a gSystem->ProcessEvents() call running in a separate thread. ::sigh::