Re: Patch: SMSbox crash

"Nikos Balkanas" <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <001601ca269b$a0521240$02b2a8c0@tardis>
Dear Alex,

This is a trivial patch. However, I would like to suggest something to improve it:

In thread sms_to_smsboxes it checks and if msg = NULL it drops it. I added a check if msgdata is NULL to drop it as well.

This would avoid further processing (less overhead) of the sms and simplify further logic present and future, in that they wouldn't have to be concerned with it. I assume that empty MO sms don't need any sms-service or further processing.

What do you think?

PS. Compilation is clean. I don't have, though, any smsc connections to test it. @Hemant: Can you please test?

BR,
Nikos
  ----- Original Message ----- 
  From: Alexander Malysh 
  To: Development mailing list 
  Cc: Donald Jackson ; Hemant Gmail ; Nikos Balkanas 
  Sent: Wednesday, August 26, 2009 10:59 AM
  Subject: Re: Patch: SMSbox crash


  Hi all,


  ok, seems too many parts of kannel rely on the msgdata not to be NULL.


  @Donald: never use octstr_imm of you pass this to further processing. octstr_imm doesn't support all functions and you don't know what the user of
  such field will do with it.


  If this really the case that too much kannel parts rely on msgdata to be not NULL then your patch is not enough. Please try attached patch
  that will fix this issue for all available SMSC module.


  Thanks,
  Alexander Malysh


