Hi Since a while I experience segfaults during startup of loch. The error is somewhat hard to pin down. It seems like loch (or some library it uses) tries to write onto a socket that is used for X11: === line 1177/8 === connect(5, {sa_family=AF_FILE, path="/tmp/.X11-unix/X0"...}, 110) = 0 getpeername(5, {sa_family=AF_FILE, path="/tmp/.X11-unix/X0"...}, [20]) = 0 ==== This happens with a fresh compile from 5.2.1 sources on a Ubuntu and on a Archlinux system. Thanks, Martin BTW: why is /etc/passwd read (line 1161)?
Since a while I experience segfaults during startup of loch.
The error is somewhat hard to pin down. It seems like loch (or some library it uses) tries to write onto a socket that is used for X11:
I am sorry, but I have no idea. On my system it segfaults when I exit loch or when I try to use off-screen rendering on Linux and Intel Graphics Card. When I turn 3D hardware acceleration off, than it does not segfault any more. What graphics card do you have? Intel linux driver seems to have problems (some time ago loch was able to restart X server).
BTW: why is /etc/passwd read (line 1161)?
??? No idea - see the source code - there is no passwd file used in the source code. It must be some linked library (wxWidgets?)... Regards, S.
Thanks, Stacho for your reply. Stacho Mudrak writes:
On my system it segfaults when I exit loch or when I try to use off-screen rendering on Linux and Intel Graphics Card. When I turn 3D hardware acceleration off, than it does not segfault any more. What graphics card do you have? Intel linux driver seems to have problems (some time ago loch was able to restart X server).
OK, so there might be some troubles with Intel Graphics Card, I have an i915. Problems started about half a year ago on Ubuntu, but I wasn't using Therion a lot back then.
BTW: why is /etc/passwd read (line 1161)?
??? No idea - see the source code - there is no passwd file used in the source code. It must be some linked library (wxWidgets?)...
I'll really have to pin that down. It's not in Therion code, but somewhat disconcerting. Turning GLX off did not help, I'll try without dri as well. Thanks for your hints Best, Martin
Hi again Here is some more info where the segfault happens. I compiled the code with -ggdb flags (as in the Makefile) (gdb) r Starting program: /soft/therion/loch/loch [Thread debugging using libthread_db enabled] [New Thread 0xb47bc710 (LWP 3705)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb47bc710 (LWP 3705)] 0xb59b0706 in glGenTextures () from /usr/lib/libGL.so.1 (gdb) bt #0 0xb59b0706 in glGenTextures () from /usr/lib/libGL.so.1 #1 0x080d28fa in lxGLCanvas (this=0x9465400, stp=0x9354270, dat=0x9350700, parent=0x9337398, id=-1, pos=@0x82c3ce0, size=@0x82c14f0, style=0, name=@0xbffd42c0) at lxGLCs.cxx:108 #2 0x080c0da7 in lxFrame (this=0x9337398, app=0x92e7538, title=@0xbffd4368, pos=@0xbffd436c, size=@0xbffd4374, style=541072960) at lxGUI.cxx:320 #3 0x080c159a in lxApp::OnInit (this=0x92e7538) at lxGUI.cxx:975 #4 0x080c8a00 in wxAppConsole::CallOnInit (this=0x92e7538) at /usr/include/wx-2.8/wx/app.h:76 #5 0xb77dff90 in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0 #6 0xb77e01b7 in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0 #7 0x080b6509 in main (argc=0, argv=0x0) at lxGUI.cxx:951 which must be line 108 in lxGLCs.cxx glgentextures(1, &this->m_idTexSurface); Since I have never programmed wx or glx stuff I would be glad to get some pointer how to proceed from here. Maybe this gives some more clues? (gdb) p &this->m_idTexSurface $2 = (GLuint *) 0xa02d5ac Thanks, Martin
It looks something in wxGLCanvas has changed. It will need deeper look, but first two hints: lxGLCs.cxx:65 : wxGLCanvas(parent, (wxGLCanvas*) NULL, id, pos, size, style, name) replace it please with : wxGLCanvas(parent, id, pos, size, style, name) I am not sure, whether it will help. I need to investigate more... Regards, S. On Thu, Oct 30, 2008 at 8:47 PM, Martin Luethi <luethi@vaw.baug.ethz.ch> wrote:
Hi again
Here is some more info where the segfault happens. I compiled the code with -ggdb flags (as in the Makefile)
(gdb) r Starting program: /soft/therion/loch/loch [Thread debugging using libthread_db enabled] [New Thread 0xb47bc710 (LWP 3705)]
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb47bc710 (LWP 3705)] 0xb59b0706 in glGenTextures () from /usr/lib/libGL.so.1 (gdb) bt #0 0xb59b0706 in glGenTextures () from /usr/lib/libGL.so.1 #1 0x080d28fa in lxGLCanvas (this=0x9465400, stp=0x9354270, dat=0x9350700, parent=0x9337398, id=-1, pos=@0x82c3ce0, size=@0x82c14f0, style=0, name=@0xbffd42c0) at lxGLCs.cxx:108 #2 0x080c0da7 in lxFrame (this=0x9337398, app=0x92e7538, title=@0xbffd4368, pos=@0xbffd436c, size=@0xbffd4374, style=541072960) at lxGUI.cxx:320 #3 0x080c159a in lxApp::OnInit (this=0x92e7538) at lxGUI.cxx:975 #4 0x080c8a00 in wxAppConsole::CallOnInit (this=0x92e7538) at /usr/include/wx-2.8/wx/app.h:76 #5 0xb77dff90 in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0 #6 0xb77e01b7 in wxEntry () from /usr/lib/libwx_baseu-2.8.so.0 #7 0x080b6509 in main (argc=0, argv=0x0) at lxGUI.cxx:951
which must be line 108 in lxGLCs.cxx
glgentextures(1, &this->m_idTexSurface);
Since I have never programmed wx or glx stuff I would be glad to get some pointer how to proceed from here. Maybe this gives some more clues?
(gdb) p &this->m_idTexSurface $2 = (GLuint *) 0xa02d5ac
Thanks, Martin _______________________________________________ Therion mailing list Therion@speleo.sk http://mailman.speleo.sk/mailman/listinfo/therion
Hi Stacho Thanks a lot. Stacho Mudrak writes:
It looks something in wxGLCanvas has changed. It will need deeper look, but first two hints:
lxGLCs.cxx:65
: wxGLCanvas(parent, (wxGLCanvas*) NULL, id, pos, size, style, name)
replace it please with
: wxGLCanvas(parent, id, pos, size, style, name)
I am not sure, whether it will help. I need to investigate more...
Unfortunately it results in exactly the same behaviour. What was the second hint? I also attach the stack trace (forgot that before). Maybe these EAGAIN mean that some connection to the xserver failed? Thanks, Martin
participants (2)
-
Martin Luethi -
Stacho Mudrak