nguyenbahuong / smslib

Automatically exported from code.google.com/p/smslib
0 stars 0 forks source link

index out of range #507

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
SmsLib 3.5.1

06/09/12 12:00:52:795 - DEBUG - AModemDriver                  :350 - GTW: 
myModem: BUFFER: AT+CPMS="SM"^M^M+CPMS: 0,50,0,50,0,50^MOK
06/09/12 12:00:52:796 - DEBUG - AModemDriver                  :390 - GTW: 
myModem: RECV :AT+CPMS="SM"(cr)(cr)+CPMS: 0,50,0,50,0,50(cr)OK(cr)
06/09/12 12:00:52:797 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :AT+CMGL=4(cr)
06/09/12 12:00:52:991 - DEBUG - AServiceThread                :104 - Running...
06/09/12 12:00:52:994 - DEBUG - AModemDriver                  :350 - GTW: 
myModem: BUFFER: AT+CMGL=4^M^MOK
06/09/12 12:00:52:995 - DEBUG - AModemDriver                  :390 - GTW: 
myModem: RECV :AT+CMGL=4(cr)(cr)OK(cr)
06/09/12 12:00:52:995 - ERROR - SMSServer                     :374 - SMSServer: 
reading messages exception!
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
        at java.lang.String.substring(String.java:1949)
        at org.smslib.modem.ModemGateway.readMessagesPDU(ModemGateway.java:544)
        at org.smslib.modem.ModemGateway.readMessages(ModemGateway.java:210)
        at org.smslib.Service.readMessages(Service.java:500)
        at org.smslib.Service.readMessages(Service.java:388)
        at org.smslib.smsserver.SMSServer.readMessages(SMSServer.java:363)
        at org.smslib.smsserver.SMSServer$InboundPollingThread.run(SMSServer.java:265)

Original issue reported on code.google.com by fanch...@gmail.com on 6 Sep 2012 at 11:06

GoogleCodeExporter commented 9 years ago
3.5.2 exception occurs too.

Due to ModemGateway:l537
                    if (line.length() <= 0 || line.equalsIgnoreCase("OK")) break;
                    if (line.length() <= 0 || line.equalsIgnoreCase("ERROR")) break;
                    i = line.indexOf(':');
                    j = line.indexOf(',');
                    memIndex = 0;
                    try
                    {
                        memIndex = Integer.parseInt(line.substring(i + 1, j).trim());
                    }
                    catch (NumberFormatException e)
                    {
                        // TODO: What to do here?
                        Logger.getInstance().logWarn("Incorrect Memory Index number parsed!", e, getGatewayId());
                    }
Must test i and j before parse int. But why AT+CMGL=4 is display on input??

Original comment by fanch...@gmail.com on 6 Sep 2012 at 11:30

GoogleCodeExporter commented 9 years ago
Something else is wrong here...

What modem are you using?
PDU or TEXT mode? Operating system?
What is the response from the CMGL command? It doesn't show in the log - have 
you remoted it?

Original comment by admin@smslib.org on 6 Sep 2012 at 12:38

GoogleCodeExporter commented 9 years ago
Hello,

Hereunder the complete log.
I think i am in pdu mode. How can I confirm that?
My modem is  GTM671WFS Option modem. On linux.
Answer to CMGL command seems to be AT+CMGL=4(cr)(cr)OK(cr).

Hope it helps.
Best regards.