------------------------------------------------------------------------------




  Am 25.08.2009 um 20:24 schrieb Nikos Balkanas:


    Hi Donald,

    I guess intercepting it upstream was my intention, too, however I think you got it too far back. I was thinking more likely at the SMS router function to check if payload is NULL to quietly discard the SMS and pick the next one from Q, this way minimizing overhead. Plus at this stage it would apply to all MO SMS, not only SMPP.

    I changed subject to patch, so that Alex picks up on it and speaks his mind.

    BR,
    Nikos
      ----- Original Message -----
      From: Donald Jackson
      To: Nikos Balkanas
      Cc: Hemant Gmail ; [email protected]
      Sent: Tuesday, August 25, 2009 8:33 PM
      Subject: Re: SMSbox crashed


      Hi Nikos,


      Apologies I wasn't actually following the thread he emailed me privately :)


      The problem occurs in smsbox when it tries to find a translation for the message. The different thing about these messages, is they are NULL. This is because this operator is not sending the (TLV) message_payload parameter with the data_sm PDU if no text is specified. 


      Smsbox/find_translation does no NULL checking on msgdata before trying the octstr_covert_range, which is why it fails the assertion. My patch simply sets the parameter to an empty Octstr inside the data_sm code, to prevent smsbox from falling over, and then still passing the upstream applications an empty string, instead of '(null)'.


      Let me know your thoughts,


      Thanks,
      Donald


      2009/8/25 Nikos Balkanas <[email protected]>

        Thanks, Donald.

        I was personally holding out for Herman to try out patching, but yours is more than welcome.

        I have also not forgotten your store isuue. I have not been able to reproduce it with fakesmsc, so it seems to be exclusive to the at driver. I will have to add code to simulate the modem calls (don't have modem or other smsc links - I am a wap guy) and i wouldn't like to spend a lot of money to try it out on a real connection.

        Meanwhile could you provide us with some relevant bb logs from the problem? I believe you can increase in real time the log detail from the http administration.

        BR,
        Nikos
          ----- Original Message -----
          From: Donald Jackson
          To: Development mailing list
          Cc: Hemant Gmail ; [email protected]
          Sent: Tuesday, August 25, 2009 4:40 PM
          Subject: Re: SMSbox crashed


          Hi Nikos,


          I have fixed this problem for Hemant. There is a bug when receiving data_sm PDU's for MO's.


          I will send in the patch for CVS review shortly.


          Cheers,
          Donald


          2009/8/25 Nikos Balkanas <[email protected]>

            Hi,

            Just switched to devel group. This is getting too much for users.

            1) Does latest CVS still faces same problem?

            2) There is no <if> statement at line 1384. I think we may be out of sync in urltrans.c. Best look for function:

            find_translation

            and then consider the octstr_convert_range  in there. That's the one that throws the panic. However, you shouldn't comment it out, since it is needed by the normal (non-empty) SMS.

            Best run bb through the debugger and fire an empty sms. When it crashes find the path to it. It should lead to the aforementioned function. At an appropriate point in the path, as soon as posssible, you need to check if SMS text is NULL and if it is to discard it.

            BR,
            Nikos
              ----- Original Message -----
              From: Hemant Gmail
              To: 'Nikos Balkanas'
              Cc: [email protected]
              Sent: Tuesday, August 25, 2009 3:59 PM
              Subject: RE: SMSbox crashed


              Hi Nikos,



              Can I just comment the if condition on line 1384? Will that help? Please let me know



              Thanks,

              Hemant



              From: Nikos Balkanas [mailto:[email protected]] 
              Sent: Monday, August 24, 2009 8:40 PM
              To: Hemant Gmail
              Cc: [email protected]
              Subject: Re: SMSbox crashed



              Hi,



              Just update to latest CVS and test. All patches are in there. If problem still exists I could work a simple patch for it. If you want to fix it yourself, the problem is in octstr_convert_range in gw/urltrans.c: 1384



              BR,

              Nikos

                ----- Original Message -----

                From: Hemant Gmail

                To: 'Nikos Balkanas'

                Cc: [email protected]

                Sent: Monday, August 24, 2009 5:59 PM

                Subject: RE: SMSbox crashed



                Hi,



                Just figured the problem .. every time Kannel receives an empty message, smsbox crashes … I am sure this is a known issue. Can you please point me to some patch available to fix this.



                Thanks again,

                Hemant



                From: Nikos Balkanas [mailto:[email protected]] 
                Sent: Thursday, August 20, 2009 12:04 PM
                To: Hemant Gmail
                Cc: [email protected]
                Subject: Re: SMSbox crashed



                Hi,



                Seems you have an extra space in your get-url. Are you using url-mapping? How come your www.smsexample.com/services is translated toindex.php/smswebadmin/subscribe_users_proservices? Is this right?



                If problem persist post SMS you are sending. Also post relevant bearerbox logs (application + access) from problem.



                BR,

                Nikos

                  ----- Original Message -----

                  From: Hemant Gmail

                  To: 'Nikos Balkanas'

                  Cc: [email protected]

                  Sent: Thursday, August 20, 2009 7:39 AM

                  Subject: RE: SMSbox crashed



                  Hi Nikos,



                  This is an MO, please check the sms-service configuration below.



                  group = sms-service

                  keyword = default

                  catch-all = yes

                  get-url = "http://www.smsexample.com/ services?to=%P&mobilenumber=%p&message=%a&receivedon=%t"

                  max-messages = 4

                  concatenation = true

                  omit-empty = true



                  Thanks,

                  Hemant



                  From: Nikos Balkanas [mailto:[email protected]] 
                  Sent: Wednesday, August 19, 2009 11:10 PM
                  To: Hemant Gmail
                  Cc: [email protected]
                  Subject: Re: SMSbox crashed



                  Hi,



                  Could you please post your sms-service configuration for smsgame1?



                  Also I assume this is an MO. What sms do you send?



                  BR,

                  Nikos

                    ----- Original Message -----

                    From: Hemant Gmail

                    To: 'Nikos Balkanas'

                    Cc: [email protected]

                    Sent: Wednesday, August 19, 2009 3:51 PM

                    Subject: RE: SMSbox crashed



                    Hi Nikos,



                    Please find below the log, I hope this helps.



                    SMSBOX.LOG

                    2009-08-16 23:00:57 [4477] [4] INFO: Starting to service <smsgame1> from <+123456789> to <1111>

                    2009-08-16 23:00:57 [4477] [9] DEBUG: Queue contains 0 pending requests.

                    2009-08-16 23:00:57 [4477] [9] DEBUG: Parsing URL `http://www.smsexample.com/services?to=1111&mobilenumber=%2B123456789&message=smsgame1&receivedon=2009-08-17+03:00:57':

                    2009-08-16 23:00:57 [4477] [9] DEBUG:   Scheme: http://

                    2009-08-16 23:00:57 [4477] [9] DEBUG:   Host: www.smsexample.com

                    2009-08-16 23:00:57 [4477] [9] DEBUG:   Port: 80

                    2009-08-16 23:00:57 [4477] [9] DEBUG:   Username: (null)

                    2009-08-16 23:00:57 [4477] [9] DEBUG:   Password: (null)

                    2009-08-16 23:00:57 [4477] [9] DEBUG:   Path: /index.php/smswebadmin/subscribe_users_proservices

                    2009-08-16 23:00:57 [4477] [9] DEBUG:   Query: to=1111&mobilenumber=%2B123456789&message=smsgame1&receivedon=2009-08-17+03:00:57

                    2009-08-16 23:00:57 [4477] [9] DEBUG:   Fragment: (null)

                    2009-08-16 23:00:57 [4477] [9] DEBUG: HTTP: Opening connection to `www.smsexample.com:80' (fd=28).

                    2009-08-16 23:00:57 [4477] [9] DEBUG: Socket connecting

                    2009-08-16 23:00:57 [4477] [8] DEBUG: Get info about connecting socket

                    2009-08-16 23:00:57 [4477] [8] DEBUG: HTTP: Sending request:

                    2009-08-16 23:00:57 [4477] [8] DEBUG: Octet string at 0x10f9c950:

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   len:  227

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   size: 1024

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   immutable: 0

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 47 45 54 20 2f 69 6e 64 65 78 2e 70 68 70 2f 73   GET /index.php/s

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 6d 73 77 65 62 61 64 6d 69 6e 2f 73 75 62 73 63   mswebadmin/subsc

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 72 69 62 65 5f 75 73 65 72 73 5f 70 72 6f 73 65   ribe_users_prose

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 72 76 69 63 65 73 3f 74 6f 3d 31 38 31 38 26 6d   rvices?to=1111&m

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 6f 62 69 6c 65 6e 75 6d 62 65 72 3d 25 32 42 32   obilenumber=%2B2

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 33 31 36 36 31 33 39 38 37 26 6d 65 73 73 61 67   316613987&messag

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 65 3d 46 6f 6f 74 62 61 6c 6c 26 72 65 63 65 69   e=smsgame1&recei

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 76 65 64 6f 6e 3d 32 30 30 39 2d 30 38 2d 31 37   vedon=2009-08-17

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 2b 30 33 3a 30 30 3a 35 37 20 48 54 54 50 2f 31   +03:00:57 HTTP/1

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 2e 31 0d 0a 48 6f 73 74 3a 20 77 77 77 2e 73 6d   .1..Host: www.sm

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 73 73 74 72 65 61 6d 65 72 2e 63 6f 6d 0d 0a 43   sstreamer.com..C

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 6f 6e 6e 65 63 74 69 6f 6e 3a 20 6b 65 65 70 2d   onnection: keep-

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 61 6c 69 76 65 0d 0a 55 73 65 72 2d 41 67 65 6e   alive..User-Agen

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 74 3a 20 4b 61 6e 6e 65 6c 2f 31 2e 34 2e 33 0d   t: Kannel/1.4.3.

                    2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 0a 0d 0a                                          ...

                    2009-08-16 23:00:57 [4477] [8] DEBUG: Octet string dump ends.

                    2009-08-16 23:00:58 [4477] [8] DEBUG: HTTP: Status line: <HTTP/1.1 200 OK>

                    2009-08-16 23:00:58 [4477] [8] DEBUG: HTTP: Received response:

                    2009-08-16 23:00:58 [4477] [8] DEBUG: Octet string at 0x10f9d630:

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   len:  381

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   size: 1024

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   immutable: 0

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 44 61 74 65 3a 20 4d 6f 6e 2c 20 31 37 20 41 75   Date: Mon, 17 Au

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 67 20 32 30 30 39 20 30 33 3a 30 30 3a 35 37 20   g 2009 03:00:57

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 47 4d 54 0d 0a 53 65 72 76 65 72 3a 20 41 70 61   GMT..Server: Apa

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 63 68 65 2f 32 2e 32 2e 38 20 28 46 65 64 6f 72   che/2.2.8 (Fedor

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 61 29 0d 0a 58 2d 50 6f 77 65 72 65 64 2d 42 79   a)..X-Powered-By

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 3a 20 50 48 50 2f 35 2e 32 2e 36 0d 0a 53 65 74   : PHP/5.2.6..Set

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 2d 43 6f 6f 6b 69 65 3a 20 43 41 4b 45 50 48 50   -Cookie: CAKEPHP

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 3d 72 75 31 70 31 30 69 33 36 70 68 6b 74 33 32   =ru1p10i36phkt32

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 36 68 6b 76 68 6a 6c 75 66 67 36 3b 20 65 78 70   6hkvhjlufg6; exp

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 69 72 65 73 3d 54 68 75 2c 20 31 37 20 41 75 67   ires=Thu, 17 Aug

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 20 32 30 33 34 20 30 39 3a 30 30 3a 35 37 20 47    2034 09:00:57 G

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 4d 54 3b 20 70 61 74 68 3d 2f 69 6e 64 65 78 2e   MT; path=/index.

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 70 68 70 2f 0d 0a 50 33 50 3a 20 43 50 3d 22 4e   php/..P3P: CP="N

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 4f 49 20 41 44 4d 20 44 45 56 20 50 53 41 69 20   OI ADM DEV PSAi

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 43 4f 4d 20 4e 41 56 20 4f 55 52 20 4f 54 52 6f   COM NAV OUR OTRo

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 20 53 54 50 20 49 4e 44 20 44 45 4d 22 0d 0a 43    STP IND DEM"..C

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 36   ontent-Length: 6

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 30 0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63   0..Connection: c

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 6c 6f 73 65 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79   lose..Content-Ty

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 70 65 3a 20 74 65 78 74 2f 68 74 6d 6c 0d 0a 0d   pe: text/html...

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 0a 0a 59 6f 75 20 68 61 76 65 20 73 75 63 63 65   ..You have succe

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 73 73 66 75 6c 6c 79 20 73 75 62 73 63 72 69 62   ssfully subscrib

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 65 64 20 74 6f 20 46 6f 6f 74 62 61 6c 6c 20 67   ed to smsgame1 g

                    2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 72 6f 75 70 20 73 65 72 76 69 63 65 73            roup services

                    2009-08-16 23:00:58 [4477] [8] DEBUG: Octet string dump ends.

                    2009-08-16 23:00:58 [4477] [5] DEBUG: message length 59, sending 1 messages

                    2009-08-16 23:00:58 [4477] [0] DEBUG: Got ACK (0) of 595fac84-2cc9-4f23-a552-2fca9830206f

                    2009-08-16 23:00:58 [4477] [0] DEBUG: No client - multi-send or ACK to pull-reply

                    2009-08-16 23:23:25 [4477] [4] PANIC: gwlib/octstr.c:2481: seems_valid_real: Assertion `ostr != NULL' failed. (Called from gwlib/octstr.c:836:octstr_convert_range.)

                    2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox(gw_panic+0x15b) [0x43c7fb]

                    2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox [0x43d079]

                    2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox(octstr_convert_range+0x3d) [0x43d54d]

                    2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox(urltrans_find+0x55) [0x41d045]

                    2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox [0x415790]

                    2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox [0x433885]

                    2009-08-16 23:23:25 [4477] [4] PANIC: /lib64/libpthread.so.0 [0x343da06367]

                    2009-08-16 23:23:25 [4477] [4] PANIC: /lib64/libc.so.6(clone+0x6d) [0x343ced309d]



                    Thanks,

                    Hemant



                    From: Nikos Balkanas [mailto:[email protected]] 
                    Sent: Tuesday, August 18, 2009 9:02 PM
                    To: [email protected]
                    Cc: [email protected]
                    Subject: Re: SMSbox crashed



                    Hi,



                    Please supply longer logs before the problem. Make sure there are at least 2 - 3 entries from thread [4] before the problem.



                    BR,

                    Nikos

                      ----- Original Message -----

                      From: Hemant Gmail

                      To: [email protected]

                      Sent: Monday, August 17, 2009 8:51 AM

                      Subject: SMSbox crashed



                      Hello,



                      For some reason my smsbox has started crashing since last couple of days. Please find below the log entries.

                      Can anyone please help me on this?



                      2009-08-16 23:00:58 [4477] [0] DEBUG: Got ACK (0) of 595fac84-2cc9-4f23-a552-2fca9830206f

                      2009-08-16 23:00:58 [4477] [0] DEBUG: No client - multi-send or ACK to pull-reply

                      2009-08-16 23:23:25 [4477] [4] PANIC: gwlib/octstr.c:2481: seems_valid_real: Assertion `ostr != NULL' failed. (Called from gwlib/octstr.c:836:octstr_convert_range.)

                      2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox(gw_panic+0x15b) [0x43c7fb]

                      2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox [0x43d079]

                      2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox(octstr_convert_range+0x3d) [0x43d54d]

                      2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox(urltrans_find+0x55) [0x41d045]

                      2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox [0x415790]

                      2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox [0x433885]

                      2009-08-16 23:23:25 [4477] [4] PANIC: /lib64/libpthread.so.0 [0x343da06367]

                      2009-08-16 23:23:25 [4477] [4] PANIC: /lib64/libc.so.6(clone+0x6d) [0x343ced309d]



                      Thanks in advance.

                      Hemant




          -- 
          Donald Jackson
          http://www.thearchitech.com




      -- 
      Donald Jackson
      http://www.thearchitech.com
      donald(a)thearchitech.com

    <data_sm_mo.patch>




