Summary:ASTERISK-03852: asterisk compilation fails on chan_h323
Reporter:nirsim (nirsim)Labels:
Date Opened:2005-04-04 04:48:03Date Closed:2011-06-07 14:10:46
Versions:Frequency of
Description:when compiling latest CVS of asterisk with h323 support, compilation of chan_h323.c fails on the following:

make[1]: Entering directory `/usr/src/asterisk-cvs/channels'
gcc -pipe  -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g  -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE  -O6 -march=i686  -DASTERISK_VERSION=\"CVS-HEAD-04/04/05-10:36:46\" -DASTERISK_VERSION_NUM=999999 -DINSTALL_PREFIX=\"\" -DASTETCDIR=\"/etc/asterisk\" -DASTLIBDIR=\"/usr/lib/asterisk\" -DASTVARLIBDIR=\"/var/lib/asterisk\" -DASTVARRUNDIR=\"/var/run\" -DASTSPOOLDIR=\"/var/spool/asterisk\" -DASTLOGDIR=\"/var/log/asterisk\" -DASTCONFPATH=\"/etc/asterisk/asterisk.conf\" -DASTMODDIR=\"/usr/lib/asterisk/modules\" -DASTAGIDIR=\"/var/lib/asterisk/agi-bin\"     -DBUSYDETECT_MARTIN    -fomit-frame-pointer  -Wno-missing-prototypes -Wno-missing-declarations        -DCRYPTO -fPIC    -c -o chan_h323.o chan_h323.c
chan_h323.c: In function `load_module':
chan_h323.c:2127: error: too few arguments to function `h323_callback_register'
make[1]: *** [chan_h323.o] Error 1
make[1]: Leaving directory `/usr/src/asterisk-cvs/channels'
make: *** [subdirs] Error 1
[root@vox00 asterisk]#


In addition, note to JerJer, please add into the compilation steps the issue of the missing asnparser in openh323. It took me about an hour to get the damned thing compiled correctly.
Comments:By: Paul Cadach (pcadach) 2005-04-04 06:01:35

The reason for this is partially-applied patch from ASTERISK-3758. Jeremy is noticed about this mistake.

By: nirsim (nirsim) 2005-04-04 11:13:26

Ok, I've applied a partial patch for the chan_h323.c code, and it compiled nicely.
Then I ran into a bigger problem, upon execution of Asterisk, everything seems to be running nicely - however, the second I start putting some H323 calls on the box (around 30-40 calls, on a dual XEON), deadlocks can be seen and soon after the well known core dump.

Please find the core dump above.

By: Paul Cadach (pcadach) 2005-04-04 11:31:47

Reminder sent to dimitel

Where is your back trace?

By: nirsim (nirsim) 2005-04-04 11:34:06

Bummer, I'm unable to post the core dump, I'll post it on my website at


It's about 2+ MB in size.

By: Paul Cadach (pcadach) 2005-04-04 11:37:14

Nobody needs your coredump except have full installation of application which caused coredump. Just do (I could made mistake somewhere):
gdb -c core.31609 /usr/sbin/asterisk
info threads
thread apply all bt full

By: nirsim (nirsim) 2005-04-04 11:37:40

GDB Backtrace says:

(gdb) bt
#0  0x4089026f in PAbstractList::GetAt(int) const () from /root/pwlib/lib/libpt_linux_x86_r.so.1.8.1
#1  0x40894713 in PAbstractList::GetReferenceAt(int) const () from /root/pwlib/lib/libpt_linux_x86_r.so.1.8.1
#2  0x4113831c in H323Capabilities::operator=(H323Capabilities const&) () from /root/openh323/lib/libh323_linux_x86_r.so.1.15.1
#3  0x41138218 in H323Capabilities::H323Capabilities(H323Capabilities const&) () from /root/openh323/lib/libh323_linux_x86_r.so.1.15.1
#4  0x410e7113 in H323Connection::H323Connection(H323EndPoint&, unsigned, unsigned) () from /root/openh323/lib/libh323_linux_x86_r.so.1.15.1
ASTERISK-1  0x405bef87 in MyH323Connection (this=0x41e0e840, ep=@0x815e9f0, callReference=24200, options=10) at ast_h323.cpp:578
ASTERISK-2  0x405bed46 in MyH323EndPoint::CreateConnection(unsigned, void*) (this=0x815e9f0, callReference=24200, o=0x0) at ast_h323.cpp:571
ASTERISK-3  0x4111f841 in H323EndPoint::CreateConnection(unsigned, void*, H323Transport*, H323SignalPDU*) () from /root/openh323/lib/libh323_linux_x86_r.so.1.15.1
ASTERISK-4  0x4111ab13 in H323EndPoint::InternalMakeCall(PString const&, PString const&, unsigned, PString const&, H323Transport*, PString&, void*) ()
  from /root/openh323/lib/libh323_linux_x86_r.so.1.15.1
