Hi, I have this setup:
SMSC<----->Bearerbox <-----> Sqlbox <------>Opensmppbox <-----> SMPP client Everything runs fine untill Opensmppbox send deliver_sm to smpp client. It crashes with following error in the log: --------------------------------------------------------------------------------------------------------------------- 2014-04-29 18:05:30 [10020] [1] PANIC: gwlib/octstr.c:2509: seems_valid_real: Assertion `ostr->data[ostr->len] == '\0'' failed. (Called from opensmppbox.c:828:msg_to_pdu.) 2014-04-29 18:05:30 [10020] [1] PANIC: ./opensmppbox(gw_panic+0x147) [0x441527] 2014-04-29 18:05:30 [10020] [1] PANIC: ./opensmppbox() [0x44255b] 2014-04-29 18:05:30 [10020] [1] PANIC: ./opensmppbox(octstr_duplicate_real+0x2e) [0x4459fe] 2014-04-29 18:05:30 [10020] [1] PANIC: ./opensmppbox() [0x40c1fc] 2014-04-29 18:05:30 [10020] [1] PANIC: ./opensmppbox() [0x40f391] 2014-04-29 18:05:30 [10020] [1] PANIC: ./opensmppbox() [0x43918e] 2014-04-29 18:05:30 [10020] [1] PANIC: /lib64/libpthread.so.0() [0x3b1ea079d1] 2014-04-29 18:05:30 [10020] [1] PANIC: /lib64/libc.so.6(clone+0x6d) [0x3b1e6e8b6d] --------------------------------------------------------------------------------------------------------------------- I inspected the line number mentioned and found this line: pdu->u.deliver_sm.receipted_message_id = octstr_duplicate(msgid); Now I have played around with the field msgid. Originally it was: msgid = gwlist_extract_first(parts); /* extracting first item */ and I changed it to: msgid = gwlist_get(parts,gwlist_len(parts)-1); /* extracting last item */ Now I don't think return type of the functions are different to in both cases msgid must be of same type. I fail to understand why the error is thrown. I've seen this error in the mail-archives also but couldn't find the solution. I'd appreciate any help. Thanks in advance. -Sam