GNOME Bugzilla – Bug 593414
SIGSEGV @ socket-impl-gio.cc:502 (abort_flag)
Last modified: 2009-09-10 04:48:03 UTC
OS: 64 bit ubuntu jaunty 9.04, latest version from SVN. socket-impl-gio.cc: if (_abort_flag) { _listener->on_socket_abort (this); } else if (!(cond & (G_IO_IN | G_IO_OUT))) { _listener->on_socket_error (this); } else // G_IO_IN or G_IO_OUT { const DoResult result = (cond & G_IO_IN) ? do_read () : do_write (); /* if (_abort_flag) _listener->on_socket_abort (this); else*/ if (result == IO_ERR) _listener->on_socket_error (this); else if (result == IO_READ) set_watch_mode (READ_NOW); else if (result == IO_WRITE) set_watch_mode (WRITE_NOW); } uncommenting line above leads to random segfaults on my machine. in my opinion polling the status of "abort_flag" is done twice (unneeded). commenting this out leads to no segfaults, perfectly working (at least the hours i tried until today) it seems that the second request for _abort_flag triggers the segfault. output from gdb is this: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7f61faa28790 (LWP 12446)] 0x000000000052431a in pan::GIOChannelSocket::gio_func (this=0x3281b60, channel=0x8e98340, cond=G_IO_IN) at socket-impl-gio.cc:502 502 if (_abort_flag) _listener->on_socket_abort (this);
pan version is 0.133
Created attachment 142539 [details] backtrace of error
Created attachment 142590 [details] runlog (extract)
*** This bug has been marked as a duplicate of bug 142852 ***
*** This bug has been marked as a duplicate of bug 594712 ***