Dear List,
I'm having problems restarting kannel when messages are on the store (I'm
using the spool, but the problem happens with the file mode as well).
Sometimes (many times, in fact), if I shutdown kannel when messages are
being left on the store, I cannot restart without clearing it first.
The error I get is:
2008-02-28 20:07:08 [27772] [0] PANIC: Not handled sms_type within store!
2008-02-28 20:07:08 [27772] [0] PANIC:
/usr/local/sbin/bearerbox(gw_panic+0xe2) [0x80ce972]
2008-02-28 20:07:08 [27772] [0] PANIC: /usr/local/sbin/bearerbox [0x8055349]
2008-02-28 20:07:08 [27772] [0] PANIC: /usr/local/sbin/bearerbox [0x805f836]
2008-02-28 20:07:08 [27772] [0] PANIC: /usr/local/sbin/bearerbox [0x805f204]
2008-02-28 20:07:08 [27772] [0] PANIC: /usr/local/sbin/bearerbox [0x805f229]
2008-02-28 20:07:08 [27772] [0] PANIC: /usr/local/sbin/bearerbox [0x805f768]
2008-02-28 20:07:08 [27772] [0] PANIC: /usr/local/sbin/bearerbox(main+0x7ba)
[0x8054dfa]
2008-02-28 20:07:08 [27772] [0] PANIC:
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0) [0xb791d050]
2008-02-28 20:07:08 [27772] [0] PANIC: /usr/local/sbin/bearerbox [0x8053b01]
I did a lot of tests, using the msg_dump() function, and in fact the
messages are in good shape, except for the "sms_type" value, that gets
loaded with -1. This obviously triggers the "Unhandled sms_type..." message.
I've narrowed the error to bearerbox.c, dispatch_into_queue(Msg). I've
patched it to dump messages:
static void dispatch_into_queue(Msg *msg)
{
*msg_dump(msg, 0);*
gw_assert(msg != NULL),
gw_assert(msg_type(msg) == sms);
*debug("", 0, "TEST sms_type: %d", msg->sms.sms_type);*
switch (msg->sms.sms_type) {
case mt_push:
case mt_reply:
case report_mt:
gwlist_append(outgoing_sms, msg);
break;
case mo:
case report_mo:
gwlist_append(incoming_sms, msg);
break;
default:
panic(0, "Not handled sms_type within store!");
}
}
And this is what I get:
....
2008-02-28 20:12:55 [27893] [0] INFO: Kannel bearerbox II version
cvs-20080226 starting
2008-02-28 20:12:55 [27893] [4] DEBUG: Thread 4
(gw/bb_boxc.c:sms_to_smsboxes) maps to pid 27893.
...
2008-02-28 20:12:55 [27893] [5] DEBUG: Thread 5 (gw/bb_boxc.c:smsboxc_run)
maps to pid 27893.
2008-02-28 20:12:55 [27893] [0] DEBUG: Msg object at 0x819e938:
2008-02-28 20:12:55 [27893] [0] DEBUG: type: sms
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.sender:
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string at 0x819ea00:
2008-02-28 20:12:55 [27893] [0] DEBUG: len: 5
2008-02-28 20:12:55 [27893] [0] DEBUG: size: 6
2008-02-28 20:12:55 [27893] [0] DEBUG: immutable: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: data: xx xx xx xx xx
xxxxx
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string dump ends.
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.receiver:
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string at 0x819ea18:
2008-02-28 20:12:55 [27893] [0] DEBUG: len: 10
2008-02-28 20:12:55 [27893] [0] DEBUG: size: 11
2008-02-28 20:12:55 [27893] [0] DEBUG: immutable: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: data: xx xx xx xx xx xx xx xx xx
xx xxxxxxxxxx
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string dump ends.
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.udhdata:
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string at 0x819ea40:
2008-02-28 20:12:55 [27893] [0] DEBUG: len: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: size: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: immutable: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string dump ends.
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.msgdata:
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string at 0x8197b18:
2008-02-28 20:12:55 [27893] [0] DEBUG: len: 156
2008-02-28 20:12:55 [27893] [0] DEBUG: size: 157
2008-02-28 20:12:55 [27893] [0] DEBUG: immutable: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: data: 55 74 69 6c 69 7a 61 20 65
6c 20 6e 75 65 76 6f Utiliza el nuevo
...
2008-02-28 20:12:55 [27893] [0] DEBUG: data: 69 61 20 61 20 6c 61 20 76
65 7a 2e ia a la vez.
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string dump ends.
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.time: 1202072929
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.smsc_id:
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string at 0x81a4450:
2008-02-28 20:12:55 [27893] [0] DEBUG: len: 11
2008-02-28 20:12:55 [27893] [0] DEBUG: size: 12
2008-02-28 20:12:55 [27893] [0] DEBUG: immutable: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: data: xx xx xx xx xx xx xx xx xx
xx xx xxxxxxxxxxx
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string dump ends.
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.smsc_number:
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.service:
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string at 0x81a4478:
2008-02-28 20:12:55 [27893] [0] DEBUG: len: 7
2008-02-28 20:12:55 [27893] [0] DEBUG: size: 8
2008-02-28 20:12:55 [27893] [0] DEBUG: immutable: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: data: 33 37 30 30 39 39
35 3700995
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string dump ends.
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.account:
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string at 0x81a44a0:
2008-02-28 20:12:55 [27893] [0] DEBUG: len: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: size: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: immutable: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string dump ends.
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.id:
84de8b2b-ab42-47ae-8d2b-45ecbce50e11
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.sms_type: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.mclass: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.mwi: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.coding: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.compress: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.validity: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.deferred: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.dlr_mask: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.dlr_url:
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string at 0x81a44b8:
2008-02-28 20:12:55 [27893] [0] DEBUG: len: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: size: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: immutable: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string dump ends.
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.pid: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.alt_dcs: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.rpi: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.charset:
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string at 0x81a4500:
2008-02-28 20:12:55 [27893] [0] DEBUG: len: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: size: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: immutable: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string dump ends.
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.boxc_id:
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string at 0x81a4518:
2008-02-28 20:12:55 [27893] [0] DEBUG: len: 6
2008-02-28 20:12:55 [27893] [0] DEBUG: size: 7
2008-02-28 20:12:55 [27893] [0] DEBUG: immutable: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: data: 73 71 6c 62 6f
78 sqlbox
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string dump ends.
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.binfo:
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string at 0x81a4540:
2008-02-28 20:12:55 [27893] [0] DEBUG: len: 17
2008-02-28 20:12:55 [27893] [0] DEBUG: size: 18
2008-02-28 20:12:55 [27893] [0] DEBUG: immutable: 0
2008-02-28 20:12:55 [27893] [0] DEBUG: data: 70 72 6f 63 65 73 61 64 6f
5f 72 65 63 6f 62 72 procesado_recobr
2008-02-28 20:12:55 [27893] [0] DEBUG: data:
6f o
2008-02-28 20:12:55 [27893] [0] DEBUG: Octet string dump ends.
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.msg_left: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.split_parts: (nil)
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.priority: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.resend_try: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: sms.resend_time: -1
2008-02-28 20:12:55 [27893] [0] DEBUG: Msg object ends.
*2008-02-28 20:12:55 [27893] [0] DEBUG: TEST sms_type: -1
*2008-02-28 20:12:55 [27893] [0] PANIC: Not handled sms_type within store!
2008-02-28 20:12:55 [27893] [0] PANIC:
/usr/local/sbin/bearerbox(gw_panic+0xe2) [0x80ce972]
2008-02-28 20:12:55 [27893] [0] PANIC: /usr/local/sbin/bearerbox [0x8055349]
2008-02-28 20:12:55 [27893] [0] PANIC: /usr/local/sbin/bearerbox [0x805f836]
2008-02-28 20:12:55 [27893] [0] PANIC: /usr/local/sbin/bearerbox [0x805f204]
2008-02-28 20:12:55 [27893] [0] PANIC: /usr/local/sbin/bearerbox [0x805f229]
2008-02-28 20:12:55 [27893] [0] PANIC: /usr/local/sbin/bearerbox [0x805f768]
2008-02-28 20:12:55 [27893] [0] PANIC: /usr/local/sbin/bearerbox(main+0x7ba)
[0x8054dfa]
2008-02-28 20:12:55 [27893] [0] PANIC:
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0) [0xb796e050]
2008-02-28 20:12:55 [27893] [0] PANIC: /usr/local/sbin/bearerbox [0x8053b01]
This happens with all messages on store (if I replace the panic() with
debug() I get a line for each and every message!)
So, the messages seems to be ok, but for some reason the sms_type gets
garbled on the store, or not properly load during init().
Here's an hexdump of the file on disk (I've garbled the numbers for
privacy):
00000000 00 00 00 02 00 00 00 05 78 78 78 78 78 00 00 00
|........xxxxx...|
00000010 0a 78 78 78 78 78 78 78 78 78 78 00 00 00 00 00
|.xxxxxxxxxx.....|
00000020 00 00 9c 55 74 69 6c 69 7a 61 20 65 6c 20 6e 75 |...Utiliza el
nu|
00000030 65 76 6f 20 61 6e 69 6f 20 71 75 65 20 63 6f 6d |evo anio que
com|
00000040 69 65 6e 7a 61 20 70 61 72 61 20 65 73 74 61 62 |ienza para
estab|
00000050 6c 65 63 65 72 20 70 72 6f 79 65 63 74 6f 73 20 |lecer proyectos
|
00000060 72 65 61 6c 69 73 74 61 73 20 79 20 70 6f 73 69 |realistas y
posi|
00000070 62 6c 65 73 2e 20 45 73 20 64 69 66 69 63 69 6c |bles. Es
dificil|
00000080 20 63 61 6d 62 69 61 72 20 64 65 20 75 6e 20 64 | cambiar de un
d|
00000090 69 61 20 70 61 72 61 20 65 6c 20 6f 74 72 6f 2c |ia para el
otro,|
000000a0 20 70 72 6f 62 61 20 68 61 63 65 72 6c 6f 20 75 | proba hacerlo
u|
000000b0 6e 20 64 69 61 20 61 20 6c 61 20 76 65 7a 2e 47 |n dia a la
vez.G|
000000c0 a6 2d 61 00 00 00 0b 78 78 78 78 78 78 78 78 78
|.-a....xxxxxxxxx|
000000d0 78 78 ff ff ff ff 00 00 00 07 33 37 30 30 39 39
|xx........370099|
000000e0 35 00 00 00 00 00 00 00 24 38 34 64 65 38 62 32
|5.......$84de8b2|
000000f0 62 2d 61 62 34 32 2d 34 37 61 65 2d 38 64 32 62
|b-ab42-47ae-8d2b|
00000100 2d 34 35 65 63 62 63 65 35 30 65 31 31 ff ff ff
|-45ecbce50e11...|
00000110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
|................|
00000120 ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00
|................|
00000130 00 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00
|................|
00000140 00 00 00 00 06 73 71 6c 62 6f 78 00 00 00 11 70
|.....sqlbox....p|
00000150 72 6f 63 65 73 61 64 6f 5f 72 65 63 6f 62 72 6f
|rocesado_recobro|
00000160 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
|................|
*
00000180
Any hints? Anyone else capable of reproducing this?
Regads,
--
Alejandro Guerrieri
Magicom
http://www.magicom-bcn.net/
LinkedIn: http://www.linkedin.com/in/aguerrieri