Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Minor
-
Resolution: Won't Fix
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: mod_h323
-
Labels:None
-
Environment:HideDebian Squeeze amd64
Installed ptlib & h323plus versions are:
ii libpt-dbg 2.10.4~dfsg-1 Portable Tools Library development debug files
ii libpt-dev 2.10.4~dfsg-1 Portable Tools Library development files
ii libpt2.10.4 2.10.4~dfsg-1 Portable Tools Library
ii libh323-1.24.0 1.24.0~dfsg-1 H.323 aka VoIP library
ii libh323-dbg 1.24.0~dfsg-1 H.323 aka VoIP library development debug files
ii libh323plus-dev 1.24.0~dfsg-1 H.323 aka VoIP library development files
These are built on squeeze from the sid sources (unchanged, just downloading from packages.debian.org and running dpkg-buildpackage) - the h323plus version 1.21.0 included in squeeze does not compile against mod_h323 (too old).
http://packages.debian.org/source/sid/ptlib
http://packages.debian.org/source/sid/h323plusShowDebian Squeeze amd64 Installed ptlib & h323plus versions are: ii libpt-dbg 2.10.4~dfsg-1 Portable Tools Library development debug files ii libpt-dev 2.10.4~dfsg-1 Portable Tools Library development files ii libpt2.10.4 2.10.4~dfsg-1 Portable Tools Library ii libh323-1.24.0 1.24.0~dfsg-1 H.323 aka VoIP library ii libh323-dbg 1.24.0~dfsg-1 H.323 aka VoIP library development debug files ii libh323plus-dev 1.24.0~dfsg-1 H.323 aka VoIP library development files These are built on squeeze from the sid sources (unchanged, just downloading from packages.debian.org and running dpkg-buildpackage) - the h323plus version 1.21.0 included in squeeze does not compile against mod_h323 (too old). http://packages.debian.org/source/sid/ptlib http://packages.debian.org/source/sid/h323plus
-
Platform:Linux x86/gcc
-
CPU Info:
-
GCC Version:4.4.5 (Debian 4.4.5-8)
-
FreeSWITCH GIT Revision:f1b504402b419fc54d7310c672cbe4ecb26f8ac7
-
Reproduced with GIT HEAD?:Yes
Description
Module hangs forever when loading, using the example h323.conf.xml unedited from src/mod/endpoints/mod_h323, this is reproducible every time.
This is the last line seen on the console (does not appear in the logfile):
2012-04-27 20:41:15.343106 [CONSOLE] mod_h323.cpp:156 Starting loading mod_h323
After 2 hours this was still the last line shown.
I collected a gcore, the backtraces are attached. The important thread appears to be thread 23, which appears to be hanging while loading a ptlib pulseaudio plugin (does mod_h323 need to disable this plugin?).
Thread 23 (Thread 3825):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:140
#1 0x00007f9f02cf43db in pa_threaded_mainloop_wait () from /usr/lib/libpulse.so.0
#2 0x00007f9f02f13eec in PulseContext () at sound_pulse.cxx:74
#3 __static_initialization_and_destruction_0 () at sound_pulse.cxx:91
#4 global constructors keyed to sound_pulse.cxx () at sound_pulse.cxx:568
#5 0x00007f9f02f18f46 in __do_global_ctors_aux () from /usr/lib/ptlib-2.10.4/devices/sound/pulse_pwplugin.so
#6 0x00007f9f02f130f3 in _init () from /usr/lib/ptlib-2.10.4/devices/sound/pulse_pwplugin.so
#7 0x00007f9f02f09000 in ?? ()
#8 0x00007f9f0fbb6c69 in call_init (l=0x131f650, argc=51490816, argv=0x7fffa4e8e908, env=0x7fffa4e8e930) at dl-init.c:70
#9 0x00007f9f0fbb6da7 in _dl_init (main_map=0x131f650, argc=4, argv=0x7fffa4e8e908, env=0x7fffa4e8e930) at dl-init.c:134
#10 0x00007f9f0fbbb141 in dl_open_worker (a=<value optimized out>) at dl-open.c:463
#11 0x00007f9f0fbb6906 in _dl_catch_error (objname=<value optimized out>, errstring=<value optimized out>, mallocedp=<value optimized out>, operate=<value optimized out>, args=<value optimized out>) at dl-error.c:178
#12 0x00007f9f0fbba92a in _dl_open (file=0x12e4508 "/usr/lib/ptlib-2.10.4/devices/sound/pulse_pwplugin.so", mode=-2147483646, caller_dlopen=0x7f9f0a80bbdb, nsid=-2, argc=4, argv=0x0, env=0x7fffa4e8e930) at dl-open.c:554
#13 0x00007f9f0ea61f66 in dlopen_doit (a=<value optimized out>) at dlopen.c:67
#14 0x00007f9f0fbb6906 in _dl_catch_error (objname=<value optimized out>, errstring=<value optimized out>, mallocedp=<value optimized out>, operate=<value optimized out>, args=<value optimized out>) at dl-error.c:178
#15 0x00007f9f0ea622ec in _dlerror_run (operate=0x7f9f0ea61f00 <dlopen_doit>, args=0x7fffa4e8a9d0) at dlerror.c:164
#16 0x00007f9f0ea61ee1 in __dlopen (file=<value optimized out>, mode=<value optimized out>) at dlopen.c:88
#17 0x00007f9f0a80bbdb in PDynaLink::Open (this=0x131f5a0, _name=<value optimized out>) at ptlib/unix/udll.cxx:341
#18 0x00007f9f0a80bcf7 in PDynaLink (this=0x131f5a0, _name=...) at ptlib/unix/udll.cxx:305
#19 0x00007f9f0a84cfa3 in PPluginManager::LoadPlugin (this=0x7f9f0aba7f60, fileName=...) at ptlib/common/pluginmgr.cxx:152
#20 0x00007f9f0a84e064 in PPluginManager::LoadPluginDirectory (this=<value optimized out>, directory=<value optimized out>, suffixes=<value optimized out>) at ptlib/common/pluginmgr.cxx:103
#21 0x00007f9f0a84ded4 in PPluginManager::LoadPluginDirectory (this=<value optimized out>, directory=<value optimized out>, suffixes=<value optimized out>) at ptlib/common/pluginmgr.cxx:96
#22 0x00007f9f0a84ded4 in PPluginManager::LoadPluginDirectory (this=<value optimized out>, directory=<value optimized out>, suffixes=<value optimized out>) at ptlib/common/pluginmgr.cxx:96
#23 0x00007f9f0a84e7c2 in PPluginManager::LoadPluginDirectory (this=<value optimized out>, directory=<value optimized out>) at ptlib/common/pluginmgr.cxx:81
#24 0x00007f9f0a84ea30 in PluginLoaderStartup::OnStartup (this=<value optimized out>) at ptlib/common/pluginmgr.cxx:512
#25 0x00007f9f0a872f19 in PProcess (this=<value optimized out>, manuf=<value optimized out>, name=<value optimized out>, major=<value optimized out>, minor=<value optimized out>, stat=<value optimized out>, build=1, library=true) at ptlib/common/osutils.cxx:1601
#26 0x00007f9f0b8c4dd5 in PLibraryProcess (this=0x1328b54) at /usr/include/ptlib/pprocess.h:774
#27 FSProcess (this=0x1328b54) at /root/eurotech/server_installer/ss/freeswitch/freeswitch/src/mod/endpoints/mod_h323/mod_h323.cpp:361
#28 0x00007f9f0b8ce97c in mod_h323_load (module_interface=0x7fffa4e8b810, pool=<value optimized out>) at /root/eurotech/server_installer/ss/freeswitch/freeswitch/src/mod/endpoints/mod_h323/mod_h323.cpp:166
#29 0x00007f9f0f103293 in switch_loadable_module_load_file (dir=<value optimized out>, fname=<value optimized out>, runtime=<value optimized out>, global=<value optimized out>, err=0x7fffa4e8b918) at src/switch_loadable_module.c:1265
#30 switch_loadable_module_load_module_ex (dir=<value optimized out>, fname=<value optimized out>, runtime=<value optimized out>, global=<value optimized out>, err=0x7fffa4e8b918) at src/switch_loadable_module.c:1373
#31 0x00007f9f0f104338 in switch_loadable_module_init (autoload=<value optimized out>) at src/switch_loadable_module.c:1675
#32 0x00007f9f0f0fbef1 in switch_core_init_and_modload (flags=<value optimized out>, console=<value optimized out>, err=0x7fffa4e8e7d0) at src/switch_core.c:1890
#33 0x00000000004030b8 in main (argc=<value optimized out>, argv=0x7fffa4e8e908) at src/switch.c:927
This is the last line seen on the console (does not appear in the logfile):
2012-04-27 20:41:15.343106 [CONSOLE] mod_h323.cpp:156 Starting loading mod_h323
After 2 hours this was still the last line shown.
I collected a gcore, the backtraces are attached. The important thread appears to be thread 23, which appears to be hanging while loading a ptlib pulseaudio plugin (does mod_h323 need to disable this plugin?).
Thread 23 (Thread 3825):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:140
#1 0x00007f9f02cf43db in pa_threaded_mainloop_wait () from /usr/lib/libpulse.so.0
#2 0x00007f9f02f13eec in PulseContext () at sound_pulse.cxx:74
#3 __static_initialization_and_destruction_0 () at sound_pulse.cxx:91
#4 global constructors keyed to sound_pulse.cxx () at sound_pulse.cxx:568
#5 0x00007f9f02f18f46 in __do_global_ctors_aux () from /usr/lib/ptlib-2.10.4/devices/sound/pulse_pwplugin.so
#6 0x00007f9f02f130f3 in _init () from /usr/lib/ptlib-2.10.4/devices/sound/pulse_pwplugin.so
#7 0x00007f9f02f09000 in ?? ()
#8 0x00007f9f0fbb6c69 in call_init (l=0x131f650, argc=51490816, argv=0x7fffa4e8e908, env=0x7fffa4e8e930) at dl-init.c:70
#9 0x00007f9f0fbb6da7 in _dl_init (main_map=0x131f650, argc=4, argv=0x7fffa4e8e908, env=0x7fffa4e8e930) at dl-init.c:134
#10 0x00007f9f0fbbb141 in dl_open_worker (a=<value optimized out>) at dl-open.c:463
#11 0x00007f9f0fbb6906 in _dl_catch_error (objname=<value optimized out>, errstring=<value optimized out>, mallocedp=<value optimized out>, operate=<value optimized out>, args=<value optimized out>) at dl-error.c:178
#12 0x00007f9f0fbba92a in _dl_open (file=0x12e4508 "/usr/lib/ptlib-2.10.4/devices/sound/pulse_pwplugin.so", mode=-2147483646, caller_dlopen=0x7f9f0a80bbdb, nsid=-2, argc=4, argv=0x0, env=0x7fffa4e8e930) at dl-open.c:554
#13 0x00007f9f0ea61f66 in dlopen_doit (a=<value optimized out>) at dlopen.c:67
#14 0x00007f9f0fbb6906 in _dl_catch_error (objname=<value optimized out>, errstring=<value optimized out>, mallocedp=<value optimized out>, operate=<value optimized out>, args=<value optimized out>) at dl-error.c:178
#15 0x00007f9f0ea622ec in _dlerror_run (operate=0x7f9f0ea61f00 <dlopen_doit>, args=0x7fffa4e8a9d0) at dlerror.c:164
#16 0x00007f9f0ea61ee1 in __dlopen (file=<value optimized out>, mode=<value optimized out>) at dlopen.c:88
#17 0x00007f9f0a80bbdb in PDynaLink::Open (this=0x131f5a0, _name=<value optimized out>) at ptlib/unix/udll.cxx:341
#18 0x00007f9f0a80bcf7 in PDynaLink (this=0x131f5a0, _name=...) at ptlib/unix/udll.cxx:305
#19 0x00007f9f0a84cfa3 in PPluginManager::LoadPlugin (this=0x7f9f0aba7f60, fileName=...) at ptlib/common/pluginmgr.cxx:152
#20 0x00007f9f0a84e064 in PPluginManager::LoadPluginDirectory (this=<value optimized out>, directory=<value optimized out>, suffixes=<value optimized out>) at ptlib/common/pluginmgr.cxx:103
#21 0x00007f9f0a84ded4 in PPluginManager::LoadPluginDirectory (this=<value optimized out>, directory=<value optimized out>, suffixes=<value optimized out>) at ptlib/common/pluginmgr.cxx:96
#22 0x00007f9f0a84ded4 in PPluginManager::LoadPluginDirectory (this=<value optimized out>, directory=<value optimized out>, suffixes=<value optimized out>) at ptlib/common/pluginmgr.cxx:96
#23 0x00007f9f0a84e7c2 in PPluginManager::LoadPluginDirectory (this=<value optimized out>, directory=<value optimized out>) at ptlib/common/pluginmgr.cxx:81
#24 0x00007f9f0a84ea30 in PluginLoaderStartup::OnStartup (this=<value optimized out>) at ptlib/common/pluginmgr.cxx:512
#25 0x00007f9f0a872f19 in PProcess (this=<value optimized out>, manuf=<value optimized out>, name=<value optimized out>, major=<value optimized out>, minor=<value optimized out>, stat=<value optimized out>, build=1, library=true) at ptlib/common/osutils.cxx:1601
#26 0x00007f9f0b8c4dd5 in PLibraryProcess (this=0x1328b54) at /usr/include/ptlib/pprocess.h:774
#27 FSProcess (this=0x1328b54) at /root/eurotech/server_installer/ss/freeswitch/freeswitch/src/mod/endpoints/mod_h323/mod_h323.cpp:361
#28 0x00007f9f0b8ce97c in mod_h323_load (module_interface=0x7fffa4e8b810, pool=<value optimized out>) at /root/eurotech/server_installer/ss/freeswitch/freeswitch/src/mod/endpoints/mod_h323/mod_h323.cpp:166
#29 0x00007f9f0f103293 in switch_loadable_module_load_file (dir=<value optimized out>, fname=<value optimized out>, runtime=<value optimized out>, global=<value optimized out>, err=0x7fffa4e8b918) at src/switch_loadable_module.c:1265
#30 switch_loadable_module_load_module_ex (dir=<value optimized out>, fname=<value optimized out>, runtime=<value optimized out>, global=<value optimized out>, err=0x7fffa4e8b918) at src/switch_loadable_module.c:1373
#31 0x00007f9f0f104338 in switch_loadable_module_init (autoload=<value optimized out>) at src/switch_loadable_module.c:1675
#32 0x00007f9f0f0fbef1 in switch_core_init_and_modload (flags=<value optimized out>, console=<value optimized out>, err=0x7fffa4e8e7d0) at src/switch_core.c:1890
#33 0x00000000004030b8 in main (argc=<value optimized out>, argv=0x7fffa4e8e908) at src/switch.c:927