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

Reply via email to