[ https://issues.apache.org/jira/browse/GERONIMO-4241?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dave Rushall reopened GERONIMO-4241: ------------------------------------ Reopening after chatting about this issue with Rick... I still think there is an issue here with the Geronimo Javamail implementation. Running my code against the same POP3 server using the Sun Javamail implementation works fine. The debug log does not show any attempt to create a second connection to the server, allowing it to complete, without hitting the locked mailbox exception. DEBUG: JavaMail version 1.4.1 DEBUG: not loading file: C:\Program Files\IBM\Java50\jre\lib\javamail.providers DEBUG: java.io.FileNotFoundException: C:\Program Files\IBM\Java50\jre\lib\javamail.providers (The system cannot find the file specified.) DEBUG: URL jar:file:/******************************************/testStoreRegistration.jar!/META-INF/javamail.providers DEBUG: successfully loaded resource: jar:file:/******************************************/testStoreRegistration.jar!/META-INF/javamail.providers DEBUG: successfully loaded resource: /META-INF/javamail.default.providers DEBUG: Tables of loaded providers DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], **************.TestStore=javax.mail.Provider[STORE,testStore,**************.TestStore,***********]} DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], testStore=javax.mail.Provider[STORE,testStore,**************.TestStore,***********], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]} DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map DEBUG: !anyLoaded DEBUG: not loading resource: /META-INF/javamail.address.map DEBUG: not loading file: C:\Program Files\IBM\Java50\jre\lib\javamail.address.map DEBUG: java.io.FileNotFoundException: C:\Program Files\IBM\Java50\jre\lib\javamail.address.map (The system cannot find the file specified.) DEBUG: getProvider() returning javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc] DEBUG POP3: connecting to host "*************************", port 110, isSSL false S: +OK POP3 ************************* v2003.83 server ready C: USER ******* S: +OK User name accepted, password please C: PASS ******** S: +OK Mailbox open, 0 messages C: STAT S: +OK 0 0 C: NOOP S: +OK No-op to you too! C: QUIT S: +OK Sayonara The following pseudo code outlines what my code is doing... store = session.getStore("POP3"); store.connect(hostName, port, userid, password); folder = store.getFolder(folderName); folder.open(Folder.READ_WRITE); undeletedMessageCount = folder.getMessageCount(); undeletedMessageCount -= folder.getDeletedMessageCount(); // fails using Geronimo implementation folder.close() store.close() > NPE when calling folder.getDeletedMessageCount() for POP3 store > --------------------------------------------------------------- > > Key: GERONIMO-4241 > URL: https://issues.apache.org/jira/browse/GERONIMO-4241 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: mail > Environment: geronimo-javamail_1.4_mail-1.4.jar > IBM JRE 6 SR 1 > Windows XP > Reporter: Dave Rushall > Assignee: Rick McGuire > > Calling folder.getDeletedMessageCount() for POP3 store results in the > following NPE... > java.lang.NullPointerException > at > org.apache.geronimo.javamail.store.pop3.POP3Store.isConnected(POP3Store.java:238) > at > org.apache.geronimo.javamail.store.pop3.POP3Folder.isOpen(POP3Folder.java:354) > at javax.mail.Folder.getCount(Folder.java:436) > at javax.mail.Folder.getDeletedMessageCount(Folder.java:432) > Note that calling folder.getMessageCount() functions as expected. > The debug logs suggest that getDeletedMessageCount() attempts to open a > second simultaneous connection, which is refused by the server... > Loading javamail.default.providers from > jar:file:/C:/Documents%20and%20Settings/Administrator/Desktop/Calico/other/geronimo-javamail_1.4_mail-1.4.jar!/META-INF/javamail.default.providers > DEBUG: loading new provider protocol=smtp, > className=org.apache.geronimo.javamail.transport.smtp.SMTPTransport, > vendor=Apache Software Foundation, version=1.0 > DEBUG: loading new provider protocol=smtps, > className=org.apache.geronimo.javamail.transport.smtp.SMTPTSransport, > vendor=Apache Software Foundation, version=1.0 > DEBUG: loading new provider protocol=nntp-post, > className=org.apache.geronimo.javamail.transport.nntp.NNTPTransport, > vendor=Apache Software Foundation, version=1.0 > DEBUG: loading new provider protocol=nntp, > className=org.apache.geronimo.javamail.store.nntp.NNTPStore, vendor=Apache > Software Foundation, version=1.0 > DEBUG: loading new provider protocol=pop3, > className=org.apache.geronimo.javamail.store.pop3.POP3Store, vendor=Apache > Software Foundation, version=1.0 > DEBUG: loading new provider protocol=pop3s, > className=org.apache.geronimo.javamail.store.pop3.POP3SSLStore, vendor=Apache > Software Foundation, version=1.0 > DEBUG: loading new provider protocol=imap, > className=org.apache.geronimo.javamail.store.imap.IMAPStore, vendor=Apache > Software Foundation, version=1.0 > DEBUG: loading new provider protocol=imaps, > className=org.apache.geronimo.javamail.store.imap.IMAPSSLStore, vendor=Apache > Software Foundation, version=1.0 > DEBUG: getProvider() returning provider protocol=pop3; [EMAIL PROTECTED]; > class=org.apache.geronimo.javamail.store.pop3.POP3Store; vendor=Apache > Software Foundation;version=1.0 > IMAPStore DEBUG: Attempting plain socket connection to server null:0 > POP3Store DEBUG: Connecting to server ********:110 for user ******** > IMAPStore DEBUG: Attempting plain socket connection to server ********:110 > +OK POP3 ******** v2003.83 server ready > USER ******** > +OK User name accepted, password please > PASS ******** > +OK Mailbox open, 0 messages > NOOP > +OK No-op to you too! > STAT > +OK 0 0 > IMAPStore DEBUG: Attempting plain socket connection to server ********:110 > +OK POP3 ******** v2003.83 server ready > USER ******** > +OK User name accepted, password please > PASS ******** > -ERR Can't get lock. Mailbox in use -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.