On 11/10/2014 01:44 PM, Holger Hans Peter Freyther wrote:
On Mon, Nov 10, 2014 at 12:16:47PM -0600, Ciaby
wrote:
Sometimes osmo-nitb crashes, and our users have
reported the fact that sometimes they end up listening to someone's else conversation.
ouch!
This started to happen since we enabled
handover.
This is the backtrace i got from a core dump of osmo-nitb:
(gdb) bt
Can you please make a "bt full" so we see the values of
structures
Any clue about why this is happening?
Yes. "abnormal" condition. So somehow conn->subscr = NULL. This
means the subscriber was never loaded from the database or what
is more likely is that subscr_con_free has been called for the
old channel.
subscr_name(ho->old_lchan->conn->subscr)
is crashing because subscr is 0x0. I wonder about the state of
conn and the old_lchan in general. My guess would be that the
old_lchan has already failed.
Here comes the "bt full" output:
#0 subscr_name (subscr=0x0) at gsm_subscriber_base.c:47
No locals.
#1 0x00000000004079e3 in ho_gsm48_ho_compl (new_lchan=0x7fb1a80dd0b0)
at handover_logic.c:259
net = 0x894690
ho = 0xe1ccb0
#2 ho_logic_sig_cb (signal_data=<optimized out>, signal=<optimized
out>, subsys=<optimized out>, handler_data=<optimized out>) at
handover_logic.c:353
lchan = 0x7fb1a80dd0b0
#3 ho_logic_sig_cb (subsys=<optimized out>, signal=<optimized out>,
handler_data=<optimized out>, signal_data=<optimized out>) at
handover_logic.c:335
lchan_data = <optimized out>
#4 0x00007fb1a76dccec in osmo_signal_dispatch (subsys=4, signal=3,
signal_data=0x7ffffe668090) at signal.c:105
handler = 0x7af060
#5 0x0000000000408d25 in handle_rr_ho_compl (msg=<optimized out>) at
bsc_api.c:524
sig = {lchan = 0x7fb1a80dd0b0, mr = 0x0}
gh = <optimized out>
#6 dispatch_dtap (msg=0x2436980, link_id=<optimized out>,
conn=0xc8e070) at bsc_api.c:583
api = 0x6757c0
gh = <optimized out>
pdisc = <optimized out>
rc = <optimized out>
#7 gsm0408_rcvmsg (msg=0x2436980, link_id=<optimized out>) at bsc_api.c:657
rc = <optimized out>
api = 0x6757c0
lchan = 0x7fb1a80dd0b0
#8 0x000000000041fde1 in abis_rsl_rx_rll (msg=0x2436980) at abis_rsl.c:1682
rllh = 0x2436a0e
ts_name = <optimized out>
sign_link = <optimized out>
rc = 0
sapi = <optimized out>
#9 abis_rsl_rcvmsg (msg=0x2436980) at abis_rsl.c:2093
rslh = 0x2436a0e
rc = 0
#10 0x00007fb1a74cce5a in handle_ts1_read (bfd=0x90d6b8) at
input/ipaccess.c:469
line = 0x90cb00
link = <optimized out>
hh = 0x2436a0b
msg = 0x2436980
ret = <optimized out>
ts_nr = 2
e1i_ts = 0x90d118
#11 ipaccess_fd_cb (bfd=0x90d6b8, what=1) at input/ipaccess.c:603
rc = 0
#12 0x00007fb1a76dca11 in osmo_select_main (polling=0) at select.c:158
flags = 1
ufd = 0x90d6b8
tmp = 0x8aa118
readset = {__fds_bits = {0 <repeats 16 times>}}
writeset = {__fds_bits = {0 <repeats 16 times>}}
exceptset = {__fds_bits = {0 <repeats 16 times>}}
work = 1
rc = <optimized out>
no_time = {tv_sec = 0, tv_usec = 0}
#13 0x0000000000406e34 in main (argc=<optimized out>,
argv=0x7ffffe6684f8) at bsc_hack.c:354
rc = <optimized out>
Cheers
Ciaby