After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 528242 - seg fault in sigc::internal::trackable_callback_list
seg fault in sigc::internal::trackable_callback_list
Status: RESOLVED FIXED
Product: ekiga
Classification: Applications
Component: Engine
GIT master
Other All
: Urgent blocker
: 3.00
Assigned To: Snark
Ekiga maintainers
: 528791 529513 535457 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-04-15 16:06 UTC by Yannick
Modified: 2008-07-30 07:37 UTC
See Also:
GNOME target: 2.24.x
GNOME version: 2.23/2.24


Attachments
backtrace (14.52 KB, text/plain)
2008-04-15 16:07 UTC, Yannick
Details
bt (11.08 KB, text/plain)
2008-05-11 21:09 UTC, Yannick
Details

Description Yannick 2008-04-15 16:06:43 UTC
Hi,

I don't know what happen; I was sleeping...

The ekiga's status bar tells: "Missed calls: 1"

ptlib  revision  19992
ffmpeg 12838 / 26454
opal 19992
ekiga  6198

bt and d4 below

Regards,
Yannick
Comment 1 Yannick 2008-04-15 16:07:45 UTC
Created attachment 109312 [details]
backtrace
Comment 2 Yannick 2008-04-15 16:47:41 UTC
sry, the d4 is very very long. I keep it in case of need.

Regards,
Yannick
Comment 3 Damien Sandras 2008-04-19 08:59:18 UTC
*** Bug 528791 has been marked as a duplicate of this bug. ***
Comment 4 Damien Sandras 2008-04-23 09:52:53 UTC
*** Bug 529513 has been marked as a duplicate of this bug. ***
Comment 5 Yannick 2008-05-11 21:08:29 UTC
I think the following bt is the same bug (please check it).

ptlib, svn revision 20239
ffmpeg: 13113
opal: 20239
ekiga: 6252

Regards,
Yannick
Comment 6 Yannick 2008-05-11 21:09:23 UTC
Created attachment 110735 [details]
bt
Comment 7 Matthias Schneider 2008-05-12 09:48:52 UTC
Were you doing anything special when the sigsev happened?
Comment 8 Yannick 2008-05-12 11:05:17 UTC
Doing other stuff with the computer. Nothing special with ekiga. I'm not really sure when it happen exactly.
Comment 9 Snark 2008-05-12 11:59:24 UTC
I really don't see how sigc::internal::trackable_callback_list can segfault... I would say it's a bug somewhere else.
Comment 10 Matthias Schneider 2008-07-25 22:06:34 UTC
*** Bug 535457 has been marked as a duplicate of this bug. ***
Comment 11 Snark 2008-07-26 17:04:02 UTC
Sigh, I'm almost sure we have a threading issue. I'll work around it ; it will be ugly but there's no way we ship 3.00 with a doubt.
Comment 12 Snark 2008-07-27 20:32:54 UTC
Ok, I modified the run_in_main method ; ugly, but efficient.
Comment 13 Snark 2008-07-28 08:06:32 UTC
Sigh... I had to revert my patch, we're back to the problem :-(
Comment 14 Snark 2008-07-28 11:59:35 UTC
I reviewed all calls to run_in_main in ekiga ; most of them look like :
runtime.run_in_main (sigc::bind (my_signal.make_slot (), foo, bar, baz));

Only a few deal with signals in another object :
./src/endpoints/pcss.cpp:    runtime.run_in_main (call->ringing.make_slot ());
./src/endpoints/manager.cpp:    runtime.run_in_main (manager.ready.make_slot ());
./src/endpoints/sip.cpp:  runtime.run_in_main (sigc::bind (presence_core.presence_received.make_slot (), _uri, presence));
./src/endpoints/sip.cpp:  runtime.run_in_main (sigc::bind (presence_core.status_received.make_slot (), _uri, status));

Notice that it's one of the last two which is the culprit in the crash, I don't know which one.

I have a few questions for you Yannick :
(1) can you reproduce semi-easily ?
(2) when it happens again, could you both give the new bt, and paste also the culprit line in src/endpoints/sip.cpp [not just the line number, the whole line] [not sure it will help much as they really look alike and would probably fail alike...]

That bug is really annoying :-/
Comment 15 Snark 2008-07-29 16:37:25 UTC
Here is the plan :
(1) find a way to reproduce the bug much more easily (using sipp for example) ;
(2) apply the patch I have in mind and will attach whenever I find the time to actually write it ;
(3) reproduce the bug... and hopefully fail ; if not back to drawing board and step (2) ;
(4) live happily ever after.