[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