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

Reply via email to