This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.
Pablo Neira Ayuso pablo at gnumonks.orgHi Harald, On Mon, Oct 22, 2012 at 10:22:45AM +0200, Harald Welte wrote: > Hi Lennart, > > On Sun, Oct 21, 2012 at 08:57:31PM +0200, Lennart Müller wrote: > > 2012/10/18 Harald Welte <laforge at gnumonks.org> > > > I strongly suggest you take a pcap capture file (like "tcpdump -ni eth0 > > > -s0 -w/tmp/my.pcap") and figure out which exact message is causing the > > > problem. Then you forward the relevant portion of the pcap file to this > > > list. > > > > I've attached a trace, no. 35 (data indication) seems to cause the drop. > > I'm a bit puzzled by this. > > "MM STATUS" is handled by gsm48_rx_mm_status() which unconditionally > returns '0', i.e. our return value for success. gsm0408_rcv_mm(), the > calling function, clearly returns this return value of '0' up to the > caller gsm0408_dispatch(), which again returns it to its caller. > > So from what I can tell in the code, I don't see an obvious path how > that message should ever return -1 to libosmo-abis, which then drops the > link. > > It would be useful if you could spend some more time to try to hunt this > down, possibly by printing a backtrace using "osmo_log_backtrace(DLINP, > LOGL_ERROR)" around line 455 of libosmo-abis/src/input/ipaccess.c > within in the section/clause: > > if (e1i_ts->line->ops->sign_link(msg) < 0) { > ... > } > > which is where the 'Bad signalling message' error message is printed > first. The backtrace will only be addresses, and you would have to use > the symbol table to figure out which function caused it (e.g. by using > objdump). > > Pablo: It actually would make sense to include this call to > osmo_log_backtrace() as a default in libosmo-abis, what do you think? Not sure that will help. I can do that but, AFAICS, it will not show the code trace in openbsc that spotted that problem (since we would be already out of its scope once libosmo-abis notices the problem). As an alternative, I can develop some little extension for libosmocore to store the packet that triggered the problem in some file like "ipaccess-bad-signalling-link-DATE.pcap". So we can make sure what packet triggered the problem. Let me know if I'm missing anything.