Hello Simon,
I did some more debugging. I tried to compare the way Asterisk + our modified chan_h323 exits with Asterisk + the standard chan_h323.
I have pasted the two results first is the behavior of our modified version. Aftert I give the 'stop now' command in Asterisk's CLI, we receive a SIG32. 'Info threads' gives info that thread 26998 is deleting ~FactoryMap().
If we see the behavior of the standard Asterisk after the 'stop now' command, we see that thread 26600 is (probably) flushing the last contents of some output stream and then exits normally.
I don't know what to make from these different behaviors...
Sorry if my progress is so slow or if my questions are "newbie-ish" but the fact is that I AM a newbie in the area...
:(
Any ideas would be appreciated...
The 2 pieces of debug info follow.
Best regards, Vlasis.
Asterisk 1.4.13 with modified chan_h323
******************* *CLI> stop now
Program received signal SIG32, Real-time event 32. [Switching to Thread -1208198224 (LWP 27002)] 0x00bd77a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 (gdb) info threads 8 Thread -1209480272 (LWP 27007) 0x00bd77a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 4 Thread -1208456272 (LWP 27003) 0x00bd77a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 * 3 Thread -1208198224 (LWP 27002) 0x00bd77a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 1 Thread -1208195392 (LWP 26998) 0x00322388 in PFactoryBase::FactoryMap::~FactoryMap () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 (gdb) cont Continuing.
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1208195392 (LWP 26998)] 0x00322388 in PFactoryBase::FactoryMap::~FactoryMap () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 (gdb) info threads 8 Thread -1209480272 (LWP 27007) 0x00bd77a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 4 Thread -1208456272 (LWP 27003) 0x00bd77a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 3 Thread -1208198224 (LWP 27002) 0x00d64821 in __deregister_frame () from /lib/libgcc_s.so.1 * 1 Thread -1208195392 (LWP 26998) 0x00322388 in PFactoryBase::FactoryMap::~FactoryMap () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 (gdb) bt #0 0x00322388 in PFactoryBase::FactoryMap::~FactoryMap () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 #1 0x003223ce in __tcf_0 () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 #2 0x00c1a7a4 in __cxa_finalize () from /lib/tls/libc.so.6 #3 0x00225362 in __do_global_dtors_aux () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 #4 0x00322cb2 in _fini () from /Downloads/h323p/ptlib_v1_12_0/lib/libpt_linux_x86_r.so.1.12.0 #5 0x00be3907 in _dl_fini () from /lib/ld-linux.so.2 #6 0x00c1a527 in exit () from /lib/tls/libc.so.6 #7 0x0806c056 in quit_handler (num=Variable "num" is not available. ) at asterisk.c:1325 #8 0x0806c2c9 in handle_shutdown_now (fd=1, argc=2, argv=0xbfe82600) at asterisk.c:1504 #9 0x0808e1be in ast_cli_command (fd=1, s=0x87aa068 "H·z\b¨¬z\b") at cli.c:1979 #10 0x0806f718 in main (argc=2, argv=0xbfe82b84) at asterisk.c:1395 #11 0x00c04de3 in __libc_start_main () from /lib/tls/libc.so.6 #12 0x08057ae1 in ?? () *******************
Standard 1.4.13:
******************* *CLI> stop now
Program received signal SIG32, Real-time event 32. [Switching to Thread -1208595536 (LWP 26604)] 0x00bd77a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 (gdb) info threads 8 Thread -1209877584 (LWP 26609) 0x00bd77a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 4 Thread -1208853584 (LWP 26605) 0x00bd77a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 * 3 Thread -1208595536 (LWP 26604) 0x00bd77a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 1 Thread -1208592704 (LWP 26600) 0x00477000 in std::basic_ostream<wchar_t, std::char_traits<wchar_t> >::flush () from /usr/lib/libstdc++.so.6 (gdb) cont Continuing.
Program exited normally. *******************