Ticket #97 (accepted Bugs)

Opened 3 months ago

Last modified 3 months ago

Null Pointer Exception while rerieving BODYSTRUCTURE

Reported by: joelgriffiths Owned by: octo
Priority: 1 Milestone:
Component: LogicMail Version: 0.4
Keywords: Cc:

Description

I seem to be getting a NULL Pointer exception after receiving, what appears to be, a normal response to a BODYSTRUCTURE request:

208.109.138.114.00143-208.054.014.079.15399: * OK [CAPABILITY IMAP4rev1 STARTTLS CHILDREN NAMESPACE 208.109.138.114.00143-208.054.014.079.15399: ] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. See COPYING for distribution information.

208.054.014.079.15399-208.109.138.114.00143: A85 CAPABILITY

208.109.138.114.00143-208.054.014.079.15399: * CAPABILITY IMAP4rev1 STARTTLS CHILDREN NAMESPACE 208.109.138.114.00143-208.054.014.079.15399: A85 OK CAPABILITY completed

208.054.014.079.15399-208.109.138.114.00143: A86 LOGIN "EMAILADDRESS" "OMITTED"

208.109.138.114.00143-208.054.014.079.15399: A86 OK LOGIN Ok.

208.054.014.079.15399-208.109.138.114.00143: A87 NAMESPACE

208.109.138.114.00143-208.054.014.079.15399: * NAMESPACE (("" "/")) NIL NIL A87 OK NAMESPACE completed.

208.054.014.079.15399-208.109.138.114.00143: A88 SELECT "INBOX"

208.109.138.114.00143-208.054.014.079.15399: * FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent) * OK [PERMANENTFLAGS (\Draft \Answered \Flagged \Deleted \Seen)] Limited * 214 EXISTS * 0 RECENT * OK [UIDVALIDITY 1107906150] Ok * OK [UIDNEXT 67611] Predicted next UID A88 OK [READ-WRITE] SELECT completed.

208.054.014.079.15399-208.109.138.114.00143: A89 FETCH 208 (BODYSTRUCTURE)

208.109.138.114.00143-208.054.014.079.15399: * 208 FETCH (UID 67601 BODYSTRUCTURE 208.109.138.114.00143-208.054.014.079.15399: ("text" "html" ("charset" "utf-8") NIL NIL "quoted-printable" 1398 24 NIL NIL NIL)) A89 OK FETCH completed.

208.054.014.079.15399-208.109.138.114.00143: A90 LOGOUT

208.109.138.114.00143-208.054.014.079.15399: * BYE IMAP server shutting down A90 OK LOGOUT completed

tcpflow[17217]: terminating

