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
>>
>
>

Reply via email to