[Freeswitch-dev] mod_file_string - crashed FS
Oleg Khovayko
khovayko at gmail.com
Wed Jul 25 19:47:39 MSD 2012
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)
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-dev
mailing list