From the Device: d net.rim.tunnel - THsp - 8/20 16:14:29 a net.rim.tunnel - TNde - 8/20 16:14:29 d net.rim.tunnel - STu0 - 8/20 16:14:29 d net.rim.tunnel - THa1 - 8/20 16:14:29 a net.rim.tunnel - Clos-wap.voicestream.com - 8/20 16:14:29 i net.rim.tcpdatagram - TXss - 8/20 16:14:28 d net.rim.tcpdatagram - TXsb - 8/20 16:14:28 i net.rim.tcpdatagram - TXst - 8/20 16:14:28 i LogicMail - Connection closed - 8/20 16:14:28 d LogicMail - [RECV] A90 OK LOGOUT completed - 8/20 16:14:28 d LogicMail - [RECV] * BYE IMAP server shutting down - 8/20 16:14:28 i net.rim.tcpdatagram - TXss - 8/20 16:14:28 d net.rim.tcpdatagram - TXsb - 8/20 16:14:28 i net.rim.tcpdatagram - TXst - 8/20 16:14:28 d LogicMail - [SEND CMD] A90 LOGOUT - 8/20 16:14:28 d LogicMail - ImapProtocol.executeLogout() - 8/20 16:14:28 E LogicMail - java.lang.NullPointerException - 8/20 16:14:28 W LogicMail - ImapParser.parseMessageStructure: Sanity check failed - 8/20 16:14:28 d LogicMail - [RECV] A89 OK FETCH completed. - 8/20 16:14:28 d LogicMail - [RECV] * 208 FETCH (UID 67601 BODYSTRUCTURE ("text" "html" ("charset" "utf-8") NIL NIL "quoted-printable" 1398 24 NIL NIL NIL)) - 8/20 16:14:28 i net.rim.tcpdatagram - TXss - 8/20 16:14:27 d net.rim.tcpdatagram - TXsb - 8/20 16:14:27 i net.rim.tcpdatagram - TXst - 8/20 16:14:27 i net.rim.tcpdatagram - TXss - 8/20 16:14:27 d net.rim.tcpdatagram - TXsb - 8/20 16:14:27 i net.rim.tcpdatagram - TXst - 8/20 16:14:27 d LogicMail - [SEND CMD] A89 FETCH 208 (BODYSTRUCTURE) - 8/20 16:14:27 d LogicMail - ImapProtocol.executeFetchBodyStructure(208) - 8/20 16:14:27 d LogicMail - [RECV] A88 OK [READ-WRITE] SELECT completed. - 8/20 16:14:27 d LogicMail - [RECV] * OK [UIDNEXT 67611] Predicted next UID - 8/20 16:14:27 d LogicMail - [RECV] * OK [UIDVALIDITY 1107906150] Ok - 8/20 16:14:27 d LogicMail - [RECV] * 0 RECENT - 8/20 16:14:27 d LogicMail - [RECV] * 214 EXISTS - 8/20 16:14:27 d LogicMail - [RECV] * OK [PERMANENTFLAGS (\Draft \Answered \Flagged \Deleted \Seen)] Limited - 8/20 16:14:27 d LogicMail - [RECV] * FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent) - 8/20 16:14:26 i net.rim.tcpdatagram - TXss - 8/20 16:14:26 d net.rim.tcpdatagram - TXsb - 8/20 16:14:26 i net.rim.tcpdatagram - TXst - 8/20 16:14:26 d LogicMail - [SEND CMD] A88 SELECT "INBOX" - 8/20 16:14:26 d LogicMail - ImapProtocol.executeSelect("INBOX") - 8/20 16:14:26 d LogicMail - [RECV] A87 OK NAMESPACE completed. - 8/20 16:14:26 d LogicMail - [RECV] * NAMESPACE (("" "/")) NIL NIL - 8/20 16:14:26 i net.rim.tcpdatagram - TXss - 8/20 16:14:26 d net.rim.tcpdatagram - TXsb - 8/20 16:14:26 i net.rim.tcpdatagram - TXst - 8/20 16:14:26 d LogicMail - [SEND CMD] A87 NAMESPACE - 8/20 16:14:26 d LogicMail - ImapProtocol.executeNamespace() - 8/20 16:14:26 d LogicMail - [RECV] A86 OK LOGIN Ok. - 8/20 16:14:26 i net.rim.tcpdatagram - TXss - 8/20 16:14:25 d net.rim.tcpdatagram - TXsb - 8/20 16:14:25 i net.rim.tcpdatagram - TXst - 8/20 16:14:25 d LogicMail - [SEND CMD] A86 LOGIN "jEMAILADDRESS" "REMOVED" - 8/20 16:14:25 d LogicMail - ImapProtocol.executeLogin("EMAILADDRESS", "REMOVED") - 8/20 16:14:25 d LogicMail - [RECV] A85 OK CAPABILITY completed - 8/20 16:14:25 d LogicMail - [RECV] * CAPABILITY IMAP4rev1 STARTTLS CHILDREN NAMESPACE - 8/20 16:14:25 i net.rim.tcpdatagram - TXss - 8/20 16:14:25 d net.rim.tcpdatagram - TXsb - 8/20 16:14:25 i net.rim.tcpdatagram - TXst - 8/20 16:14:25 i net.rim.tcpdatagram - TXss - 8/20 16:14:24 d net.rim.tcpdatagram - TXsb - 8/20 16:14:24 i net.rim.tcpdatagram - TXst - 8/20 16:14:24 d LogicMail - [SEND CMD] A85 CAPABILITY - 8/20 16:14:24 d LogicMail - ImapProtocol.executeCapability() - 8/20 16:14:24 d LogicMail - [RECV] * OK [CAPABILITY IMAP4rev1 STARTTLS CHILDREN NAMESPACE] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. See COPYING for distribution information. - 8/20 16:14:24 i net.rim.tcpdatagram - TXss - 8/20 16:14:23 d net.rim.tcpdatagram - TXsb - 8/20 16:14:23 i net.rim.tcpdatagram - TXst - 8/20 16:14:23 i net.rim.tcpdatagram - TXss - 8/20 16:14:23 d net.rim.tcpdatagram - TXsb - 8/20 16:14:23 i net.rim.tcpdatagram - TXst - 8/20 16:14:23 i LogicMail - Connection established: Socket: class net.rim.device.cldc.io.tcp.Protocol Local address: 10.174.97.171 - 8/20 16:14:23 i net.rim.tcpdatagram - TXss - 8/20 16:14:22 d net.rim.tcpdatagram - TXsb - 8/20 16:14:22 i net.rim.tcpdatagram - TXst - 8/20 16:14:22 d net.rim.tunnel - THw2 - 8/20 16:14:22 d net.rim.tunnel - STu3 - 8/20 16:14:22 a net.rim.tunnel - STac - 8/20 16:14:22 d net.rim.tunnel - THa6 - 8/20 16:14:22 a net.rim.tunnel - Pdp0-wap.voicestream.com - 8/20 16:14:22 d net.rim.tunnel - THw2 - 8/20 16:14:22 d net.rim.tunnel - STu3 - 8/20 16:14:22 d net.rim.hrtRT - CNon - 8/20 16:14:22 a net.rim.tunnel - STac - 8/20 16:14:22 a net.rim.hrtRT - PUpI - 8/20 16:14:22 d net.rim.tunnel - THa6 - 8/20 16:14:22 a net.rim.hrtRT - EPdp 0x1 - 8/20 16:14:22 a net.rim.tunnel - Pdp0-wap.voicestream.com - 8/20 16:14:22 d net.rim.tunnel - THw3 - 8/20 16:14:21 a net.rim.tunnel - TNac - 8/20 16:14:21 d net.rim.tunnel - STu2 - 8/20 16:14:21 d net.rim.tunnel - STu1 - 8/20 16:14:21 d net.rim.tunnel - THa2 - 8/20 16:14:21 d net.rim.tunnel - THst - 8/20 16:14:21 a net.rim.tunnel - Kick-wap.voicestream.com - 8/20 16:14:21 a net.rim.tunnel - Open-wap.voicestream.com - 8/20 16:14:21 i net.rim.tcp - TCIc - 8/20 16:14:21 a System - CMM: LogicMail-1(4119) no sig from 0x33 - 8/20 16:14:21 i LogicMail - Opening connection: socket://imapbeta.secureserver.net:143 - 8/20 16:14:21

Change History

Changed 3 months ago by octo

  • owner set to octo
  • status changed from new to accepted

It looks like your server is sending the message UID along with the BODYSTRUCTURE, when the FETCH command only asks for the BODYSTRUCTURE. The issue is most likely that LogicMail isn't accounting for this possibility. I'll investigate and update this ticket when I have a fix.

Changed 3 months ago by octo

Please test with the newly posted 1.0.2 release candidate here, and let me know if the problem is fixed: http://logicmail.sf.net/ota/test/LogicMail.jad

(the above is an over-the-air download link. Its also now available on the normal OTA download page)

Note: See TracTickets for help on using tickets.