[Home]

Summary:ASTERISK-01103: Gastman still segfaulting
Reporter:capouch (capouch)Labels:
Date Opened:2004-02-26 03:32:16.000-0600Date Closed:2004-09-25 02:18:20
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:I keep trying to get gastman to stay running.  Tonight I was able to reproduce the condtion at will: park a call and then when you pick it up bye bye gastman.


****** ADDITIONAL INFORMATION ******

gdb messages and backtrace:

(gdb) run
Starting program: /usr/src/gastman/gastman
Ignoring unknown event 'StatusComplete'
Queue default has 0 of 0 members
Whee!

Program received signal SIGSEGV, Segmentation fault.
0x08052eeb in gui_object_set_text (obj=0x0,
   text=0x81bb8d4 "IAX2[iaxy1@iaxy1]/7<MASQ>") at gui.c:670
670             gtk_label_set_text(GTK_LABEL(GTK_BIN(GTK_BIN(GTK_BIN(obj->labelw)->child)->child)->child), text);
(gdb) bt
#0  0x08052eeb in gui_object_set_text (obj=0x0,
   text=0x81bb8d4 "IAX2[iaxy1@iaxy1]/7<MASQ>") at gui.c:670
#1  0x0804e513 in event_rename (s=0x80e7380, m=0x8064380) at gastman.c:699
#2  0x0804f42a in process_message (s=0x80e7380, m=0x8064380) at gastman.c:1043
#3  0x0804f896 in input_check (s=0x80e7380) at gastman.c:1151
#4  0x08050d00 in gastman_input_ready () at gastman.c:1639
ASTERISK-1  0x08056409 in dataready (ign=0x0, fd=9, c=GDK_INPUT_READ) at gui.c:1457
ASTERISK-2  0x401598b3 in gdk_get_show_events () from /usr/lib/libgdk-1.2.so.0
ASTERISK-3  0x4018688a in g_io_add_watch () from /usr/lib/libglib-1.2.so.0
ASTERISK-4  0x40187e75 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
ASTERISK-5  0x4018832c in g_get_current_time () from /usr/lib/libglib-1.2.so.0
ASTERISK-6 0x401884f5 in g_main_iteration () from /usr/lib/libglib-1.2.so.0
ASTERISK-7 0x080517f0 in gui_minirun () at gui.c:190
ASTERISK-8 0x080538b3 in gui_add_object (name=0x8064791 "IAX2[iaxy1@iaxy1]/7",
   text=0x8064791 "IAX2[iaxy1@iaxy1]/7", icon=0x805a461 "manonphone",
   ident=0x81bb9e2 "[10.1.2.3]chan[IAX2[iaxy1@iaxy1]/7]", pvt=0x81bb8d0,
   size=0, withled=0, type=3) at gui.c:811
ASTERISK-9 0x0804d821 in find_chan (name=0x8064791 "IAX2[iaxy1@iaxy1]/7")
   at gastman.c:434
ASTERISK-10 0x0804e4d0 in event_rename (s=0x80e7380, m=0x8064380) at gastman.c:694
ASTERISK-11 0x0804f42a in process_message (s=0x80e7380, m=0x8064380) at gastman.c:1043
ASTERISK-12 0x0804f896 in input_check (s=0x80e7380) at gastman.c:1151
ASTERISK-13 0x08050d00 in gastman_input_ready () at gastman.c:1639
---Type <return> to continue, or q <return> to quit---
ASTERISK-14 0x08056409 in dataready (ign=0x0, fd=9, c=GDK_INPUT_READ) at gui.c:1457
ASTERISK-15 0x401598b3 in gdk_get_show_events () from /usr/lib/libgdk-1.2.so.0
ASTERISK-16 0x4018688a in g_io_add_watch () from /usr/lib/libglib-1.2.so.0
ASTERISK-17 0x40187e75 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
ASTERISK-18 0x4018832c in g_get_current_time () from /usr/lib/libglib-1.2.so.0
ASTERISK-19 0x401884f5 in g_main_iteration () from /usr/lib/libglib-1.2.so.0
ASTERISK-20 0x080517f0 in gui_minirun () at gui.c:190
ASTERISK-21 0x080538b3 in gui_add_object (name=0x8170aac "IAX2[iaxy1@iaxy1]/7<MASQ>",
   text=0x8170aac "IAX2[iaxy1@iaxy1]/7<MASQ>", icon=0x8170b60 "manonphone",
   ident=0x8170bba "[10.1.2.3]chan[IAX2[iaxy1@iaxy1]/7]", pvt=0x8170aa8,
   size=0, withled=0, type=3) at gui.c:811
