Solved: Just pass a proper Octet string: msgid = *octstr_duplicate*(gwlist_get(parts,gwlist_len(parts)-1));
On Wed, Apr 30, 2014 at 6:37 AM, Saurabh Pandey <[email protected]>wrote: > Hi, please anyone help me. I've tried everything, studied about Octet > string, used all functions, this isn't getting fixed. According to the > Logs,the problem seems to be: *ostr->data[ostr->len] == '\0'' failed* > which I understood that last char of the octet string should be "\0". I've > tried everything but I'm not able to fix this. C experts, Kannel experts > please help me here. > > Thanks in advance > > > > > On Wed, Apr 30, 2014 at 2:53 AM, Saurabh Pandey < > [email protected]> wrote: > >> 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 >> > >
