On Mon, Jul 29, 2013 at 10:12:12AM +0200, Holger Hans Peter Freyther wrote:
If somebody at OHM or somewhere else could/want to
apply this to their
SGSN installation it would be greatly appreciated.
Hi,
I was doing a GPRS Attach and PDP Context Activation with one of the
sysmocom GSM modules and my E71. Without the patches applied the E71
fails to re-attach after a SGSN/PCU re-start with the same symptom
(all our identity requests are sent with N(U) = 0). If you don't mind
I will push these two changes to master.
I did this without a GGSN running and ran into the PDP Activcation
Timeout... and a warning/backtrace. The below should fix it but I don't
have time to verify that tonight.
<000f> sgsn_libgtp.c:265 Received CREATE PDP CTX CONF, cause=-1(unknown 0xffffffff)
<000f> sgsn_libgtp.c:269 Create PDP ctx req timed out
<000f> gprs_sgsn.c:259 freeing PDP context that still has a libgtp handle attached
to it, this shouldn't happen!
backtrace() returned 11 addresses
/home/ich/install/openbsc/lib/libosmocore.so.4(osmo_generate_backtrace+0x16) [0xb72fba36]
./src/gprs/osmo-sgsn() [0x804d364]
./src/gprs/osmo-sgsn() [0x804f859]
/home/ich/install/openbsc/lib/libgtp.so.0(gtp_retrans+0x87) [0xb730de97]
./src/gprs/osmo-sgsn() [0x804f446]
/home/ich/install/openbsc/lib/libosmocore.so.4(osmo_timers_update+0xb1) [0xb72f7b91]
/home/ich/install/openbsc/lib/libosmocore.so.4(osmo_select_main+0x14b) [0xb72f7e8b]
./src/gprs/osmo-sgsn() [0x804a0d1]
/lib/i386-linux-gnu/i686/cmov/libc.so.6(__libc_start_main+0xf5) [0xb70af8f5]
./src/gprs/osmo-sgsn() [0x804a17d]
diff --git a/openbsc/src/gprs/sgsn_libgtp.c b/openbsc/src/gprs/sgsn_libgtp.c
index f2eb35d..bdab082 100644
--- a/openbsc/src/gprs/sgsn_libgtp.c
+++ b/openbsc/src/gprs/sgsn_libgtp.c
@@ -294,6 +294,9 @@ reject:
pctx->state = PDP_STATE_NONE;
if (pdp)
pdp_freepdp(pdp);
+ OSMO_ASSERT(pdp == pctx->lib);
+ pctx->lib = NULL;
+
/* Send PDP CTX ACT REJ to MS */
rc = gsm48_tx_gsm_act_pdp_rej(pctx->mm, pctx->ti, reject_cause,
0, NULL);