[PATCH] RE: Problem with spool store - missing sms_type

"Rene Kluwen" <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>

-----Original Message-----
From: Rene Kluwen [mailto:[email protected]] 
Sent: Wednesday, 11 August, 2010 13:41
To: 'Alexander Malysh'
Cc: 'Tomasz'; '[email protected]'
Subject: [PATCH] RE: Problem with spool store - missing sms_type

See attached patch.

== Rene

-----Original Message-----
From: Alexander Malysh [mailto:[email protected]] On Behalf Of Alexander Malysh
Sent: Wednesday, 11 August, 2010 09:27
To: Rene Kluwen
Cc: 'Tomasz'; [email protected]
Subject: Re: Problem with spool store - missing sms_type

Hi Rene,

not looking in the code of smppbox: msg->type is set when you create message e.g. msg_create(sms) BUT store shows not this type. Store shows msg->sms.sms_type which you have to set explicitly to mo/mt-push/dlr-mo/dlr-mt.

Thanks,
Alexander Malysh

Am 10.08.2010 um 21:49 schrieb Rene Kluwen:

> Looking into the msg.c source code (function msg_pack()) it is not even possible for smppbox to send a message with an invalid msg->type to bearerbox.
> 
> I wonder what might be wrong.
> 
> == Rene
> 
> -----Original Message-----
> From: Tomasz [mailto:[email protected]]
> Sent: Tuesday, 10 August, 2010 20:22
> To: Rene Kluwen
> Subject: Re: Problem with spool store - missing sms_type
> 
> When I call http://domain.pl:13000/store-status I can see the table of 
> all queued messages (if any). And all those messages which were 
> submitted via openSMPPBOX have "Type" field empty there. However all 
> messages submitted by SMSBOX have this value filled correctly.
> 
> Tomasz
> 
> 
> 
> W Twoim liście datowanym 10 sierpnia 2010 (19:06:21) można przeczytać:
> 
>> Where exactly in the http admin page do you see that msg_type is empty?
> 
>> -----Original Message-----
>> From: [email protected] [mailto:[email protected]] On 
>> Behalf Of Tomasz
>> Sent: Tuesday, 10 August, 2010 18:21
>> To: [email protected]
>> Subject: Re: Problem with spool store - missing sms_type
> 
>> Hi,
> 
>> I don't know for sure if this is openSMPPBOX issue or not but if 
>> messages are submitted via openSMPPBOX the msg_type is empty and this 
>> makes that Bearerbox crashes during restart when we have some 
>> messages queued in the spool. When submitting messages by SMSBOX (CGI 
>> push), the problem didn't exists - msg_type is set correctly.
> 
>> I can check if msg_type exists or not using http admin store-status 
>> command (when there are some queued messages). Messages submitted via 
>> openSMPPBOX have empty fields in "Type" column.
> 
>> Rene, I can provide more details with the issue, but I can't see in 
>> logs any revelant information - only PANICs during start of 
>> Bearerbox. Only at http admin page I can see that msg_type is empty.
>> But if you need please let me know what information would be helpful.
> 
>> Tomasz
> 
> 
> 
>> W Twoim liście datowanym 10 sierpnia 2010 (17:01:52) można przeczytać:
> 
>>> In the smppbox code, I don’t see anywhere where a msg is created without msg_type.
> 
>>> We use the msg_create() function and dlr_find functions to create messages.
> 
>>> 
> 
>>> If this is an smppbox issue, I would like to get more information about it.
> 
>>> 
> 
>>> == Rene
> 
>>> 
> 
>>> From: Alejandro Guerrieri [mailto:[email protected]]
>>> Sent: Monday, 09 August, 2010 23:27
>>> To: Rene Kluwen
>>> Cc: Nikos Balkanas; [email protected]
>>> Subject: Re: Problem with spool store - missing sms_type
> 
>>> 
> 
>>> Exactly.
> 
>>> 
> 
>>> The point is: during normal operation, kannel of course it doesn't 
>>> panic and will accept messages without a valid sms type. However, 
>>> they're kept on the store with an invalid format, so if you shutdown 
>>> the service with messages pending on the store, and just one of them 
>>> happens to have an invalid sms type, the service panics at startup.
>>> This is less than desirable of course, specially when you have a ton 
>>> of completely valid messages and just a bunch of invalid.
> 
>>> 
> 
>>> IMHO, kannel should reject messages with invalid sms type during 
>>> regular operation (with a WARN logged). It _shouldn't_ try to fix 
>>> them. That would take care of the problem in a "proper" way.
> 
>>> 
> 
>>> Apart from that, a way to discard invalid messages at bootup without 
>>> panicking would also be desirable
> 
>>> 
> 
>>> Regards,
> 
>>> 
> 
>>> Alex
> 
>>> On Mon, Aug 9, 2010 at 11:11 PM, Rene Kluwen <[email protected]> wrote:
> 
>>> Yes, open smppbox should correctly fill in the correct type. If it doesn't it is an error.
> 
>>> But at the same time: If one particular message has an incorrent 
>>> sms_type. Why panic? It can just discard the message and go on with normal operation.
> 
>>> == Rene
> 
> 
>>> -----Original Message-----
>>> From: [email protected] [mailto:[email protected]] On 
>>> Behalf Of Nikos Balkanas
>>> Sent: Monday, 09 August, 2010 22:34
>>> To: Alejandro Guerrieri
>>> Cc: [email protected]
>>> Subject: Re: Problem with spool store - missing sms_type
> 
>>> Hi,
> 
>>> The behaviour in store is the only correct one. sms_type could be an 
>>> MO (0), MT (2) or DLR (3). Different logic and routing is applied in each case.
>>> During startup it doesn't know which one is and correctly panics. 
>>> During operation, maybe bb can tell more, but I am not sure it is 
>>> always safe to do so. It has to discriminate between an MT, a 
>>> reroute_dlr (report_mt) and an mt_reply (from an MO). Or between an 
>>> MO and a report_mo. Anyway, it should at least be consistent, and it 
>>> should check for sms_type and if missing and absolutely sure it knows what it is, fill it in, else discard with an error.
> 
>>> This is an opensmppbox issue. It should set the correct sms_type 
>>> according to gw/msg.h.
> 
>>> BR,
>>> Nikos
>>> ----- Original Message -----
>>> From: Alejandro Guerrieri
>>> To: Nikos Balkanas
>>> Cc: Tomasz ; [email protected]
>>> Sent: Monday, August 09, 2010 9:12 PM
>>> Subject: Re: Problem with spool store - missing sms_type
> 
> 
>>> Yep, smsbox doesn't. Sqlbox, if you're not careful, does.
> 
> 
>>> The problem is with the way messages are checked. When messages are 
>>> received from a box, they go to memory first _and_ the store later. 
>>> In that case, bearerbox doesn't perform any sanity checks on the sms type field.
> 
> 
>>> Now, when messages are retrieved from the store during boot, a 
>>> sanity check is performed and the whole system panics if it 
>>> encounter a single invalid message.
> 
> 
>>> I think two things would be needed here:
> 
> 
>>> 1. Perform the same sanity checks when getting messages from boxes 
>>> and reject anything that would cause a problem when retrieved from the store.
> 
> 
>>> 2. Add an option to boot kannel discarding those corrupted messages. 
>>> A few hundred corrupted messages in the store could mean a nightmare 
>>> when trying to restart a crashed server.
> 
> 
>>> Regards,
> 
> 
>>> Alex
> 
> 
>>> 2010/8/9 Nikos Balkanas <[email protected]>
> 
>>> Hi,
> 
>>> I can verify to the thousands of kannel users all over the wold, 
>>> that smsbox doesn't have any such issue. However this seems an issue 
>>> with bearerbox as well. SMPPbox should really generate correct Msg 
>>> *, and bearerbox shouldn't pnick about them. I mean if it is happy 
>>> processing them live, why should it panic at start?
> 
> 
>>> BR,
>>> Nikos
>>> ----- Original Message ----- From: "Tomasz" <[email protected]>
>>> To: <[email protected]>
> 
>>> Sent: Monday, August 09, 2010 8:14 PM
> 
>>> Subject: Re: Problem with spool store - missing sms_type
> 
> 
>>> Hi,
> 
>>> Open SMPPBOX haven't its own queue - I submit messages to Bearerbox 
>>> via open SMPPBOX from other system. But sometimes these messages are 
>>> being queued by Bearerbox in spool.
> 
>>> But when Bearerbox is restarted while at spool there are some 
>>> messages, it PANICs and won't run.
> 
>>> The problem is because messages at spool haven't Type field. They 
>>> have SMS ID, Time, Sender, Receiver, SMSC ID, BOX ID, Β UDH, Message 
>>> fields but Type field is empty.
> 
>>> Bearerbox during start informs about it:
> 
>>> 2010-08-09 17:49:55 [29887] [0] PANIC: Not handled sms_type within store!
> 
>>> I didn't tried submitting messages to BEARERBOX from a standard 
>>> SMSBOX yet, only by open SMPPBOX so I don't know at the moment if 
>>> this problem happens only when using open SMPPBOX.
> 
>>> @Nikos Sorry for adressing you private, it was my mistake.
> 
>>> Tomasz
> 
> 
>>> Please address list.
> 
> 
> 
>>> I didn't know that opensmppbox has now a queue. Clearly you 
>>> shouldn't have overlapping spools between bb and openssmppbox. 
>>> Configure different spool areas for each one.
> 
> 
> 
>>> BR,
>>> Nikos
>>> ----- Original Message ----- From: "Tomasz" <[email protected]>
>>> To: "Nikos Balkanas" <[email protected]>
>>> Sent: Monday, August 09, 2010 7:55 PM
>>> Subject: Re: Problem with spool store - missing sms_type
> 
> 
> 
> 
>>> Hi,
> 
> 
> 
>>> Yes, I know that they are corrupted, but all msgs in spool are always
>>> corrupted   I removed them, but all new messages queued at spool are
>>> corrupted.
> 
> 
> 
>>> They are probably incorrectly saved by Bearerbox/openSMPPBOX.
> 
> 
> 
>>> The problem starts when I want to restart Bearerbox - it displays 
>>> PANICs and won't start until I remove spool manually. It causes that 
>>> I can't restart Bearerbox if there is some queue in spool...
> 
> 
> 
>>> Tomasz
> 
> 
> 
> 
> 
>>> W Twoim liΞ’ cie datowanym 9 sierpnia 2010 (18:34:44) moΞž na przeczytaΞžΒ¶:
> 
> 
> 
> 
>>> Hi,
> 
> 
> 
>>> You have a corrupted SMS in your spool. Remove it and you will be fine.
> 
> 
> 
>>> BR,
>>> Nikos
>>> ----- Original Message ----- From: "Tomasz" <[email protected]>
>>> To: <[email protected]>
>>> Sent: Monday, August 09, 2010 7:30 PM
>>> Subject: Problem with spool store - missing sms_type
> 
> 
> 
> 
>>> Hi,
> 
> 
> 
>>> Today I've found some critical error with kannel spool store-type.
>>> When I have messages in a queue (spool) and restart Bearerbox I get
>>> Panic:
> 
> 
> 
>>> 2010-08-09 17:49:55 [29887] [0] PANIC: Not handled sms_type within store!
>>> 2010-08-09 17:49:55 [29887] [0] PANIC:
>>> /usr/local/sbin/bearerbox(gw_panic+0x14b) [0x487f5b]
>>> 2010-08-09 17:49:55 [29887] [0] PANIC: /usr/local/sbin/bearerbox 
>>> [0x419721]
>>> 2010-08-09 17:49:55 [29887] [0] PANIC: /usr/local/sbin/bearerbox 
>>> [0x419144]
>>> 2010-08-09 17:49:55 [29887] [0] PANIC: /usr/local/sbin/bearerbox 
>>> [0x419166]
>>> 2010-08-09 17:49:55 [29887] [0] PANIC: /usr/local/sbin/bearerbox 
>>> [0x419689]
>>> 2010-08-09 17:49:55 [29887] [0] PANIC:
>>> /usr/local/sbin/bearerbox(main+0x80f)
>>> [0x40f22f]
>>> 2010-08-09 17:49:55 [29887] [0] PANIC:
>>> /lib/libc.so.6(__libc_start_main+0xe6) [0x7f5cdfd3b1a6]
>>> 2010-08-09 17:49:55 [29887] [0] PANIC: /usr/local/sbin/bearerbox 
>>> [0x40db09]
> 
> 
> 
>>> When I checked store-status (via http admin) I could see that "Type" 
>>> field of all messages was empty. All messages were submitted to 
>>> Bearerbox via open SMPPBOX.
> 
> 
> 
>>> My Kannel version is from latest SVN (Rev. 4837).
> 
> 
> 
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.