ASTERISK-22 0x0804e58f in event_rename (s=0x80e7380, m=0x8064380) at gastman.c:705
ASTERISK-23 0x0804f42a in process_message (s=0x80e7380, m=0x8064380) at gastman.c:1043
ASTERISK-24 0x0804f896 in input_check (s=0x80e7380) at gastman.c:1151
ASTERISK-25 0x08050d00 in gastman_input_ready () at gastman.c:1639
ASTERISK-26 0x08056409 in dataready (ign=0x0, fd=9, c=GDK_INPUT_READ) at gui.c:1457
ASTERISK-27 0x401598b3 in gdk_get_show_events () from /usr/lib/libgdk-1.2.so.0
ASTERISK-28 0x4018688a in g_io_add_watch () from /usr/lib/libglib-1.2.so.0
ASTERISK-29 0x40187e75 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
ASTERISK-30 0x4018832c in g_get_current_time () from /usr/lib/libglib-1.2.so.0
ASTERISK-31 0x4018855c in g_main_run () from /usr/lib/libglib-1.2.so.0
ASTERISK-32 0x400b1083 in gtk_main () from /usr/lib/libgtk-1.2.so.0
ASTERISK-33 0x08056444 in gui_run () at gui.c:1469
---Type <return> to continue, or q <return> to quit---
ASTERISK-34 0x08050cdb in manage_calls (host=0xbffff760 "10.1.2.3") at gastman.c:1627
ASTERISK-35 0x0805131d in main (argc=0, argv=0xbffff8c8) at gastman.c:1789
ASTERISK-36 0x40331bb4 in __libc_start_main () from /lib/libc.so.6
Comments:By: Mark Spencer (markster) 2004-02-27 02:14:06.000-0600

Fixed in CVS

By: capouch (capouch) 2004-02-28 03:09:10.000-0600

Still crashes on park:

(gdb) run
Starting program: /usr/sbin/gastman
Ignoring unknown event 'StatusComplete'
Queue default has 0 of 0 members
Whee!

