The following comment has been added to this issue:

     Author: Hes Siemelink
    Created: Thu, 19 Aug 2004 4:10 AM
       Body:
Messages do get lost when this occurs. 
Looking at the exception handling in RemoteDelivery.run() it makes sense, but I think 
it is unwanted behavior.

I think the best way to solve this is to explicitly check for null:

In RemoteDelivery.deliver(), add the following

            while ( targetServers.hasNext()) {
                try {
                    HostAddress outgoingMailServer = (HostAddress) 
targetServers.next();

// line 409:                    
+                    if (outgoingMailServer == null) {
+                     continue;
+                    }
                    
                    StringBuffer logMessageBuffer =
                        new StringBuffer(256)
                        .append("Attempting delivery of ")
                        .append(mail.getName())
                        .append(" to host ")
                        .append(outgoingMailServer.getHostName())
                        .append(" at ")
                        .append(outgoingMailServer.getHost())
                        .append(" to addresses ")
                        .append(Arrays.asList(addr));
                    log(logMessageBuffer.toString());

(Sorry, don't have time now to setup cvs/diff/patch)

---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/JAMES-318?page=comments#action_37331

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/JAMES-318

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: JAMES-318
    Summary: java.lang.NullPointerException when host is unknown
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: James
 Components: 
             Remote Delivery
   Versions:
             2.2.0

   Assignee: 
   Reporter: Hes Siemelink

    Created: Wed, 18 Aug 2004 5:44 AM
    Updated: Thu, 19 Aug 2004 4:10 AM

Description:
I encountered the following NullPointerException:

18/08/04 14:29:59 INFO  James.Mailet             : RemoteDelivery: Unknown gateway 
host: unknown host
18/08/04 14:29:59 INFO  James.Mailet             : RemoteDelivery: This could be a DNS 
server error or configuration error.
18/08/04 14:29:59 INFO  James.Mailet             : RemoteDelivery: Exception caught in 
RemoteDelivery.run()
java.lang.NullPointerException
        at 
org.apache.james.transport.mailets.RemoteDelivery.deliver(RemoteDelivery.java:409)
        at 
org.apache.james.transport.mailets.RemoteDelivery.run(RemoteDelivery.java:912)
        at java.lang.Thread.run(Thread.java:534)


This is caused by logging information about a HostAddress that happens to be null. 

The HostAddress is null because I had a misconfiguration in my config.xml: a gateway 
server that could not be found.
I fixed the issue for myself by entering the correct host name.

Still, NullPointerExceptions are a bad sign. 

Also, the message seems to disappear from the queue. I can't find it in the spool 
directory and there is no attempt of delivery after a restart.
In other words, I seem to observe that a message gets lost when this occurs.




---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to