04/09/12 09:50:42:857 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :+++
04/09/12 09:50:43:058 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :ATZ(cr)
04/09/12 09:50:43:259 - DEBUG - AModemDriver                  :409 - GTW: 
myModem: clearBuffer() called.
04/09/12 09:50:44:260 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :ATZ(cr)
04/09/12 09:50:44:461 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :ATE0(cr)
04/09/12 09:50:44:662 - DEBUG - AModemDriver                  :409 - GTW: 
myModem: clearBuffer() called.
04/09/12 09:50:45:663 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :AT+CPIN?(cr)
04/09/12 09:50:45:875 - DEBUG - AModemDriver                  :350 - GTW: 
myModem: BUFFER: +CPIN: READY
04/09/12 09:50:45:876 - DEBUG - AModemDriver                  :390 - GTW: 
myModem: RECV :+CPIN: READY(cr)
04/09/12 09:50:45:876 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :ATE0(cr)
04/09/12 09:50:46:076 - DEBUG - AModemDriver                  :409 - GTW: 
myModem: clearBuffer() called.
04/09/12 09:50:47:077 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :AT+CLIP=1(cr)
04/09/12 09:50:47:280 - DEBUG - AModemDriver                  :350 - GTW: 
myModem: BUFFER: OK
04/09/12 09:50:47:281 - DEBUG - AModemDriver                  :390 - GTW: 
myModem: RECV :OK(cr)
04/09/12 09:50:47:282 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :AT+COPS=0(cr)
04/09/12 09:50:47:480 - DEBUG - AModemDriver                  :350 - GTW: 
myModem: BUFFER: OK
04/09/12 09:50:47:481 - DEBUG - AModemDriver                  :390 - GTW: 
myModem: RECV :OK(cr)
04/09/12 09:50:47:482 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :ATE0(cr)
04/09/12 09:50:47:683 - DEBUG - AModemDriver                  :409 - GTW: 
myModem: clearBuffer() called.
04/09/12 09:50:48:684 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :AT+CREG=1(cr)
04/09/12 09:50:48:692 - DEBUG - AModemDriver                  :350 - GTW: 
myModem: BUFFER: OK
04/09/12 09:50:48:693 - DEBUG - AModemDriver                  :390 - GTW: 
myModem: RECV :OK(cr)
04/09/12 09:50:48:693 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :AT+CREG?(cr)
04/09/12 09:50:48:895 - DEBUG - AModemDriver                  :350 - GTW: 
myModem: BUFFER: +CREG: 1,1
OK
04/09/12 09:50:48:896 - DEBUG - AModemDriver                  :390 - GTW: 
myModem: RECV :+CREG: 1,1(cr)OK(cr)
04/09/12 09:50:48:897 - INFO  - AModemDriver                  :446 - GTW: 
myModem: GSM: Registered to home network.
04/09/12 09:50:48:898 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :AT+CMEE=1(cr)
04/09/12 09:50:49:094 - DEBUG - AModemDriver                  :350 - GTW: 
myModem: BUFFER: OK
04/09/12 09:50:49:095 - DEBUG - AModemDriver                  :390 - GTW: 
myModem: RECV :OK(cr)
04/09/12 09:50:49:096 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :AT+CNMI=?(cr)
04/09/12 09:50:49:299 - DEBUG - AModemDriver                  :350 - GTW: 
myModem: BUFFER: +CNMI: (0,1,2),(0,1,2,3),(0,2),(0,1,2),(0,1)
OK
04/09/12 09:50:49:301 - DEBUG - AModemDriver                  :390 - GTW: 
myModem: RECV :+CNMI: (0,1,2),(0,1,2,3),(0,2),(0,1,2),(0,1)(cr)OK(cr)
04/09/12 09:50:49:302 - DEBUG - CNMIDetector                  :136 - CNMI: 
Found best match: 2
04/09/12 09:50:49:303 - DEBUG - CNMIDetector                  :136 - CNMI: 
Found best match: 1
04/09/12 09:50:49:304 - DEBUG - CNMIDetector                  :136 - CNMI: 
Found best match: 0
04/09/12 09:50:49:305 - DEBUG - CNMIDetector                  :136 - CNMI: 
Found best match: 2
04/09/12 09:50:49:307 - DEBUG - CNMIDetector                  :136 - CNMI: 
Found best match: 0
04/09/12 09:50:49:307 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :AT+CNMI=2,1,0,2,0(cr)
04/09/12 09:50:49:497 - DEBUG - AModemDriver                  :350 - GTW: 
myModem: BUFFER: AT+CNMI=2,1,0,2,0

