[
https://issues.apache.org/jira/browse/JAMES-850?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Burrell Donkin updated JAMES-850:
----------------------------------------
Attachment: TEST-org.apache.james.transport.mailets.RemoteDeliveryTest.txt
Attached is the log for the patch below. This is quite interesting: the problem
seems to be calculating the SUID for the exception stored against
delivery-error.
Index: core-library/src/main/java/org/apache/james/core/MailImpl.java
===================================================================
--- core-library/src/main/java/org/apache/james/core/MailImpl.java
(revision 682119)
+++ core-library/src/main/java/org/apache/james/core/MailImpl.java
(working copy)
@@ -158,16 +158,17 @@
setRemoteAddr(mail.getRemoteAddr());
setLastUpdated(mail.getLastUpdated());
try {
- if (mail instanceof MailImpl) {
- setAttributesRaw((HashMap) cloneSerializableObject(((MailImpl)
mail).getAttributesRaw()));
- } else {
- HashMap attribs = new HashMap();
- for (Iterator i = mail.getAttributeNames(); i.hasNext(); ) {
- String hashKey = (String) i.next();
-
attribs.put(hashKey,cloneSerializableObject(mail.getAttribute(hashKey)));
- }
- setAttributesRaw(attribs);
+ // NOTE: switching to less performance implementation in an
attempt to discover
+ // NOTE: why optimised method is intermittently sticking
+ HashMap attribs = new HashMap();
+ for (Iterator i = mail.getAttributeNames(); i.hasNext(); ) {
+ String hashKey = (String) i.next();
+ System.err.println("ATT[START]@" + System.currentTimeMillis()
+ " " + hashKey);
+ final Serializable attribute = mail.getAttribute(hashKey);
+ attribs.put(hashKey,cloneSerializableObject(attribute));
+ System.err.println("ATT[END]@" + System.currentTimeMillis() +
" " + hashKey);
}
+ setAttributesRaw(attribs);
} catch (IOException e) {
// should never happen for in memory streams
setAttributesRaw(new HashMap());
@@ -609,6 +610,7 @@
* @throws ClassNotFoundException
*/
private static Object cloneSerializableObject(Object o) throws
IOException, ClassNotFoundException {
+ System.err.println("CSO[START]@" + System.currentTimeMillis() + " " +
o);
ByteArrayOutputStream b = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(b);
out.writeObject(o);
@@ -617,6 +619,7 @@
ByteArrayInputStream bi=new ByteArrayInputStream(b.toByteArray());
ObjectInputStream in = new ObjectInputStream(bi);
Object no = in.readObject();
+ System.err.println("CSO[END]@" + System.currentTimeMillis() + " " + o);
return no;
}
> RemoteDeliveryTest intermitant failure
> --------------------------------------
>
> Key: JAMES-850
> URL: https://issues.apache.org/jira/browse/JAMES-850
> Project: James
> Issue Type: Test
> Affects Versions: Trunk
> Environment: GNULinux/Gentoo
> % java -version
> java version "1.5.0_16"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b02)
> Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_16-b02, mixed mode)
> % cat /proc/cpuinfo
> processor : 0
> vendor_id : AuthenticAMD
> cpu family : 15
> model : 67
> model name : AMD Athlon(tm) 64 X2 Dual Core Processor 5600+
> stepping : 3
> cpu MHz : 1000.000
> cache size : 1024 KB
> physical id : 0
> siblings : 2
> core id : 0
> cpu cores : 2
> fpu : yes
> fpu_exception : yes
> cpuid level : 1
> wp : yes
> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
> pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm
> 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy
> bogomips : 2012.31
> TLB size : 1024 4K pages
> clflush size : 64
> cache_alignment : 64
> address sizes : 40 bits physical, 48 bits virtual
> power management: ts fid vid ttp tm stc
> processor : 1
> vendor_id : AuthenticAMD
> cpu family : 15
> model : 67
> model name : AMD Athlon(tm) 64 X2 Dual Core Processor 5600+
> stepping : 3
> cpu MHz : 1000.000
> cache size : 1024 KB
> physical id : 0
> siblings : 2
> core id : 1
> cpu cores : 2
> fpu : yes
> fpu_exception : yes
> cpuid level : 1
> wp : yes
> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
> pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm
> 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy
> bogomips : 2012.31
> TLB size : 1024 4K pages
> clflush size : 64
> cache_alignment : 64
> address sizes : 40 bits physical, 48 bits virtual
> power management: ts fid vid ttp tm stc
> Reporter: Robert Burrell Donkin
> Priority: Critical
> Attachments:
> TEST-org.apache.james.transport.mailets.RemoteDeliveryTest -
> expected-continuation.txt,
> TEST-org.apache.james.transport.mailets.RemoteDeliveryTest.txt,
> TEST-org.apache.james.transport.mailets.RemoteDeliveryTest.txt,
> TEST-org.apache.james.transport.mailets.RemoteDeliveryTest.txt,
> TEST-org.apache.james.transport.mailets.RemoteDeliveryTest.txt
>
>
> Open to track information related to intermittent failures of this test
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]