------------------------------------------------------------------------------


  Hi all,

  ok, seems too many parts of kannel rely on the msgdata not to be NULL.

  @Donald: never use octstr_imm of you pass this to further processing.  
  octstr_imm doesn't support all functions and you don't know what the  
  user of
  such field will do with it.

  If this really the case that too much kannel parts rely on msgdata to  
  be not NULL then your patch is not enough. Please try attached patch
  that will fix this issue for all available SMSC module.

  Thanks,
  Alexander Malysh


  Am 25.08.2009 um 20:24 schrieb Nikos Balkanas:

  > Hi Donald,
  >
  > I guess intercepting it upstream was my intention, too, however I  
  > think you got it too far back. I was thinking more likely at the SMS  
  > router function to check if payload is NULL to quietly discard the  
  > SMS and pick the next one from Q, this way minimizing overhead. Plus  
  > at this stage it would apply to all MO SMS, not only SMPP.
  >
  > I changed subject to patch, so that Alex picks up on it and speaks  
  > his mind.
  >
  > BR,
  > Nikos
  > ----- Original Message -----
  > From: Donald Jackson
  > To: Nikos Balkanas
  > Cc: Hemant Gmail ; [email protected]
  > Sent: Tuesday, August 25, 2009 8:33 PM
  > Subject: Re: SMSbox crashed
  >
  > Hi Nikos,
  >
  > Apologies I wasn't actually following the thread he emailed me  
  > privately :)
  >
  > The problem occurs in smsbox when it tries to find a translation for  
  > the message. The different thing about these messages, is they are  
  > NULL. This is because this operator is not sending the (TLV)  
  > message_payload parameter with the data_sm PDU if no text is  
  > specified.
  >
  > Smsbox/find_translation does no NULL checking on msgdata before  
  > trying the octstr_covert_range, which is why it fails the assertion.  
  > My patch simply sets the parameter to an empty Octstr inside the  
  > data_sm code, to prevent smsbox from falling over, and then still  
  > passing the upstream applications an empty string, instead of  
  > '(null)'.
  >
  > Let me know your thoughts,
  >
  > Thanks,
  > Donald
  >
  > 2009/8/25 Nikos Balkanas <[email protected]>
  > Thanks, Donald.
  >
  > I was personally holding out for Herman to try out patching, but  
  > yours is more than welcome.
  >
  > I have also not forgotten your store isuue. I have not been able to  
  > reproduce it with fakesmsc, so it seems to be exclusive to the at  
  > driver. I will have to add code to simulate the modem calls (don't  
  > have modem or other smsc links - I am a wap guy) and i wouldn't like  
  > to spend a lot of money to try it out on a real connection.
  >
  > Meanwhile could you provide us with some relevant bb logs from the  
  > problem? I believe you can increase in real time the log detail from  
  > the http administration.
  >
  > BR,
  > Nikos
  > ----- Original Message -----
  > From: Donald Jackson
  > To: Development mailing list
  > Cc: Hemant Gmail ; [email protected]
  > Sent: Tuesday, August 25, 2009 4:40 PM
  > Subject: Re: SMSbox crashed
  >
  > Hi Nikos,
  >
  > I have fixed this problem for Hemant. There is a bug when receiving  
  > data_sm PDU's for MO's.
  >
  > I will send in the patch for CVS review shortly.
  >
  > Cheers,
  > Donald
  >
  > 2009/8/25 Nikos Balkanas <[email protected]>
  > Hi,
  >
  > Just switched to devel group. This is getting too much for users.
  >
  > 1) Does latest CVS still faces same problem?
  >
  > 2) There is no <if> statement at line 1384. I think we may be out of  
  > sync in urltrans.c. Best look for function:
  >
  > find_translation
  >
  > and then consider the octstr_convert_range  in there. That's the one  
  > that throws the panic. However, you shouldn't comment it out, since  
  > it is needed by the normal (non-empty) SMS.
  >
  > Best run bb through the debugger and fire an empty sms. When it  
  > crashes find the path to it. It should lead to the aforementioned  
  > function. At an appropriate point in the path, as soon as posssible,  
  > you need to check if SMS text is NULL and if it is to discard it.
  >
  > BR,
  > Nikos
  > ----- Original Message -----
  > From: Hemant Gmail
  > To: 'Nikos Balkanas'
  > Cc: [email protected]
  > Sent: Tuesday, August 25, 2009 3:59 PM
  > Subject: RE: SMSbox crashed
  >
  > Hi Nikos,
  >
  >
  > Can I just comment the if condition on line 1384? Will that help?  
  > Please let me know
  >
  >
  > Thanks,
  >
  > Hemant
  >
  >
  > From: Nikos Balkanas [mailto:[email protected]]
  > Sent: Monday, August 24, 2009 8:40 PM
  > To: Hemant Gmail
  > Cc: [email protected]
  > Subject: Re: SMSbox crashed
  >
  >
  > Hi,
  >
  >
  > Just update to latest CVS and test. All patches are in there. If  
  > problem still exists I could work a simple patch for it. If you want  
  > to fix it yourself, the problem is in octstr_convert_range in gw/ 
  > urltrans.c: 1384
  >
  >
  > BR,
  >
  > Nikos
  >
  > ----- Original Message -----
  >
  > From: Hemant Gmail
  >
  > To: 'Nikos Balkanas'
  >
  > Cc: [email protected]
  >
  > Sent: Monday, August 24, 2009 5:59 PM
  >
  > Subject: RE: SMSbox crashed
  >
  >
  > Hi,
  >
  >
  > Just figured the problem .. every time Kannel receives an empty  
  > message, smsbox crashes … I am sure this is a known issue. Can you  
  > please point me to some patch available to fix this.
  >
  >
  > Thanks again,
  >
  > Hemant
  >
  >
  > From: Nikos Balkanas [mailto:[email protected]]
  > Sent: Thursday, August 20, 2009 12:04 PM
  > To: Hemant Gmail
  > Cc: [email protected]
  > Subject: Re: SMSbox crashed
  >
  >
  > Hi,
  >
  >
  > Seems you have an extra space in your get-url. Are you using url- 
  > mapping? How come your www.smsexample.com/services is translated  
  > toindex.php/smswebadmin/subscribe_users_proservices? Is this right?
  >
  >
  > If problem persist post SMS you are sending. Also post relevant  
  > bearerbox logs (application + access) from problem.
  >
  >
  > BR,
  >
  > Nikos
  >
  > ----- Original Message -----
  >
  > From: Hemant Gmail
  >
  > To: 'Nikos Balkanas'
  >
  > Cc: [email protected]
  >
  > Sent: Thursday, August 20, 2009 7:39 AM
  >
  > Subject: RE: SMSbox crashed
  >
  >
  > Hi Nikos,
  >
  >
  > This is an MO, please check the sms-service configuration below.
  >
  >
  > group = sms-service
  >
  > keyword = default
  >
  > catch-all = yes
  >
  > get-url = "http://www.smsexample.com/ services?to=%P&mobilenumber= 
  > %p&message=%a&receivedon=%t"
  >
  > max-messages = 4
  >
  > concatenation = true
  >
  > omit-empty = true
  >
  >
  > Thanks,
  >
  > Hemant
  >
  >
  > From: Nikos Balkanas [mailto:[email protected]]
  > Sent: Wednesday, August 19, 2009 11:10 PM
  > To: Hemant Gmail
  > Cc: [email protected]
  > Subject: Re: SMSbox crashed
  >
  >
  > Hi,
  >
  >
  > Could you please post your sms-service configuration for smsgame1?
  >
  >
  > Also I assume this is an MO. What sms do you send?
  >
  >
  > BR,
  >
  > Nikos
  >
  > ----- Original Message -----
  >
  > From: Hemant Gmail
  >
  > To: 'Nikos Balkanas'
  >
  > Cc: [email protected]
  >
  > Sent: Wednesday, August 19, 2009 3:51 PM
  >
  > Subject: RE: SMSbox crashed
  >
  >
  > Hi Nikos,
  >
  >
  > Please find below the log, I hope this helps.
  >
  >
  > SMSBOX.LOG
  >
  > 2009-08-16 23:00:57 [4477] [4] INFO: Starting to service <smsgame1>  
  > from <+123456789> to <1111>
  >
  > 2009-08-16 23:00:57 [4477] [9] DEBUG: Queue contains 0 pending  
  > requests.
  >
  > 2009-08-16 23:00:57 [4477] [9] DEBUG: Parsing URL `http://www.smsexample.com/services?to=1111&mobilenumber=%2B123456789&message=smsgame1&receivedon=2009-08-17+03:00:57' 
  > :
  >
  > 2009-08-16 23:00:57 [4477] [9] DEBUG:   Scheme: http://
  >
  > 2009-08-16 23:00:57 [4477] [9] DEBUG:   Host: www.smsexample.com
  >
  > 2009-08-16 23:00:57 [4477] [9] DEBUG:   Port: 80
  >
  > 2009-08-16 23:00:57 [4477] [9] DEBUG:   Username: (null)
  >
  > 2009-08-16 23:00:57 [4477] [9] DEBUG:   Password: (null)
  >
  > 2009-08-16 23:00:57 [4477] [9] DEBUG:   Path: /index.php/smswebadmin/ 
  > subscribe_users_proservices
  >
  > 2009-08-16 23:00:57 [4477] [9] DEBUG:   Query: to=1111&mobilenumber= 
  > %2B123456789&message=smsgame1&receivedon=2009-08-17+03:00:57
  >
  > 2009-08-16 23:00:57 [4477] [9] DEBUG:   Fragment: (null)
  >
  > 2009-08-16 23:00:57 [4477] [9] DEBUG: HTTP: Opening connection to `www.smsexample.com:80 
  > ' (fd=28).
  >
  > 2009-08-16 23:00:57 [4477] [9] DEBUG: Socket connecting
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG: Get info about connecting socket
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG: HTTP: Sending request:
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG: Octet string at 0x10f9c950:
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   len:  227
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   size: 1024
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   immutable: 0
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 47 45 54 20 2f 69 6e  
  > 64 65 78 2e 70 68 70 2f 73   GET /index.php/s
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 6d 73 77 65 62 61 64  
  > 6d 69 6e 2f 73 75 62 73 63   mswebadmin/subsc
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 72 69 62 65 5f 75 73  
  > 65 72 73 5f 70 72 6f 73 65   ribe_users_prose
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 72 76 69 63 65 73 3f  
  > 74 6f 3d 31 38 31 38 26 6d   rvices?to=1111&m
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 6f 62 69 6c 65 6e 75  
  > 6d 62 65 72 3d 25 32 42 32   obilenumber=%2B2
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 33 31 36 36 31 33 39  
  > 38 37 26 6d 65 73 73 61 67   316613987&messag
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 65 3d 46 6f 6f 74 62  
  > 61 6c 6c 26 72 65 63 65 69   e=smsgame1&recei
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 76 65 64 6f 6e 3d 32  
  > 30 30 39 2d 30 38 2d 31 37   vedon=2009-08-17
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 2b 30 33 3a 30 30 3a  
  > 35 37 20 48 54 54 50 2f 31   +03:00:57 HTTP/1
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 2e 31 0d 0a 48 6f 73  
  > 74 3a 20 77 77 77 2e 73 6d   .1..Host: www.sm
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 73 73 74 72 65 61 6d  
  > 65 72 2e 63 6f 6d 0d 0a 43   sstreamer.com..C
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 6f 6e 6e 65 63 74 69  
  > 6f 6e 3a 20 6b 65 65 70 2d   onnection: keep-
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 61 6c 69 76 65 0d 0a  
  > 55 73 65 72 2d 41 67 65 6e   alive..User-Agen
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 74 3a 20 4b 61 6e 6e  
  > 65 6c 2f 31 2e 34 2e 33 0d   t: Kannel/1.4.3.
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG:   data: 0a 0d  
  > 0a                                          ...
  >
  > 2009-08-16 23:00:57 [4477] [8] DEBUG: Octet string dump ends.
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG: HTTP: Status line: <HTTP/1.1  
  > 200 OK>
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG: HTTP: Received response:
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG: Octet string at 0x10f9d630:
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   len:  381
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   size: 1024
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   immutable: 0
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 44 61 74 65 3a 20 4d  
  > 6f 6e 2c 20 31 37 20 41 75   Date: Mon, 17 Au
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 67 20 32 30 30 39 20  
  > 30 33 3a 30 30 3a 35 37 20   g 2009 03:00:57
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 47 4d 54 0d 0a 53 65  
  > 72 76 65 72 3a 20 41 70 61   GMT..Server: Apa
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 63 68 65 2f 32 2e 32  
  > 2e 38 20 28 46 65 64 6f 72   che/2.2.8 (Fedor
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 61 29 0d 0a 58 2d 50  
  > 6f 77 65 72 65 64 2d 42 79   a)..X-Powered-By
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 3a 20 50 48 50 2f 35  
  > 2e 32 2e 36 0d 0a 53 65 74   : PHP/5.2.6..Set
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 2d 43 6f 6f 6b 69 65  
  > 3a 20 43 41 4b 45 50 48 50   -Cookie: CAKEPHP
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 3d 72 75 31 70 31 30  
  > 69 33 36 70 68 6b 74 33 32   =ru1p10i36phkt32
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 36 68 6b 76 68 6a 6c  
  > 75 66 67 36 3b 20 65 78 70   6hkvhjlufg6; exp
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 69 72 65 73 3d 54 68  
  > 75 2c 20 31 37 20 41 75 67   ires=Thu, 17 Aug
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 20 32 30 33 34 20 30  
  > 39 3a 30 30 3a 35 37 20 47    2034 09:00:57 G
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 4d 54 3b 20 70 61 74  
  > 68 3d 2f 69 6e 64 65 78 2e   MT; path=/index.
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 70 68 70 2f 0d 0a 50  
  > 33 50 3a 20 43 50 3d 22 4e   php/..P3P: CP="N
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 4f 49 20 41 44 4d 20  
  > 44 45 56 20 50 53 41 69 20   OI ADM DEV PSAi
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 43 4f 4d 20 4e 41 56  
  > 20 4f 55 52 20 4f 54 52 6f   COM NAV OUR OTRo
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 20 53 54 50 20 49 4e  
  > 44 20 44 45 4d 22 0d 0a 43    STP IND DEM"..C
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 6f 6e 74 65 6e 74 2d  
  > 4c 65 6e 67 74 68 3a 20 36   ontent-Length: 6
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 30 0d 0a 43 6f 6e 6e  
  > 65 63 74 69 6f 6e 3a 20 63   0..Connection: c
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 6c 6f 73 65 0d 0a 43  
  > 6f 6e 74 65 6e 74 2d 54 79   lose..Content-Ty
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 70 65 3a 20 74 65 78  
  > 74 2f 68 74 6d 6c 0d 0a 0d   pe: text/html...
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 0a 0a 59 6f 75 20 68  
  > 61 76 65 20 73 75 63 63 65   ..You have succe
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 73 73 66 75 6c 6c 79  
  > 20 73 75 62 73 63 72 69 62   ssfully subscrib
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 65 64 20 74 6f 20 46  
  > 6f 6f 74 62 61 6c 6c 20 67   ed to smsgame1 g
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG:   data: 72 6f 75 70 20 73 65  
  > 72 76 69 63 65 73            roup services
  >
  > 2009-08-16 23:00:58 [4477] [8] DEBUG: Octet string dump ends.
  >
  > 2009-08-16 23:00:58 [4477] [5] DEBUG: message length 59, sending 1  
  > messages
  >
  > 2009-08-16 23:00:58 [4477] [0] DEBUG: Got ACK (0) of  
  > 595fac84-2cc9-4f23-a552-2fca9830206f
  >
  > 2009-08-16 23:00:58 [4477] [0] DEBUG: No client - multi-send or ACK  
  > to pull-reply
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: gwlib/octstr.c:2481:  
  > seems_valid_real: Assertion `ostr != NULL' failed. (Called from  
  > gwlib/octstr.c:836:octstr_convert_range.)
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/ 
  > smsbox(gw_panic+0x15b) [0x43c7fb]
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox  
  > [0x43d079]
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/ 
  > smsbox(octstr_convert_range+0x3d) [0x43d54d]
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/ 
  > smsbox(urltrans_find+0x55) [0x41d045]
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox  
  > [0x415790]
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox  
  > [0x433885]
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /lib64/libpthread.so.0  
  > [0x343da06367]
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /lib64/libc.so.6(clone+0x6d)  
  > [0x343ced309d]
  >
  >
  > Thanks,
  >
  > Hemant
  >
  >
  > From: Nikos Balkanas [mailto:[email protected]]
  > Sent: Tuesday, August 18, 2009 9:02 PM
  > To: [email protected]
  > Cc: [email protected]
  > Subject: Re: SMSbox crashed
  >
  >
  > Hi,
  >
  >
  > Please supply longer logs before the problem. Make sure there are at  
  > least 2 - 3 entries from thread [4] before the problem.
  >
  >
  > BR,
  >
  > Nikos
  >
  > ----- Original Message -----
  >
  > From: Hemant Gmail
  >
  > To: [email protected]
  >
  > Sent: Monday, August 17, 2009 8:51 AM
  >
  > Subject: SMSbox crashed
  >
  >
  > Hello,
  >
  >
  > For some reason my smsbox has started crashing since last couple of  
  > days. Please find below the log entries.
  >
  > Can anyone please help me on this?
  >
  >
  > 2009-08-16 23:00:58 [4477] [0] DEBUG: Got ACK (0) of  
  > 595fac84-2cc9-4f23-a552-2fca9830206f
  >
  > 2009-08-16 23:00:58 [4477] [0] DEBUG: No client - multi-send or ACK  
  > to pull-reply
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: gwlib/octstr.c:2481:  
  > seems_valid_real: Assertion `ostr != NULL' failed. (Called from  
  > gwlib/octstr.c:836:octstr_convert_range.)
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/ 
  > smsbox(gw_panic+0x15b) [0x43c7fb]
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox  
  > [0x43d079]
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/ 
  > smsbox(octstr_convert_range+0x3d) [0x43d54d]
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/ 
  > smsbox(urltrans_find+0x55) [0x41d045]
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox  
  > [0x415790]
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /usr/local/kannel/sbin/smsbox  
  > [0x433885]
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /lib64/libpthread.so.0  
  > [0x343da06367]
  >
  > 2009-08-16 23:23:25 [4477] [4] PANIC: /lib64/libc.so.6(clone+0x6d)  
  > [0x343ced309d]
  >
  >
  > Thanks in advance.
  >
  > Hemant
  >
  >
  >
  >
  > -- 
  > Donald Jackson
  > http://www.thearchitech.com
  >
  >
  >
  > -- 
  > Donald Jackson
  > http://www.thearchitech.com
  > donald(a)thearchitech.com
  > <data_sm_mo.patch>
bb_boxc.diff (application/octet-stream, 648 B)
Index: gw/bb_boxc.c
===================================================================
RCS file: /home/cvs/gateway/gw/bb_boxc.c,v
retrieving revision 1.94
diff -a -u -r1.94 bb_boxc.c
--- gw/bb_boxc.c	2 Mar 2009 01:35:38 -0000	1.94
+++ gw/bb_boxc.c	26 Aug 2009 22:19:07 -0000
@@ -1655,6 +1655,12 @@
 
         gw_assert(msg_type(msg) == sms);
 
+        if (msg->sms.msgdata == NULL){
+            debug("bb.sms", 0, "sms_to_smsboxes: Empty sms %s dropped", msg->sms.id);
+            msg_destroy(msg);
+            break;
+        }
+
         /* debug("bb.sms", 0, "sms_boxc_router: handling message (%p vs %p)",
 	          msg, startmsg); */
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.