Hello again, Simon,
I managed to compile chan_h323 with H323Plus.
Now, asterisk segfaults as soon as chan_h323.so is loaded. I took a core dump and analyzed it with gdb.
Here is the back-trace:
******************************* (gdb) bt #0 0x00319520 in PString::operator< () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 #1 0x00243024 in std::_Rb_tree<PString, std::pair<PString const, PFactory<PSoundChannel, PString>::WorkerBase*>, std::_Select1st<std::pair<PString const, PFactory<PSoundChannel, PString>::WorkerBase*> >, std::less<PString>, std::allocator<std::pair<PString const, PFactory<PSoundChannel, PString>::WorkerBase*> > >::insert_unique () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 #2 0x019db380 in std::map<PString, PFactory<PSoundChannel, PString>::WorkerBase*, std::less<PString>, std::allocator<std::pair<PString const, PFactory<PSoundChannel, PString>::WorkerBase*> > >::insert () from /usr/local/lib/pwlib/devices/sound/oss_pwplugin.so #3 0x019daa7c in std::map<PString, PFactory<PSoundChannel, PString>::WorkerBase*, std::less<PString>, std::allocator<std::pair<PString const, PFactory<PSoundChannel, PString>::WorkerBase*> > >::operator[] () from /usr/local/lib/pwlib/devices/sound/oss_pwplugin.so #4 0x019da3b3 in PFactory<PSoundChannel, PString>::Register_Internal () from /usr/local/lib/pwlib/devices/sound/oss_pwplugin.so #5 0x019d9efb in PFactory<PSoundChannel, PString>::Register () from /usr/local/lib/pwlib/devices/sound/oss_pwplugin.so #6 0x019d9a61 in PDevicePluginFactory<PSoundChannel, PString>::Worker::Worker () from /usr/local/lib/pwlib/devices/sound/oss_pwplugin.so #7 0x019d9183 in PPlugin_PSoundChannel_OSS_Registration::PPlugin_PSoundChannel_OSS_Registration () from /usr/local/lib/pwlib/devices/sound/oss_pwplugin.so #8 0x019d5a22 in PWLibPlugin_TriggerRegister () from /usr/local/lib/pwlib/devices/sound/oss_pwplugin.so #9 0x002fadd9 in PPluginManager::LoadPlugin () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 #10 0x002fb8a4 in PPluginManager::LoadPluginDirectory () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 #11 0x002fb5dc in PPluginManager::LoadPluginDirectory () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 #12 0x002fb5dc in PPluginManager::LoadPluginDirectory () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 #13 0x002fc816 in PPluginManager::LoadPluginDirectory () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 #14 0x002fc8d6 in PluginLoaderStartup::OnStartup () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 #15 0x00312719 in PProcess::PProcess$base () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 #16 0x063a4b3f in MyProcess::MyProcess () from /usr/lib/asterisk/modules/chan_h323.so #17 0x063af39c in h323_end_point_create () from /usr/lib/asterisk/modules/chan_h323.so #18 0x063a2634 in reload_config (is_reload=0) at chan_h323.c:2738 #19 0x063a3a57 in load_module () at chan_h323.c:3115 #20 0x080aabf1 in load_resource (resource_name=0x8ff5f40 "chan_h323.so", global_symbols_only=Variable "global_symbols_only" is not available. ) at loader.c:660 #21 0x080ab0f1 in load_modules (preload_only=0) at loader.c:854 #22 0x0806ea42 in main (argc=2, argv=0xbfe775b4) at asterisk.c:2926 #23 0x00c04de3 in __libc_start_main () from /lib/tls/libc.so.6 #24 0x08057ae1 in ?? () *******************************
I get the same backtrace no matter if I configure PWLib with
./configure or with
./configure --enable-oss
Any ideas?
Best regards, Vlasis.