[asterisk-ss7] chan_ss7 cluster config.c segfault

Gregory Massel greg at csurf.co.za
Mon Mar 7 19:11:20 CST 2011


Hello

I'm trying to set up a chan_ss7 cluster, however, both chan_ss7 and mtp3d 
segfault in config.c when trying to read the [cluster] section of the config 
file.

To ensure it wasn't my config, I eventually used the 
ss7.conf.template.two-hosts sample (as distributed in the chan_ss7 source) 
and the same thing occurred.

The problem seems to arise in config.c on the link lines. The following is 
problematic:

[cluster]
port => 5040
l1 => gentoo2#if-1,gentoo2#if-2
l2 => gentoo1#if-1,gentoo1#if-2
l3 => gentoo2#if-1,gentoo2#if-2
l4 => gentoo1#if-1,gentoo1#if-2

It results in:

Mar 08 02:35:02 [NOTICE] config.c:502 load_config_linkset Using default 
context 'default' for linkset 'siuc'
Mar 08 02:35:02 [NOTICE] config.c:504 load_config_linkset Using default 
language '' for linkset 'siuc'
Mar 08 02:35:02 [NOTICE] config.c:502 load_config_linkset Using default 
context 'default' for linkset 'peer2'
Mar 08 02:35:02 [NOTICE] config.c:504 load_config_linkset Using default 
language '' for linkset 'peer2'
Mar 08 02:35:02 [NOTICE] config.c:804 load_config_link Configured link 'l1' 
on linkset 'siuc', firstcic=1
Mar 08 02:35:02 [NOTICE] config.c:804 load_config_link Configured link 'l2' 
on linkset 'siuc', firstcic=33
Mar 08 02:35:02 [NOTICE] config.c:804 load_config_link Configured link 'l3' 
on linkset 'peer2', firstcic=1
Mar 08 02:35:02 [NOTICE] config.c:804 load_config_link Configured link 'l4' 
on linkset 'peer2', firstcic=33
Segmentation fault

As soon as I comment out the link lines:

[cluster]
port => 5040
;l1 => gentoo2#if-1,gentoo2#if-2
;l2 => gentoo1#if-1,gentoo1#if-2
;l3 => gentoo2#if-1,gentoo2#if-2
;l4 => gentoo1#if-1,gentoo1#if-2

Then asterisk starts up and mtp3d gets a bit further:

Mar 08 02:36:51 [NOTICE] mtp.c:2378 mtp_init Initialising 2 signalling links
    -- Starting mtp mainloop, pid=3260.
No signaling channels

I'm trying to use chan_ss7 1.4.3 on Asterisk 1.4.40, Linux kernel 
2.6.32-28-server, libc6 2.11.1, Ubuntu 10.04.1 LTS (64-bit).

In terms of trying to isolate where within config.c the segfault occurs, I 
have tried making an intentional typo on the link name and it does get as 
far as:

Mar 08 02:50:05 [ERROR] config.c:1123 load_config_cluster The link 'dl1' is 
not defined while parsing cluster category.

Unfortunately, as soon as there is a valid link name specified, it 
segfaults, irrespective of what is to the right of the "=>". You can even 
put garbage (e.g. "l1 => abc") and it will segfault before trying to sanity 
check the rest of the line.

Thanks

Greg 




More information about the asterisk-ss7 mailing list