OK
04/09/12 09:50:49:497 - DEBUG - AModemDriver                  :390 - GTW: 
myModem: RECV :AT+CNMI=2,1,0,2,0(cr)(cr)OK(cr)
04/09/12 09:50:49:498 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :AT+CMGF=0(cr)
04/09/12 09:50:49:695 - DEBUG - AServiceThread                :104 - Running...
04/09/12 09:50:49:698 - DEBUG - AModemDriver                  :350 - GTW: 
myModem: BUFFER: AT+CMGF=0

OK
04/09/12 09:50:49:699 - DEBUG - AModemDriver                  :390 - GTW: 
myModem: RECV :AT+CMGF=0(cr)(cr)OK(cr)
04/09/12 09:50:49:700 - DEBUG - nager$NotificationQueueManager:130 - 
NotifyQueueManager end...
04/09/12 09:50:49:700 - DEBUG - AServiceThread                :39  - 
Initialized.
04/09/12 09:50:49:702 - INFO  - ModemGateway                  :191 - GTW: 
myModem: Gateway started.
04/09/12 09:50:49:802 - DEBUG - nager$NotificationQueueManager:96  - 
NotifyQueueManager running...
04/09/12 09:50:49:802 - DEBUG - nager$NotificationQueueManager:130 - 
NotifyQueueManager end...
04/09/12 09:50:49:904 - DEBUG - nager$NotificationQueueManager:96  - 
NotifyQueueManager running...

04/09/12 09:50:59:925 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :AT+CPMS="SM"(cr)
04/09/12 09:50:59:945 - DEBUG - AModemDriver                  :350 - GTW: 
myModem: BUFFER: AT+CPMS="SM"

+CPMS: 0,100,0,100,0,100
OK
04/09/12 09:50:59:946 - DEBUG - AModemDriver                  :390 - GTW: 
myModem: RECV :AT+CPMS="SM"(cr)(cr)+CPMS: 0,100,0,100,0,100(cr)OK(cr)
04/09/12 09:50:59:947 - DEBUG - AModemDriver                  :301 - GTW: 
myModem: SEND :AT+CMGL=4(cr)
04/09/12 09:51:00:144 - DEBUG - AModemDriver                  :350 - GTW: 
myModem: BUFFER: AT+CMGL=4

OK
04/09/12 09:51:00:145 - DEBUG - AModemDriver                  :390 - GTW: 
myModem: RECV :AT+CMGL=4(cr)(cr)OK(cr)
04/09/12 09:51:00:148 - WARN  - ModemGateway                  :551 - GTW: 
myModem: Index out of range:i=-1, j=-1, line=[AT+CMGL=4]
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1949)
    at org.smslib.modem.ModemGateway.readMessagesPDU(ModemGateway.java:544)
    at org.smslib.modem.ModemGateway.readMessages(ModemGateway.java:210)
    at org.smslib.Service.readMessages(Service.java:500)
    at org.smslib.Service.readMessages(Service.java:388)
    at org.smslib.smsserver.interfaces.FileInterface$ReadHandler.cycleOperation(FileInterface.java:239)
    at jkad.controller.threads.CyclicThread.run(CyclicThread.java:37)

Original comment by fanch...@gmail.com on 6 Sep 2012 at 12:57

GoogleCodeExporter commented 9 years ago
Well, although the initial "ATE0" command (echo off) seems ok and everything 
goes well, at the point where the "AT+CNMI" command is issued, your modems 
seems to have switched back to ECHO mode and echoes whatever is sent to it...

I am afraid I haven't seen such an issue before. I don't know what to suggest, 
except trying with another modem - or search/post this to the group just in 
case somebody else faced it already.

Original comment by admin@smslib.org on 6 Sep 2012 at 8:30

GoogleCodeExporter commented 9 years ago

Original comment by admin@smslib.org on 12 Sep 2012 at 1:49