[Freeswitch-dev] mod_file_string - crashed FS
Hi, After recent upgrade, FreeSWITCH was unable to start. During startup, it generates SIGSEGV, and terminated. I investigated, what happening, and found - problem was in the obsolete mod_file_string (see debug log below). I disabled load this module, and FS works OK. I think, need remove this module from the repository, or make another steps, for preserve this crash. Thanks, Oleg /usr/local/freeswitch/bin/freeswitch -u sip -g sip -hp -nonat Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x28901040 (LWP 100138)] 0x2818cb53 in switch_loadable_module_process (key=0x28bfdb80 "mod_file_string", new_module=0x295c51b8) at src/switch_loadable_module.c:321 321 for (i = 0; ptr->extens[i]; i++) { (gdb) p i No symbol "i" in current context. (gdb) l 316 for (ptr = new_module->module_interface->file_interface; ptr; ptr = ptr->next) { 317 if (!ptr->interface_name) { 318 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Failed to load file interface from %s due to no interface name.\n", key); 319 } else { 320 int i; 321 for (i = 0; ptr->extens[i]; i++) { 322 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding File Format '%s'\n", ptr->extens[i]); 323 if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) { 324 switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "file"); 325 switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->extens[i]); (gdb) p ptr $1 = (const switch_file_interface_t *) 0x295c5140 (gdb) p *ptr $2 = {interface_name = 0x294d62b3 "mod_file_string", file_open = 0x294d6040 <file_string_file_open>, file_close = 0x294d5cf0 <file_string_file_close>, file_truncate = 0, file_read = 0x294d5f80 <file_string_file_read>, file_write = 0, file_read_video = 0x294d5c20 <file_string_file_seek>, file_write_video = 0, file_seek = 0, file_set_string = 0x294d7520 <mod_file_string_module_interface+456>, file_get_string = 0, extens = 0x0, rwlock = 0x295c5188, refs = 0, reflock = 0x295c51a0, parent = 0x295c50c0, next = 0x0} (gdb) p i No symbol "i" in current context. (gdb) where #0 0x2818cb53 in switch_loadable_module_process (key=0x28bfdb80 "mod_file_string", new_module=0x295c51b8) at src/switch_loadable_module.c:321 #1 0x2818e32e in switch_loadable_module_load_module_ex (dir=0x2890d400 "/usr/local/freeswitch/mod", fname=Variable "fname" is not available. ) at src/switch_loadable_module.c:1374 #2 0x2818fe3f in switch_loadable_module_init (autoload=SWITCH_TRUE) at src/switch_loadable_module.c:1675 #3 0x2818586a in switch_core_init_and_modload (flags=68097, console=SWITCH_TRUE, err=0xbfbfebec) at src/switch_core.c:1941 #4 0x0804a560 in main (argc=7, argv=0xbfbfec4c) at src/switch.c:1027 (gdb)
if you did "make current" it would have done the "modwipe" target that erases all the old module binaries. On Wed, Jul 25, 2012 at 10:47 AM, Oleg Khovayko <khovayko@gmail.com> wrote:
Hi,
After recent upgrade, FreeSWITCH was unable to start. During startup, it generates SIGSEGV, and terminated.
I investigated, what happening, and found - problem was in the obsolete mod_file_string (see debug log below). I disabled load this module, and FS works OK.
I think, need remove this module from the repository, or make another steps, for preserve this crash.
Thanks,
Oleg
/usr/local/freeswitch/bin/freeswitch -u sip -g sip -hp -nonat
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x28901040 (LWP 100138)] 0x2818cb53 in switch_loadable_module_process (key=0x28bfdb80 "mod_file_string", new_module=0x295c51b8) at src/switch_loadable_module.c:321 321 for (i = 0; ptr->extens[i]; i++) { (gdb) p i No symbol "i" in current context. (gdb) l 316 for (ptr = new_module->module_interface->file_interface; ptr; ptr = ptr->next) { 317 if (!ptr->interface_name) { 318 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Failed to load file interface from %s due to no interface name.\n", key); 319 } else { 320 int i; 321 for (i = 0; ptr->extens[i]; i++) { 322 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding File Format '%s'\n", ptr->extens[i]); 323 if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) { 324 switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "file"); 325 switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->extens[i]); (gdb) p ptr $1 = (const switch_file_interface_t *) 0x295c5140 (gdb) p *ptr $2 = {interface_name = 0x294d62b3 "mod_file_string", file_open = 0x294d6040 <file_string_file_open>, file_close = 0x294d5cf0 <file_string_file_close>, file_truncate = 0, file_read = 0x294d5f80 <file_string_file_read>, file_write = 0, file_read_video = 0x294d5c20 <file_string_file_seek>, file_write_video = 0, file_seek = 0, file_set_string = 0x294d7520 <mod_file_string_module_interface+456>, file_get_string = 0, extens = 0x0, rwlock = 0x295c5188, refs = 0, reflock = 0x295c51a0, parent = 0x295c50c0, next = 0x0} (gdb) p i No symbol "i" in current context. (gdb) where #0 0x2818cb53 in switch_loadable_module_process (key=0x28bfdb80 "mod_file_string", new_module=0x295c51b8) at src/switch_loadable_module.c:321 #1 0x2818e32e in switch_loadable_module_load_module_ex (dir=0x2890d400 "/usr/local/freeswitch/mod", fname=Variable "fname" is not available. ) at src/switch_loadable_module.c:1374 #2 0x2818fe3f in switch_loadable_module_init (autoload=SWITCH_TRUE) at src/switch_loadable_module.c:1675 #3 0x2818586a in switch_core_init_and_modload (flags=68097, console=SWITCH_TRUE, err=0xbfbfebec) at src/switch_core.c:1941 #4 0x0804a560 in main (argc=7, argv=0xbfbfec4c) at src/switch.c:1027 (gdb)
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
Join Us At ClueCon - Aug 7-9, 2012
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
Oleg, This is great information! Please go ahead and open a Jira on this so that we can keep track of the issue. More info on Jira can be found here: http://wiki.freeswitch.org/wiki/Reporting_Bugs Thanks, Michael On Wed, Jul 25, 2012 at 8:47 AM, Oleg Khovayko <khovayko@gmail.com> wrote:
Hi,
After recent upgrade, FreeSWITCH was unable to start. During startup, it generates SIGSEGV, and terminated.
I investigated, what happening, and found - problem was in the obsolete mod_file_string (see debug log below). I disabled load this module, and FS works OK.
I think, need remove this module from the repository, or make another steps, for preserve this crash.
Thanks,
Oleg
/usr/local/freeswitch/bin/freeswitch -u sip -g sip -hp -nonat
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x28901040 (LWP 100138)] 0x2818cb53 in switch_loadable_module_process (key=0x28bfdb80 "mod_file_string", new_module=0x295c51b8) at src/switch_loadable_module.c:321 321 for (i = 0; ptr->extens[i]; i++) { (gdb) p i No symbol "i" in current context. (gdb) l 316 for (ptr = new_module->module_interface->file_interface; ptr; ptr = ptr->next) { 317 if (!ptr->interface_name) { 318 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Failed to load file interface from %s due to no interface name.\n", key); 319 } else { 320 int i; 321 for (i = 0; ptr->extens[i]; i++) { 322 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Adding File Format '%s'\n", ptr->extens[i]); 323 if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) { 324 switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "type", "file"); 325 switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "name", ptr->extens[i]); (gdb) p ptr $1 = (const switch_file_interface_t *) 0x295c5140 (gdb) p *ptr $2 = {interface_name = 0x294d62b3 "mod_file_string", file_open = 0x294d6040 <file_string_file_open>, file_close = 0x294d5cf0 <file_string_file_close>, file_truncate = 0, file_read = 0x294d5f80 <file_string_file_read>, file_write = 0, file_read_video = 0x294d5c20 <file_string_file_seek>, file_write_video = 0, file_seek = 0, file_set_string = 0x294d7520 <mod_file_string_module_interface+456>, file_get_string = 0, extens = 0x0, rwlock = 0x295c5188, refs = 0, reflock = 0x295c51a0, parent = 0x295c50c0, next = 0x0} (gdb) p i No symbol "i" in current context. (gdb) where #0 0x2818cb53 in switch_loadable_module_process (key=0x28bfdb80 "mod_file_string", new_module=0x295c51b8) at src/switch_loadable_module.c:321 #1 0x2818e32e in switch_loadable_module_load_module_ex (dir=0x2890d400 "/usr/local/freeswitch/mod", fname=Variable "fname" is not available. ) at src/switch_loadable_module.c:1374 #2 0x2818fe3f in switch_loadable_module_init (autoload=SWITCH_TRUE) at src/switch_loadable_module.c:1675 #3 0x2818586a in switch_core_init_and_modload (flags=68097, console=SWITCH_TRUE, err=0xbfbfebec) at src/switch_core.c:1941 #4 0x0804a560 in main (argc=7, argv=0xbfbfec4c) at src/switch.c:1027 (gdb)
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
Join Us At ClueCon - Aug 7-9, 2012
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Michael S Collins Twitter: @mercutioviz http://www.FreeSWITCH.org http://www.ClueCon.com http://www.OSTAG.org
participants (3)
-
Anthony Minessale
-
Michael Collins
-
Oleg Khovayko