[rfc][icedtea-web] Reproducer for PR920

Adam Domurad adomurad at redhat.com
Tue Aug 28 08:56:52 PDT 2012


On Tue, 2012-08-21 at 13:15 +0200, Jiri Vanek wrote:
> On 08/14/2012 05:30 PM, Adam Domurad wrote:
> > On Tue, 2012-08-14 at 15:16 +0200, Jiri Vanek wrote:
> >> On 07/06/2012 08:19 PM, Adam Domurad wrote:
> >>> This reproducer encapsulates the problem behind PR920.
> >>> A LinkageError occurs, complaining of duplicate class definition, when
> >>> an extended class outside of a jar references a common class with its
> >>> parent class. The common class attempts to load twice.
> >> Thank you for this test, two nitpicks  below.
> 
> Sorry for keeping blocking it.If you decide to ignore my below comment then feel free to push. But 
> as Custom reproducers are young and concept is not clear, I would recommend to think about it 
> earlier rather then later.
> .
> 
> diff --git a/tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/Makefile 
> b/tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/Makefile
> new file mode 100644
> --- /dev/null
> +++ b/tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/Makefile
> @@ -0,0 +1,27 @@
> +TESTNAME=AppletExtendsFromOutsideJar
> +
> +DEPLOY_DIR=$(JNLP_TESTS_SERVER_DEPLOYDIR)
> +
> +SRC_FILES=AppletReferenceInSameJar.java AppletReferenceOutOfJar.java Referenced.java
> +JAR_FILES=AppletReferenceInSameJar.class Referenced.class
> +OUTER_FILE=AppletReferenceOutOfJar.class
> +
> +JAVAC_CLASSPATH=$(JNLP_TESTS_ENGINE_DIR):$(NETX_DIR)/lib/classes.jar
> +JAVAC=$(BOOT_DIR)/bin/javac
> +JAR=$(BOOT_DIR)/bin/jar
> +
> +prepare-reproducer:
> +	echo PREPARING REPRODUCER $(TESTNAME)
> +	$(EXPORTED_JAVAC) -classpath $(JAVAC_CLASSPATH) $(SRC_FILES)
> +	$(JAR) cvf $(TESTNAME).jar $(JAR_FILES)
> +	cp $(OUTER_FILE) $(DEPLOY_DIR)/$(OUTER_FILE)
> +	cp $(TESTNAME).jar $(DEPLOY_DIR)/$(TESTNAME).jar
> +	echo PREPARED REPRODUCER $(TESTNAME)
> +
> +clean-reproducer:
> +	echo CLEANING REPRODUCER $(TESTNAME)
> +	rm -f $(OUTER_FILE)
> +	rm -f $(JAR_FILES)
> +	rm -f $(TESTNAME).jar
> +	echo CLEANED REPRODUCER $(TESTNAME)
> +
> 
> I must say I do not like this concept. Unless I'm wrong it is creating jars and classes in sources 
> dirs. Then during clean it can cause accidentally loses of sources :(. My advice here will be to do 
> the build in temp, then mv to deployditr or werever and then just delete in deploy dir.  And then in 
> clean .. with some luck probably nothing?
> 
> Or at least to work wiht absolute paths so it will be clear where the work is happening.
> 
> What do you think?
> 
> If you want, push it as it is, but if you agree with me at least a bit, by push later you can fix 
> this one and your last one perhaps??
> 
> J.


I have updated the reproducer accordingly.

Thanks!
- Adam
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reproducer-extendsoutside3.patch
Type: text/x-patch
Size: 13545 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20120828/e36c72f3/reproducer-extendsoutside3.patch 


More information about the distro-pkg-dev mailing list