Program received signal SIGSEGV, Segmentation fault.
0x08052abf in gui_save_object (cur=0x0) at gui.c:587
587                     if (strlen(cur->ident)) {
(gdb) bt
#0  0x08052abf in gui_save_object (cur=0x0) at gui.c:587
#1  0x08052c6e in gui_del_object (obj=0x0) at gui.c:628
#2  0x0804e527 in event_rename (s=0x80e7380, m=0x8064380) at gastman.c:701
#3  0x0804f42a in process_message (s=0x80e7380, m=0x8064380) at gastman.c:1043
#4  0x0804f896 in input_check (s=0x80e7380) at gastman.c:1151
ASTERISK-1  0x08050d00 in gastman_input_ready () at gastman.c:1639
ASTERISK-2  0x08056419 in dataready (ign=0x0, fd=9, c=GDK_INPUT_READ) at gui.c:1465
ASTERISK-3  0x401598b3 in gdk_get_show_events () from /usr/lib/libgdk-1.2.so.0
ASTERISK-4  0x4018688a in g_io_add_watch () from /usr/lib/libglib-1.2.so.0
ASTERISK-5  0x40187e75 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
ASTERISK-6 0x4018832c in g_get_current_time () from /usr/lib/libglib-1.2.so.0
ASTERISK-7 0x401884f5 in g_main_iteration () from /usr/lib/libglib-1.2.so.0
ASTERISK-8 0x080517f0 in gui_minirun () at gui.c:190
ASTERISK-9 0x080538c3 in gui_add_object (name=0x8064791 "IAX2[iaxy1@iaxy1]/5",
   text=0x8064791 "IAX2[iaxy1@iaxy1]/5", icon=0x805a46c "womanonphone",
   ident=0x81bca3a "[10.1.2.3]chan[IAX2[iaxy1@iaxy1]/5]", pvt=0x81bc928,
   size=0, withled=0, type=3) at gui.c:815
ASTERISK-10 0x0804d821 in find_chan (name=0x8064791 "IAX2[iaxy1@iaxy1]/5")
   at gastman.c:434
ASTERISK-11 0x0804e4d0 in event_rename (s=0x80e7380, m=0x8064380) at gastman.c:694
ASTERISK-12 0x0804f42a in process_message (s=0x80e7380, m=0x8064380) at gastman.c:1043
ASTERISK-13 0x0804f896 in input_check (s=0x80e7380) at gastman.c:1151
---Type <return> to continue, or q <return> to quit---
ASTERISK-14 0x08050d00 in gastman_input_ready () at gastman.c:1639
ASTERISK-15 0x08056419 in dataready (ign=0x0, fd=9, c=GDK_INPUT_READ) at gui.c:1465
ASTERISK-16 0x401598b3 in gdk_get_show_events () from /usr/lib/libgdk-1.2.so.0
ASTERISK-17 0x4018688a in g_io_add_watch () from /usr/lib/libglib-1.2.so.0
ASTERISK-18 0x40187e75 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
ASTERISK-19 0x4018832c in g_get_current_time () from /usr/lib/libglib-1.2.so.0
ASTERISK-20 0x401884f5 in g_main_iteration () from /usr/lib/libglib-1.2.so.0
ASTERISK-21 0x080517f0 in gui_minirun () at gui.c:190
ASTERISK-22 0x080538c3 in gui_add_object (name=0x817016c "IAX2[iaxy1@iaxy1]/5<MASQ>",
   text=0x817016c "IAX2[iaxy1@iaxy1]/5<MASQ>", icon=0x8170220 "womanonphone",
   ident=0x817027a "[10.1.2.3]chan[IAX2[iaxy1@iaxy1]/5]", pvt=0x8170168,
   size=0, withled=0, type=3) at gui.c:815
ASTERISK-23 0x0804e58f in event_rename (s=0x80e7380, m=0x8064380) at gastman.c:705
ASTERISK-24 0x0804f42a in process_message (s=0x80e7380, m=0x8064380) at gastman.c:1043
ASTERISK-25 0x0804f896 in input_check (s=0x80e7380) at gastman.c:1151
ASTERISK-26 0x08050d00 in gastman_input_ready () at gastman.c:1639
ASTERISK-27 0x08056419 in dataready (ign=0x0, fd=9, c=GDK_INPUT_READ) at gui.c:1465
ASTERISK-28 0x401598b3 in gdk_get_show_events () from /usr/lib/libgdk-1.2.so.0
ASTERISK-29 0x4018688a in g_io_add_watch () from /usr/lib/libglib-1.2.so.0
ASTERISK-30 0x40187e75 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
ASTERISK-31 0x4018832c in g_get_current_time () from /usr/lib/libglib-1.2.so.0
ASTERISK-32 0x4018855c in g_main_run () from /usr/lib/libglib-1.2.so.0
---Type <return> to continue, or q <return> to quit---
ASTERISK-33 0x400b1083 in gtk_main () from /usr/lib/libgtk-1.2.so.0
ASTERISK-34 0x08056454 in gui_run () at gui.c:1477
ASTERISK-35 0x08050cdb in manage_calls (host=0xbffff770 "10.1.2.3") at gastman.c:1627
ASTERISK-36 0x0805131d in main (argc=0, argv=0xbffff8d8) at gastman.c:1789
ASTERISK-37 0x40331bb4 in __libc_start_main () from /lib/libc.so.6

By: James Golovich (jamesgolovich) 2004-02-28 04:36:11.000-0600

I haven't touched gastman in quite some time, but based on your bt I see a few spots where we can check for NULL to stop some segfaults.  I'm commiting a fix.  Let us know if it fixes it, I'm going to keep this bug open until then.

By: capouch (capouch) 2004-02-28 13:21:57.000-0600

The segfault is gone, but the underlying cause of it has now reared its head, at least as far as call parking is concerned.

Parking the call causes the gastman display to explode with false channel entries--10 of them in the simple park I just did.  8 of those then are stuck on the display after the call is gone.

These false channel entries (icons or list items) stick around forever.

By: capouch (capouch) 2004-02-28 13:45:28.000-0600

I should have played a while longer before that previous post.

Once the "many entries" phenom has reared its head (in my testing via a simple call park) gastman is still alive, but zombified.  Subsequent channel activity is not reflected in any of gastman's panes.

By: James Golovich (jamesgolovich) 2004-02-28 15:37:54.000-0600

I tried parking a call last night with gastman after I patched it and didn't have any problem.  This was on a mostly inactive system though.  I think gastman needs some pretty major work

By: capouch (capouch) 2004-03-05 02:20:24.000-0600

Could you post your parking confs?  I am suspicious that the flurry of extensions that suddenly appears upon parking may be related to the number of parking extensions that I have configured, and there may well be a bug there in other code that this is exposing. . .

By: Mark Spencer (markster) 2004-03-05 09:06:11.000-0600

How are you parking with gastman anyway?

By: capouch (capouch) 2004-03-05 11:53:56.000-0600

I'm not parking with gastman, but when I park calls, gastman freaks out, putting up channel icons all over the place and then becoming unusable.

By: Mark Spencer (markster) 2004-03-07 20:25:37.000-0600

Does this still happen?  Even with cvs-head?

By: capouch (capouch) 2004-03-08 02:02:17.000-0600

I just did a fresh cvs checkout (development) of asterisk and gastman.

Still happens.  As soon as I park a call, the display suddenly fills up with icons, some of them clones of the channels in use, others empty icons with no text.  None of the icons that remain after the call has been completed can be deleted.

By: Mark Spencer (markster) 2004-03-24 20:05:45.000-0600

Okay I just tried and don't have the problem.  I'm using zap to call in and zap to park.  are you using anything different?

By: Mark Spencer (markster) 2004-04-03 21:15:38.000-0600

Last we talked you were going to try another system.  What did you find out?

By: Mark Spencer (markster) 2004-04-04 15:58:09

I still cannot duplicate this problem on a CVS head system.  If you are able to duplicate it on a system running CVS head, find me on IRC and lets talk.