JDK-6986811 : TEST failure: java/beans/XMLEncoder/Test4994637.java
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.beans
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: generic
  • CPU: generic
  • Submitted: 2010-09-22
  • Updated: 2011-02-07
  • Resolved: 2011-02-07
Related Reports
Relates :  
Relates :  
Relates :  
Description
JPRT jdk7 b112 testcase failure?

--------------------------------------------------
TEST: java/beans/XMLEncoder/Test4994637.java
JDK under test: (/tmp/jprt/T2/T/182153.ss145989/testproduct/solaris_sparc_5.10-product)
java version "1.7.0-internal"
Java(TM) SE Runtime Environment (build 1.7.0-internal-jprtadm_2010_09_16_13_24-b00)
Java HotSpot(TM) Server VM (build 19.0-b06-201009161821.ss145989.tl-pit-2d-awt-swin, mixed mode)

ACTION: build -- Passed. Build successful
REASON: Named class compiled on demand
TIME:   1.348 seconds
messages:
command: build Test4994637
reason: Named class compiled on demand
elapsed time (seconds): 1.348

ACTION: compile -- Passed. Compilation successful
REASON: .class file out of date or does not exist
TIME:   1.347 seconds
messages:
command: compile /tmp/jprt/T2/T/182153.ss145989/source/jdk/test/java/beans/XMLEncoder/Test4994637.java
reason: .class file out of date or does not exist
elapsed time (seconds): 1.347
STDOUT:
STDERR:

ACTION: main -- Failed. Execution failed: `main' threw exception: java.lang.IllegalStateException: could not compare maps with different sizes
REASON: Assumed action based on file name: run main Test4994637 
TIME:   0.427 seconds
messages:
command: main Test4994637
reason: Assumed action based on file name: run main Test4994637 
elapsed time (seconds): 0.427
STDOUT:
Test object
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.7.0-internal" class="java.beans.XMLDecoder">
 <object class="Test4994637$CustomMap"/>
</java>
   - validate property: empty
   - validate map value for key: 3
   - validate map value for key: 2
   - validate map value for key: 1
Test object creating
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.7.0-internal" class="java.beans.XMLDecoder">
 <object class="Bean">
  <void property="value">
   <object class="Test4994637$CustomMap"/>
  </void>
 </object>
</java>
   - validate property: empty
   - validate map value for key: 3
   - validate map value for key: 2
   - validate map value for key: 1
Test another object
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.7.0-internal" class="java.beans.XMLDecoder">
 <object class="Test4994637$CustomMap">
  <void method="remove">
   <string>3</string>
  </void>
  <void method="remove">
   <string>2</string>
  </void>
  <void method="remove">
   <string>1</string>
  </void>
 </object>
</java>
   - validate property: empty
STDERR:
java.lang.NoSuchMethodException: <unbound>=Test4994637$CustomMap.get("3");
Continuing ...
java.lang.NoSuchMethodException: <unbound>=Test4994637$CustomMap.get("2");
Continuing ...
java.lang.NoSuchMethodException: <unbound>=Test4994637$CustomMap.get("1");
Continuing ...
java.lang.NoSuchMethodException: <unbound>=Test4994637$CustomMap.get("3");
Continuing ...
java.lang.NoSuchMethodException: <unbound>=Test4994637$CustomMap.get("2");
Continuing ...
java.lang.NoSuchMethodException: <unbound>=Test4994637$CustomMap.get("1");
Continuing ...
java.lang.Exception: Encoder: discarding statement Test4994637$CustomMap.remove("3");
Continuing ...
java.lang.Exception: Encoder: discarding statement Test4994637$CustomMap.remove("2");
Continuing ...
java.lang.Exception: Encoder: discarding statement Test4994637$CustomMap.remove("1");
Continuing ...
java.lang.NoSuchMethodException: <unbound>=Test4994637$CustomMap.get(null);
Continuing ...
java.lang.NoSuchMethodException: <unbound>=Test4994637$CustomMap.remove("3");
Continuing ...
java.lang.NoSuchMethodException: <unbound>=Test4994637$CustomMap.remove("2");
Continuing ...
java.lang.NoSuchMethodException: <unbound>=Test4994637$CustomMap.remove("1");
Continuing ...
java.lang.IllegalStateException: could not compare maps with different sizes
	at BeanValidator.validate(BeanValidator.java:209)
	at BeanValidator.validate(BeanValidator.java:126)
	at AbstractTest.validate(AbstractTest.java:87)
	at Test4994637.validate(Test4994637.java:33)
	at Test4994637.validate(Test4994637.java:33)
	at AbstractTest.test(AbstractTest.java:110)
	at Test4994637.main(Test4994637.java:35)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:613)
	at com.sun.javatest.regtest.MainWrapper$MainThread.run(MainWrapper.java:94)
	at java.lang.Thread.run(Thread.java:729)

JavaTest Message: Test threw exception: java.lang.IllegalStateException: could not compare maps with different sizes
JavaTest Message: shutting down test

STATUS:Failed.`main' threw exception: java.lang.IllegalStateException: could not compare maps with different sizes

TEST RESULT: Failed. Execution failed: `main' threw exception: java.lang.IllegalStateException: could not compare maps with different sizes
--------------------------------------------------

Comments
EVALUATION Seems that reflection returns more sugnatures as usual since b112. We should handle such case in com.sun.beans.finder.AbstractFinder, because it throws NoSuchMethodException("Ambiguous methods are found").
08-10-2010