Summary:ASTERISK-00961: several crashes with chan_h323
Reporter:Pavel Litvinenko (pavell)Labels:
Date Opened:2004-01-31 10:10:50.000-0600Date Closed:2008-01-15 14:45:45.000-0600
Versions:Frequency of
(gdb) bt full
#0  0x40614b13 in MyH323Connection::CreateRealTimeLogicalChannel(H323Capability const&, H323Channel::Directions, unsigned, H245_H2250LogicalChannelParameters const*) (this=0x8327c70, capability=@0x818e918, dir=IsReceiver, sessionID=1)
   at ast_h323.cpp:713
       info = (rtp_info *) 0x0
       port = 33255
#1  0x40e8d96f in H323RealTimeCapability::CreateChannel(H323Connection&, H323Channel::Directions, unsigned, H245_H2250LogicalChannelParameters const*) const ()
  from /usr/local/lib/libh323_linux_x86_r.so.1.12.2
No symbol table info available.
#2  0x40e72fbf in H323Connection::CreateLogicalChannel(H245_OpenLogicalChannel const&, int, unsigned&) () from /usr/local/lib/libh323_linux_x86_r.so.1.12.2
No symbol table info available.
#3  0x40e82314 in H245NegLogicalChannel::HandleOpen(H245_OpenLogicalChannel const&) () from /usr/local/lib/libh323_linux_x86_r.so.1.12.2
No symbol table info available.
#4  0x40e8352c in H245NegLogicalChannels::HandleOpen(H245_OpenLogicalChannel const&) () from /usr/local/lib/libh323_linux_x86_r.so.1.12.2
No symbol table info available.
ASTERISK-1  0x40e7103e in H323Connection::OnH245Request(H323ControlPDU const&) ()
  from /usr/local/lib/libh323_linux_x86_r.so.1.12.2
No symbol table info available.
ASTERISK-2  0x40e70e16 in H323Connection::HandleControlPDU(H323ControlPDU const&) ()
  from /usr/local/lib/libh323_linux_x86_r.so.1.12.2
No symbol table info available.
ASTERISK-3  0x40e70c3d in H323Connection::HandleControlData(PPER_Stream&) ()
  from /usr/local/lib/libh323_linux_x86_r.so.1.12.2
No symbol table info available.
ASTERISK-4  0x40e708fb in H323Connection::HandleControlChannel() ()
  from /usr/local/lib/libh323_linux_x86_r.so.1.12.2
No symbol table info available.
ASTERISK-5  0x40eaccbc in H245TransportThread::Main() ()
  from /usr/local/lib/libh323_linux_x86_r.so.1.12.2
No symbol table info available.
ASTERISK-6 0x40820de3 in PThread::PX_ThreadStart(void*) ()
  from /usr/local/lib/libpt_linux_x86_r.so.1.5.2
No symbol table info available.
ASTERISK-7 0x40028473 in pthread_start_thread () from /lib/libpthread.so.0
No symbol table info available.


litw@phongo:/$ ls -la core*
-rw-------    1 root     root     62996480 Jan 26 17:14 core.28753
-rw-------    1 root     root     61448192 Jan 26 18:02 core.28827
-rw-------    1 root     root     62803968 Jan 29 16:28 core.32196

Comments:By: Pavel Litvinenko (pavell) 2004-01-31 10:17:57.000-0600

phongo*CLI> show version
Asterisk CVS-01/18/04-22:06:51 built by root@phongo on a i686 running Linux

By: Brian West (bkw918) 2004-01-31 13:00:48.000-0600

This isn't an asterisk bug, I think this is associted with your pwlib and openh323 ... I have h323 working and it works perfect with the recommened versions of pwlib and oh323

By: Paul Cadach (pcadach) 2004-02-08 00:05:23.000-0600

It is chan_h323 related bug (found and fixed on my box) - when RTP structure cannot be created (don't let to know reason for it - say, low memory), it returns NULL value which is not analyzed in ast_h323.cpp... Two-line fix (immediately after "info = on_create_connection(GetCallReference());" line):
               return NULL;

By: Brian West (bkw918) 2004-02-14 23:09:38.000-0600

Attach a diff.

By: jerjer (jerjer) 2004-03-04 01:19:45.000-0600

fixed in cvs

By: Digium Subversion (svnbot) 2008-01-15 14:45:45.000-0600

Repository: asterisk
Revision: 2328

U   trunk/channels/h323/ast_h323.cpp

r2328 | jeremy | 2008-01-15 14:45:44 -0600 (Tue, 15 Jan 2008) | 2 lines

check return value stop seg. Bug ASTERISK-961