Jan; I usually grab the source from CVS using; cvs -d:pserver:anonymous:@openh323gk.cvs.sourceforge.net:/cvsroot/openh323gk login cvs -q -z3 -d:pserver:anonymous@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:/cvsroot/openh323gk co -P openh323gk How do I specifically checkout the v3_2_STABLE branch? Thanks Andrew -----Original Message----- From: Jan Willamowius Sent: Sunday, February 24, 2013 4:06 AM To: openh323gk-users@xxxxxxxxxxxxxxxxxxxxx Subject: Re: Crashing parent GnuGK while attempting additive registration from child Hi, I have backported the 3.3 version of SetAliases() to the v3_2_STABLE branch in the CVS, so it won't crash. Regards, Jan Abes Dabir wrote: > Looks like the issue is fixed in 3.3. > > After some testing, I can get into a situation where the endpoint is > registered with the child, and the child is registered with the parent, > but the parent doesn't know about the endpoint. I'll open another > thread for this once I have verified the exact scenario to reproduce. > > Thanks for your help. Btw, any idea when 3.3 might be ready to be > released? > Abes > > On 13-02-22 04:01 PM, Jan Willamowius wrote: > > Hi, > > > > it seems Simon has already rewritten exactly that method (SetAliases) > > for GnuGk 3.3. Did you try if the issue still happens with the latest > > CVS ? > > > > Regards, > > Jan > > > > Abes Dabir wrote: > >> Simon, Jan, > >> > >> Here is the backtrace: > >> > >> [Thread debugging using libthread_db enabled] > >> Using host libthread_db library > >> "/lib/x86_64-linux-gnu/libthread_db.so.1". > >> Core was generated by `/opt/magor/gnugk/bin/gnugk --config > >> /opt/magor/conf/gatekeeper.ini --pid /var/r'. > >> Program terminated with signal 11, Segmentation fault. > >> #0 0x000000000087d497 in PASN_Choice::operator= (this=0x0, other=...) > >> at ptclib/asner.cxx:1795 > >> 1795 ptclib/asner.cxx: No such file or directory. > >> (gdb) > >> (gdb) bt > >> #0 0x000000000087d497 in PASN_Choice::operator= (this=0x0, other=...) > >> at ptclib/asner.cxx:1795 > >> #1 0x0000000000472b71 in H225_AliasAddress::operator= (this=0x0) at > >> /home/abes/Downloads/test/h323plus/include/h225.h:500 > >> #2 0x0000000000453b04 in EndpointRec::SetAliases (this=0x7f3cc8003cc0, > >> a=..., additive=true) at RasTbl.cxx:660 > >> #3 0x00000000004e543f in > >> RegistrationRequestPDU::HandleAdditiveRegistration (this=0x17f7960, > >> ep=...) at RasSrv.cxx:2577 > >> #4 0x00000000004e26a7 in RegistrationRequestPDU::Process > >> (this=0x17f7960) at RasSrv.cxx:2055 > >> #5 0x00000000004d9094 in RasMsg::Exec (this=0x17f7960) at > >> RasSrv.cxx:382 > >> #6 0x000000000040c9b9 in Jobs::Run (this=0x17f7990) at job.cxx:409 > >> #7 0x000000000040b9de in Worker::Main (this=0x17f57a0) at job.cxx:182 > >> #8 0x00000000008d979d in PThread::PX_ThreadStart (arg=0x17f57a0) at > >> ptlib/unix/tlibthrd.cxx:491 > >> #9 0x00007f3ced2a2e9a in start_thread () from > >> /lib/x86_64-linux-gnu/libpthread.so.0 > >> #10 0x00007f3cebe59cbd in clone () from /lib/x86_64-linux-gnu/libc.so.6 > >> #11 0x0000000000000000 in ?? () > >> > >> > >> I was using the binaries before. The above is from a fresh compilation > >> as per the chap 14 instructions. Details: > >> > >> Gatekeeper(GNU) Version(3.2.0) > >> Ext(pthreads=1,radius=1,mysql=0,pgsql=0,firebird=0,odbc=0,sqlite=0,large_fdset=0,crypto/ssl=1,h46018=0,h46023=1,ldap=0,ssh=0,ipv6=0,h235media=0,lua=0,h46017=1,snmp=1) > >> H323Plu > >> s(1.25.0) PTLib(2.10.9) Build(Feb 22 2013, 14:10:06) Sys(Linux x86_64 > >> 3.2.0-36-generic) > >> > >> > >> Cheers, > >> Abes > >> > >> On 13-02-22 08:24 AM, Jan Willamowius wrote: > >>> Hi Abes, > >>> > >>> could you please provide a stacktrace of the crash as explained in > >>> chapter 14.3 of the manual ? > >>> http://www.gnugk.org/gnugk-manual-14.html#ss14.3 > >>> > >>> Please make sure you do a "make clean" before the compile. > >>> > >>> Thanks, > >>> Jan > >>> > >>> Abes Dabir wrote: > >>>> Hi, > >>>> > >>>> I've got a small test network setup with a parent GnuGk, and 2 child > >>>> GnuGks. I've upgraded the parent and one of the children to 3.2 and > >>>> I'm > >>>> trying to get additive registrations to work on the two upgraded > >>>> systems. I'm going to ignore the other child that is still running > >>>> 3.1 > >>>> for now. Basically, an endpoint behind the child, 6820, tries > >>>> registering with the child, which sends the registration to the > >>>> parent, > >>>> at which point, the parent GnuGk crashes. > >>>> > >>>> Each of the two GnuGk instances is straddling a NAT. Here is a crude > >>>> representation of the network setup: > >>>> > >>>> endpoint(6820)[172.22.0.100] -------- > >>>> [172.22.0.10]GnuGk-Child[10.111.0.4] -------- > >>>> [10.111.0.1]GnuGk-Parent[192.168.217.119] > >>>> > >>>> > >>>> I'd appreciate any help in getting this setup to work. > >>>> > >>>> > >>>> Last lines of logging (Trace 5) on the parent before it dies: > >>>> ----------------------------------------------------------------------------- > >>>> > >>>> 2013/02/21 18:08:00.855 4 RasSrv.cxx(241) RAS > >>>> Receiving > >>>> on 10.111.0.1:1719(U) > >>>> 2013/02/21 18:08:00.856 2 RasSrv.cxx(176) RAS Read > >>>> from 10.111.0.4:1719 > >>>> 2013/02/21 18:08:00.856 3 RasSrv.cxx(250) RAS > >>>> registrationRequest { > >>>> requestSeqNum = 4 > >>>> protocolIdentifier = 0.0.8.2250.0.2 > >>>> nonStandardData = { > >>>> nonStandardIdentifier = h221NonStandard { > >>>> t35CountryCode = 138 > >>>> t35Extension = 2 > >>>> manufacturerCode = 2 > >>>> } > >>>> data = 13 octets { > >>>> 49 50 3d 31 30 2e 31 31 31 2e 30 2e 34 IP=10.111.0.4 > >>>> } > >>>> } > >>>> discoveryComplete = true > >>>> callSignalAddress = 1 entries { > >>>> [0]=ipAddress { > >>>> ip = 4 octets { > >>>> 0a 6f 00 04 .o.. > >>>> } > >>>> port = 1720 > >>>> } > >>>> } > >>>> rasAddress = 1 entries { > >>>> [0]=ipAddress { > >>>> ip = 4 octets { > >>>> 0a 6f 00 04 .o.. > >>>> } > >>>> port = 1719 > >>>> } > >>>> } > >>>> terminalType = { > >>>> mc = false > >>>> undefinedNode = false > >>>> } > >>>> terminalAlias = 2 entries { > >>>> [0]=dialedDigits "6820" > >>>> [1]=h323_ID 9 characters { > >>>> 0068 0033 0032 0033 003a 0036 0038 0032 h323:682 > >>>> 0030 0 > >>>> } > >>>> } > >>>> gatekeeperIdentifier = 11 characters { > >>>> 004d 0061 0067 006f 0072 0048 0033 0032 MagorH32 > >>>> 0033 0047 004b 3GK > >>>> } > >>>> endpointVendor = { > >>>> vendor = { > >>>> t35CountryCode = 0 > >>>> t35Extension = 0 > >>>> manufacturerCode = 0 > >>>> } > >>>> } > >>>> keepAlive = true > >>>> endpointIdentifier = 9 characters { > >>>> 0032 0036 0038 0039 005f 0065 006e 0064 2689_end > >>>> 0070 p > >>>> } > >>>> willSupplyUUIEs = false > >>>> maintainConnection = false > >>>> additiveRegistration = <<null>> > >>>> supportsAltGK = <<null>> > >>>> supportsAssignedGK = false > >>>> } > >>>> 2013/02/21 18:08:00.856 5 job.cxx(338) JOB Worker > >>>> threads: 7 total - 6 busy, 1 idle > >>>> 2013/02/21 18:08:00.856 5 job.cxx(180) JOB Starting > >>>> Job RRQ at Worker thread 140337482516224 > >>>> 2013/02/21 18:08:00.856 1 RasSrv.cxx(381) RAS RRQ > >>>> Received from 10.111.0.4:1719 > >>>> 2013/02/21 18:08:00.856 0 assert.cxx(112) PWLib > >>>> Assertion > >>>> fail: Invalid array element, file /root/ptlib/include/ptlib/array.h, > >>>> line 1063 > >>>> > >>>> > >>>> > >>>> Log (Trace 3) from the child when it receives the RRQ from the > >>>> endpoint > >>>> behind it, and sends it to the parent: > >>>> -------------------------------------------------------------------------------------------------------------------------------------------------- > >>>> > >>>> 2013/02/21 18:08:00.854 2 RasSrv.cxx(176) RAS Read > >>>> from 172.22.0.100:1719 > >>>> 2013/02/21 18:08:00.854 3 RasSrv.cxx(250) RAS > >>>> registrationRequest { > >>>> requestSeqNum = 42361 > >>>> protocolIdentifier = 0.0.8.2250.0.6 > >>>> discoveryComplete = false > >>>> callSignalAddress = 1 entries { > >>>> [0]=ipAddress { > >>>> ip = 4 octets { > >>>> ac 16 00 64 ...d > >>>> } > >>>> port = 1720 > >>>> } > >>>> } > >>>> rasAddress = 1 entries { > >>>> [0]=ipAddress { > >>>> ip = 4 octets { > >>>> ac 16 00 64 ...d > >>>> } > >>>> port = 1719 > >>>> } > >>>> } > >>>> terminalType = { > >>>> vendor = { > >>>> vendor = { > >>>> t35CountryCode = 9 > >>>> t35Extension = 0 > >>>> manufacturerCode = 61 > >>>> } > >>>> productId = 21 octets { > >>>> 46 72 65 65 53 57 49 54 43 48 20 6d 6f 64 5f 68 > >>>> FreeSWITCH mod_h > >>>> 33 32 33 00 00 323.. > >>>> } > >>>> versionId = 30 octets { > >>>> 31 2e 30 61 6c 70 68 61 31 20 28 48 33 32 33 70 > >>>> 1.0alpha1 (H323p > >>>> 6c 75 73 20 76 31 2e 32 34 2e 30 29 00 00 lus > >>>> v1.24.0).. > >>>> } > >>>> } > >>>> terminal = { > >>>> } > >>>> mc = false > >>>> undefinedNode = false > >>>> } > >>>> terminalAlias = 2 entries { > >>>> [0]=dialedDigits "6820" > >>>> [1]=h323_ID 9 characters { > >>>> 0068 0033 0032 0033 003a 0036 0038 0032 h323:682 > >>>> 0030 0 > >>>> } > >>>> } > >>>> gatekeeperIdentifier = 15 characters { > >>>> 0050 0068 006f 0065 006e 0069 0078 002d Phoenix- > >>>> 0043 0068 0069 006c 0064 0047 004b ChildGK > >>>> } > >>>> endpointVendor = { > >>>> vendor = { > >>>> t35CountryCode = 9 > >>>> t35Extension = 0 > >>>> manufacturerCode = 61 > >>>> } > >>>> productId = 21 octets { > >>>> 46 72 65 65 53 57 49 54 43 48 20 6d 6f 64 5f 68 > >>>> FreeSWITCH mod_h > >>>> 33 32 33 00 00 323.. > >>>> } > >>>> versionId = 30 octets { > >>>> 31 2e 30 61 6c 70 68 61 31 20 28 48 33 32 33 70 > >>>> 1.0alpha1 (H323p > >>>> 6c 75 73 20 76 31 2e 32 34 2e 30 29 00 00 lus > >>>> v1.24.0).. > >>>> } > >>>> } > >>>> timeToLive = 30 > >>>> keepAlive = false > >>>> endpointIdentifier = 9 characters { > >>>> 0038 0035 0038 0036 005f 0065 006e 0064 8586_end > >>>> 0070 p > >>>> } > >>>> willSupplyUUIEs = true > >>>> maintainConnection = false > >>>> supportsAltGK = <<null>> > >>>> usageReportingCapability = { > >>>> nonStandardUsageTypes = 0 entries { > >>>> } > >>>> startTime = <<null>> > >>>> endTime = <<null>> > >>>> terminationCause = <<null>> > >>>> } > >>>> callCreditCapability = { > >>>> canEnforceDurationLimit = true > >>>> } > >>>> } > >>>> 2013/02/21 18:08:00.855 1 RasSrv.cxx(381) RAS RRQ > >>>> Received from 172.22.0.100:1719 > >>>> 2013/02/21 18:08:00.855 3 RasSrv.cxx(262) RAS Send > >>>> to > >>>> 10.111.0.1:1719 > >>>> registrationRequest { > >>>> requestSeqNum = 4 > >>>> protocolIdentifier = 0.0.8.2250.0.2 > >>>> nonStandardData = { > >>>> nonStandardIdentifier = h221NonStandard { > >>>> t35CountryCode = 138 > >>>> t35Extension = 2 > >>>> manufacturerCode = 2 > >>>> } > >>>> data = 13 octets { > >>>> 49 50 3d 31 30 2e 31 31 31 2e 30 2e 34 IP=10.111.0.4 > >>>> } > >>>> } > >>>> discoveryComplete = true > >>>> callSignalAddress = 1 entries { > >>>> [0]=ipAddress { > >>>> ip = 4 octets { > >>>> 0a 6f 00 04 .o.. > >>>> } > >>>> port = 1720 > >>>> } > >>>> } > >>>> rasAddress = 1 entries { > >>>> [0]=ipAddress { > >>>> ip = 4 octets { > >>>> 0a 6f 00 04 .o.. > >>>> } > >>>> port = 1719 > >>>> } > >>>> } > >>>> terminalType = { > >>>> mc = false > >>>> undefinedNode = false > >>>> } > >>>> terminalAlias = 2 entries { > >>>> [0]=dialedDigits "6820" > >>>> [1]=h323_ID 9 characters { > >>>> 0068 0033 0032 0033 003a 0036 0038 0032 h323:682 > >>>> 0030 0 > >>>> } > >>>> } > >>>> gatekeeperIdentifier = 11 characters { > >>>> 004d 0061 0067 006f 0072 0048 0033 0032 MagorH32 > >>>> 0033 0047 004b 3GK > >>>> } > >>>> endpointVendor = { > >>>> vendor = { > >>>> t35CountryCode = 0 > >>>> t35Extension = 0 > >>>> manufacturerCode = 0 > >>>> } > >>>> } > >>>> keepAlive = true > >>>> endpointIdentifier = 9 characters { > >>>> 0032 0036 0038 0039 005f 0065 006e 0064 2689_end > >>>> 0070 p > >>>> } > >>>> willSupplyUUIEs = false > >>>> maintainConnection = false > >>>> additiveRegistration = <<null>> > >>>> supportsAltGK = <<null>> > >>>> supportsAssignedGK = false > >>>> } > >>>> > >>>> > >>>> Configuration on the parent: > >>>> -------------------------------------- > >>>> > >>>> [Gatekeeper::Main] > >>>> Fourtytwo = 42 > >>>> Name = MagorH323GK > >>>> TimeToLive = 100 > >>>> StatusPort = 7000 > >>>> TraceLevel = 5 > >>>> Home = 10.111.0.1,192.168.217.119,127.0.0.1 > >>>> ExternalIP = 192.168.217.119 > >>>> > >>>> [RoutedMode] > >>>> GKRouted = 1 > >>>> H245Routed = 1 > >>>> AcceptUnregisteredCalls = 1 > >>>> AcceptNeighborsCalls = 1 > >>>> CallSignalPort = 1720 > >>>> CallSignalHandlerNumber = 1 > >>>> RemoveH245AddressOnTunneling = 1 > >>>> DropCallsByReleaseComplete = 1 > >>>> SupportNATedEndpoints = 1 > >>>> SupportCallingNATedEndpoints = 1 > >>>> Q931PortRange = 30000-30099 > >>>> H245PortRange = 31000-31099 > >>>> SendReleaseCompleteOnDRQ = 1 > >>>> > >>>> [Proxy] > >>>> Enable = 1 > >>>> InternalNetwork = 10.111.0.1/255.255.0.0 > >>>> T120PortRange = 32000-41999 > >>>> RTPPortRange = 32000-41999 > >>>> ProxyForNAT = 1 > >>>> ProxyForSameNAT = 0 > >>>> ProxyAlways = 1 > >>>> > >>>> [RasSrv::LRQFeatures] > >>>> NeighborTimeout = 6 > >>>> ForwardHopCount = 8 > >>>> AlwaysForwardLRQ = 1 > >>>> IncludeDestinationInfoInLCF = 1 > >>>> CiscoGKCompatible = 1 > >>>> > >>>> [RasSrv::RRQFeatures] > >>>> EnableAdditiveRegistration=1 > >>>> > >>>> [RoutingPolicy] > >>>> default = explicit,internal,enum,srv,dns > >>>> > >>>> [GkStatus::Auth] > >>>> rule = explicit > >>>> DelayReject = 5 > >>>> 127.0.0.1 = allow > >>>> > >>>> [LogFile] > >>>> Rotate = Weekly > >>>> RotateDay = Sun > >>>> RotateTime = 00:59 > >>>> Filename = /var/log/magor/gnugk/gnugk.log > >>>> > >>>> [PortNotifications] > >>>> Q931PortOpen = > >>>> /opt/magor/util/scripts/firewall/gnugk/open-pinhole-inbound-gnugk.sh > >>>> %p > >>>> %n %i > >>>> Q931PortClose = > >>>> /opt/magor/util/scripts/firewall/gnugk/close-pinhole-inbound-gnugk.sh > >>>> %p > >>>> %n %i > >>>> H245PortOpen = > >>>> /opt/magor/util/scripts/firewall/gnugk/open-pinhole-inbound-gnugk.sh > >>>> %p > >>>> %n %i > >>>> H245PortClose = > >>>> /opt/magor/util/scripts/firewall/gnugk/close-pinhole-inbound-gnugk.sh > >>>> %p > >>>> %n %i > >>>> RTPPortOpen = > >>>> /opt/magor/util/scripts/firewall/gnugk/open-pinhole-inbound-gnugk.sh > >>>> %p > >>>> %n %i > >>>> RTPPortClose = > >>>> /opt/magor/util/scripts/firewall/gnugk/close-pinhole-inbound-gnugk.sh > >>>> %p > >>>> %n %i > >>>> > >>>> > >>>> > >>>> > >>>> Configuration on the child: > >>>> ----------------------------------- > >>>> > >>>> [Gatekeeper::Main] > >>>> Fourtytwo = 42 > >>>> Name = Phoenix-ChildGK > >>>> TimeToLive = 100 > >>>> StatusPort = 7000 > >>>> TraceLevel = 3 > >>>> Home = 172.22.0.10,10.111.0.4,127.0.0.1 > >>>> ExternalIP = 10.111.0.4 > >>>> > >>>> [RoutedMode] > >>>> GKRouted = 1 > >>>> H245Routed = 1 > >>>> AcceptUnregisteredCalls = 1 > >>>> AcceptNeighborsCalls = 1 > >>>> CallSignalPort = 1720 > >>>> CallSignalHandlerNumber = 1 > >>>> RemoveH245AddressOnTunneling = 1 > >>>> DropCallsByReleaseComplete = 1 > >>>> SupportNATedEndpoints = 1 > >>>> SupportCallingNATedEndpoints = 1 > >>>> Q931PortRange = 30000-30099 > >>>> H245PortRange = 31000-31099 > >>>> SendReleaseCompleteOnDRQ = 1 > >>>> > >>>> [Proxy] > >>>> Enable = 1 > >>>> InternalNetwork = 172.22.0.10/255.255.255.0 > >>>> T120PortRange = 32000-41999 > >>>> RTPPortRange = 32000-41999 > >>>> ProxyForNAT = 1 > >>>> ProxyForSameNAT = 0 > >>>> ProxyAlways = 1 > >>>> > >>>> [RasSrv::LRQFeatures] > >>>> NeighborTimeout = 6 > >>>> ForwardHopCount = 8 > >>>> AlwaysForwardLRQ = 1 > >>>> IncludeDestinationInfoInLCF = 1 > >>>> CiscoGKCompatible = 1 > >>>> > >>>> [RasSrv::RRQFeatures] > >>>> EnableAdditiveRegistration=1 > >>>> > >>>> [RoutingPolicy] > >>>> default = explicit,internal,parent > >>>> > >>>> [GkStatus::Auth] > >>>> rule = explicit > >>>> DelayReject = 5 > >>>> 127.0.0.1 = allow > >>>> > >>>> [LogFile] > >>>> Rotate = Weekly > >>>> RotateDay = Sun > >>>> RotateTime = 00:59 > >>>> Filename = /var/log/magor/gnugk/gnugk.log > >>>> > >>>> [PortNotifications] > >>>> Q931PortOpen = > >>>> /opt/magor/util/scripts/firewall/gnugk/open-pinhole-inbound-gnugk.sh > >>>> %p > >>>> %n %i > >>>> Q931PortClose = > >>>> /opt/magor/util/scripts/firewall/gnugk/close-pinhole-inbound-gnugk.sh > >>>> %p > >>>> %n %i > >>>> H245PortOpen = > >>>> /opt/magor/util/scripts/firewall/gnugk/open-pinhole-inbound-gnugk.sh > >>>> %p > >>>> %n %i > >>>> H245PortClose = > >>>> /opt/magor/util/scripts/firewall/gnugk/close-pinhole-inbound-gnugk.sh > >>>> %p > >>>> %n %i > >>>> RTPPortOpen = > >>>> /opt/magor/util/scripts/firewall/gnugk/open-pinhole-inbound-gnugk.sh > >>>> %p > >>>> %n %i > >>>> RTPPortClose = > >>>> /opt/magor/util/scripts/firewall/gnugk/close-pinhole-inbound-gnugk.sh > >>>> %p > >>>> %n %i > >>>> > >>>> [Endpoint] > >>>> Gatekeeper = 10.111.0.1 > >>>> EnableAdditiveRegistration=1 > >>>> > >>>> > >>>> > >>>> > >>>> Thanks, > >>>> Abes Dabir -- Jan Willamowius, jan@xxxxxxxxxxxxxx, http://www.gnugk.org/ ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________________ Posting: mailto:Openh323gk-users@xxxxxxxxxxxxxxxxxxxxx Archive: http://sourceforge.net/mailarchive/forum.php?forum_name=openh323gk-users Unsubscribe: http://lists.sourceforge.net/lists/listinfo/openh323gk-users Homepage: http://www.gnugk.org/ ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________________ Posting: mailto:Openh323gk-users@xxxxxxxxxxxxxxxxxxxxx Archive: http://sourceforge.net/mailarchive/forum.php?forum_name=openh323gk-users Unsubscribe: http://lists.sourceforge.net/lists/listinfo/openh323gk-users Homepage: http://www.gnugk.org/