ASTERISK-5  0x4111a15b in H323EndPoint::MakeCallLocked(PString const&, PString&, void*, H323Transport*) () from /root/openh323/lib/libh323_linux_x86_r.so.1.15.1
ASTERISK-6 0x405bd51a in MyH323EndPoint::MakeCall(PString const&, PString&, unsigned*, call_options*) (this=0x815e9f0, dest=@0x438a0f80, token=@0x438a0fa0,
   callReference=0x5ce05578, opts=0x5ce054b0) at ast_h323.cpp:301
ASTERISK-7 0x405c3f05 in h323_make_call (dest=0x438a1010 "1012442086778964@", cd=0x5ce05578, call_options=0x5ce054b0) at ast_h323.cpp:1369
ASTERISK-8 0x405b59ba in oh323_call (c=Could not find the frame base for "oh323_call".
) at chan_h323.c:623
ASTERISK-9 0x08065651 in ast_call (chan=0x5ce08348, addr=0x0, timeout=0) at channel.c:2116
ASTERISK-10 0x08060ccb in __ast_request_and_dial (type=0x438a1b10 "H323", format=0, data=0x438a1b15, timeout=30000, outstate=0x438a17e8, cid_num=0x0,
   cid_name=0x0, oh=0x438a16e0) at channel.c:1900
ASTERISK-11 0x0808762f in ast_pbx_outgoing_exten (type=0x438a1b10 "H323", format=64, data=0x438a1b15, timeout=30000, context=0x438a262d "voicereach",
   exten=0x438a272b "442086778964", priority=1, reason=0x438a17e8, sync=1, cid_num=0x0, cid_name=0x0,
   variable=0x438a292e "cdrid=140629|personFile=stupidlp|machineFile=stupidamd|mintime=50|maxtime=1200|vmannounce=8|destination=442086778964|silence=300",account=0x80eb4d9 "", channel=0x0) at pbx.c:4843
ASTERISK-12 0x080b22a5 in action_originate (s=0x0, m=0x438a2420) at manager.c:998
ASTERISK-13 0x080b57b3 in process_message (s=0x0, m=0x438a2420) at manager.c:1226
ASTERISK-14 0x080b48e3 in session_do (data=0x0) at manager.c:1299
ASTERISK-15 0x400263b0 in start_thread () from /lib/tls/libpthread.so.0
ASTERISK-16 0x401a426e in clone () from /lib/tls/libc.so.6

By: Paul Cadach (pcadach) 2005-04-04 11:57:18

Could you tell versions of your PWLib/OpenH323 and attach bt full?

By: twisted (twisted) 2005-04-04 12:42:48

Can we move this to another bug as it's not related to the intial bug posting?

By: nirsim (nirsim) 2005-04-04 15:09:24

I see no problem with that, as long as someone would take point on it.

Versions Are:

By: Kevin P. Fleming (kpfleming) 2005-04-04 19:03:48

Yes, this needs to be moved to another bug (and the original bug should not have been 'block').

By: Paul Cadach (pcadach) 2005-04-07 07:45:01

Looks like incompatible building parameters for OpenH323 and ast_h323.cxx/chan_h323.c. Could you re-configure and re-build PWLib/OpenH323 together with libasth323.a/chan_h323.so and verify again? If problem still exists, please, open new ticket.

By: Paul Cadach (pcadach) 2005-04-07 07:46:14

Partial commit into CVS. Fixed.

By: Paul Cadach (pcadach) 2005-04-07 07:46:37

Not a bug.