Hmm, yeah it's my fault... 1475 was compiled with Oracle's jdk1.7.0_79 I'll ensure that I use the debian/openjdk version the script expects in the future...
Florent On Wed, 2016-06-29 at 11:55 +0200, Bert Massop wrote: > Let's analyze the smallest class file for which you observe a > difference. > That happens to be freenet/clients/fcp/ClientRequest$4.class. > Fortunately, > the code for ClientRequest has not changed between 1473 and 1475, so > the > resulting file for both versions should be the same. Turns out they > are not: > > $ sha1sum ClientRequest\$4.class.1473 ClientRequest\$4.class.1475 > f535c7e5ff73ca200007f756076eabd0bfe08217 ClientRequest$4.class.1473 > fc4680b0be297136fe939617635aa2c5389e5525 ClientRequest$4.class.1475 > > So where are they different? Let's first convert them to one-byte- > per-line > hex (plus decimal, character) dumps and create a diff (result > attached): > $ hexdump -v -e '/1 "%02X (hex)"' -e '/1 " %03u (dec)"' -e '/1 " > %_p\n"' > ClientRequest\$4.class.1473 > CR4.hex.1473 > $ hexdump -v -e '/1 "%02X (hex)"' -e '/1 " %03u (dec)"' -e '/1 " > %_p\n"' > ClientRequest\$4.class.1475 > CR4.hex.1475 > $ diff -u CR4.hex.1473 CR4.hex.1475 > CR4.diff > > The first difference is at byte 10, as indicated by your analysis. > According to the class file format specification [0], this is the > element > count of the constant pool (the collection of constant strings, > classes, > interface names referenced in the class file). The count went up from > 42 to > 44 constants. Further analysis reveals that the Utf8 constants "ex" > and > "Ljava.lang.NoSuchFieldError" where added; and as such, the constant > table > has different indexes, leading to slightly different bytecode. Most > other > differences can be seen to be off-by-two errors indeed. > > Where do these differences originate from? Further analysis of the > differences between the byte code in these files reveals that this > class is > a SwitchMap (a jump table for the switch() statement), and that the > sole > difference is that the Java compiler has added additional runtime > exception > handling. This being an automatically generated class by the Java > compiler, > it gives clear evidence that differences in the build environment > cause the > validation error for this particular file. > > I did not analyze the differences for all files, but it is quite > likely > that they are all related to differences in the build environment. > From the > META-INF difference, it is already clear that the two compiler > versions > used were not exactly equal. > > Kind regards, > Bert > > [0] https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html > > On Wed, Jun 29, 2016 at 7:58 AM, CryptNode <[email protected]> > wrote: > > > Temporary file link - https://cryptnode.org/temp/verify-1475-failed > > .log > > > > > > On 06/27/2016 05:28 AM, Bert Massop wrote: > > > On Mon, Jun 27, 2016 at 5:27 AM, CryptNode <[email protected] > > > > > > wrote: > > > > > > > This build is failing for me. Log file attached. > > > > > > > You log file unfortunately did not arrive here. Can try to send > > > it again, > > > or upload it somewhere? (e.g. pastebin) > > > > > > Thank you for validating the builds! > > > > > > Imported Florent's key. > > > > gpg --keyserver keys.gnupg.net --recv-key 0x7AA9C2A3 > > > > > > > > Using Debian 8.5 x64, ant 1.9.4-3, openjdk-7-jdk 7u101-2.6.6- > > > > 1~deb8u1, > > > > unzip 6.0-16+deb8u2 > > > > I was able to verify build 1474 using this VM. > > > > > > > > --Byron > > > > > > > > On 06/25/2016 04:32 AM, Florent Daigniere wrote: > > > > > 2016-06-25 > > > > > > > > > > Freenet 0.7.5 build 1475 is now available. It materializes > > > > > several > > > > > months of work (the previous release was rushed to fix > > > > > frostbite) and > > > > > features some major changes. Your nodes should start auto- > > > > > updating > > > > > soon. This build will become mandatory on July 15th. > > > _______________________________________________ > > > Devl mailing list > > > [email protected] > > > https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl > > _______________________________________________ > > Devl mailing list > > [email protected] > > https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl > > > _______________________________________________ > Devl mailing list > [email protected] > https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Devl mailing list [email protected] https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
