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 >
--- CR4.hex.1473 2016-06-29 11:17:28.613357704 +0200 +++ CR4.hex.1475 2016-06-29 11:17:32.633377639 +0200 @@ -7,36 +7,36 @@ 00 (hex) 000 (dec) . 33 (hex) 051 (dec) 3 00 (hex) 000 (dec) . -2A (hex) 042 (dec) * +2C (hex) 044 (dec) , 0A (hex) 010 (dec) . 00 (hex) 000 (dec) . -15 (hex) 021 (dec) . +17 (hex) 023 (dec) . 00 (hex) 000 (dec) . -16 (hex) 022 (dec) . +18 (hex) 024 (dec) . 09 (hex) 009 (dec) . 00 (hex) 000 (dec) . 06 (hex) 006 (dec) . 00 (hex) 000 (dec) . -17 (hex) 023 (dec) . +19 (hex) 025 (dec) . 09 (hex) 009 (dec) . 00 (hex) 000 (dec) . -15 (hex) 021 (dec) . +17 (hex) 023 (dec) . 00 (hex) 000 (dec) . -18 (hex) 024 (dec) . +1A (hex) 026 (dec) . 0A (hex) 010 (dec) . 00 (hex) 000 (dec) . -15 (hex) 021 (dec) . +17 (hex) 023 (dec) . 00 (hex) 000 (dec) . -19 (hex) 025 (dec) . +1B (hex) 027 (dec) . 07 (hex) 007 (dec) . 00 (hex) 000 (dec) . -1A (hex) 026 (dec) . +1C (hex) 028 (dec) . 07 (hex) 007 (dec) . 00 (hex) 000 (dec) . -1B (hex) 027 (dec) . +1D (hex) 029 (dec) . 07 (hex) 007 (dec) . 00 (hex) 000 (dec) . -1E (hex) 030 (dec) . +20 (hex) 032 (dec) 01 (hex) 001 (dec) . 00 (hex) 000 (dec) . 3C (hex) 060 (dec) < @@ -170,6 +170,42 @@ 65 (hex) 101 (dec) e 01 (hex) 001 (dec) . 00 (hex) 000 (dec) . +02 (hex) 002 (dec) . +65 (hex) 101 (dec) e +78 (hex) 120 (dec) x +01 (hex) 001 (dec) . +00 (hex) 000 (dec) . +1C (hex) 028 (dec) . +4C (hex) 076 (dec) L +6A (hex) 106 (dec) j +61 (hex) 097 (dec) a +76 (hex) 118 (dec) v +61 (hex) 097 (dec) a +2F (hex) 047 (dec) / +6C (hex) 108 (dec) l +61 (hex) 097 (dec) a +6E (hex) 110 (dec) n +67 (hex) 103 (dec) g +2F (hex) 047 (dec) / +4E (hex) 078 (dec) N +6F (hex) 111 (dec) o +53 (hex) 083 (dec) S +75 (hex) 117 (dec) u +63 (hex) 099 (dec) c +68 (hex) 104 (dec) h +46 (hex) 070 (dec) F +69 (hex) 105 (dec) i +65 (hex) 101 (dec) e +6C (hex) 108 (dec) l +64 (hex) 100 (dec) d +45 (hex) 069 (dec) E +72 (hex) 114 (dec) r +72 (hex) 114 (dec) r +6F (hex) 111 (dec) o +72 (hex) 114 (dec) r +3B (hex) 059 (dec) ; +01 (hex) 001 (dec) . +00 (hex) 000 (dec) . 0D (hex) 013 (dec) . 53 (hex) 083 (dec) S 74 (hex) 116 (dec) t @@ -186,7 +222,7 @@ 65 (hex) 101 (dec) e 07 (hex) 007 (dec) . 00 (hex) 000 (dec) . -1A (hex) 026 (dec) . +1C (hex) 028 (dec) . 01 (hex) 001 (dec) . 00 (hex) 000 (dec) . 0A (hex) 010 (dec) . @@ -241,15 +277,15 @@ 64 (hex) 100 (dec) d 07 (hex) 007 (dec) . 00 (hex) 000 (dec) . -1F (hex) 031 (dec) . +21 (hex) 033 (dec) ! 07 (hex) 007 (dec) . 00 (hex) 000 (dec) . -21 (hex) 033 (dec) ! +23 (hex) 035 (dec) # 0C (hex) 012 (dec) . 00 (hex) 000 (dec) . -23 (hex) 035 (dec) # +25 (hex) 037 (dec) % 00 (hex) 000 (dec) . -24 (hex) 036 (dec) $ +26 (hex) 038 (dec) & 0C (hex) 012 (dec) . 00 (hex) 000 (dec) . 08 (hex) 008 (dec) . @@ -257,14 +293,14 @@ 09 (hex) 009 (dec) . 0C (hex) 012 (dec) . 00 (hex) 000 (dec) . -25 (hex) 037 (dec) % +27 (hex) 039 (dec) ' 00 (hex) 000 (dec) . -26 (hex) 038 (dec) & +28 (hex) 040 (dec) ( 0C (hex) 012 (dec) . 00 (hex) 000 (dec) . -27 (hex) 039 (dec) ' +29 (hex) 041 (dec) ) 00 (hex) 000 (dec) . -28 (hex) 040 (dec) ( +2A (hex) 042 (dec) * 01 (hex) 001 (dec) . 00 (hex) 000 (dec) . 1A (hex) 026 (dec) . @@ -407,7 +443,7 @@ 74 (hex) 116 (dec) t 07 (hex) 007 (dec) . 00 (hex) 000 (dec) . -29 (hex) 041 (dec) ) +2B (hex) 043 (dec) + 01 (hex) 001 (dec) . 00 (hex) 000 (dec) . 31 (hex) 049 (dec) 1 @@ -689,7 +725,7 @@ 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . -4E (hex) 078 (dec) N +58 (hex) 088 (dec) X 00 (hex) 000 (dec) . 03 (hex) 003 (dec) . 00 (hex) 000 (dec) . @@ -752,12 +788,22 @@ 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . -02 (hex) 002 (dec) . +0C (hex) 012 (dec) . +00 (hex) 000 (dec) . +01 (hex) 001 (dec) . +00 (hex) 000 (dec) . +18 (hex) 024 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . 0F (hex) 015 (dec) . 00 (hex) 000 (dec) . +10 (hex) 016 (dec) . +00 (hex) 000 (dec) . +00 (hex) 000 (dec) . +00 (hex) 000 (dec) . +11 (hex) 017 (dec) . +00 (hex) 000 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . 07 (hex) 007 (dec) . @@ -766,30 +812,30 @@ 57 (hex) 087 (dec) W 07 (hex) 007 (dec) . 00 (hex) 000 (dec) . -10 (hex) 016 (dec) . +12 (hex) 018 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . 03 (hex) 003 (dec) . 00 (hex) 000 (dec) . -11 (hex) 017 (dec) . +13 (hex) 019 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . 02 (hex) 002 (dec) . 00 (hex) 000 (dec) . -12 (hex) 018 (dec) . +14 (hex) 020 (dec) . 00 (hex) 000 (dec) . -13 (hex) 019 (dec) . +15 (hex) 021 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . 04 (hex) 004 (dec) . 00 (hex) 000 (dec) . -14 (hex) 020 (dec) . +16 (hex) 022 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . -1D (hex) 029 (dec) . +1F (hex) 031 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . @@ -799,16 +845,16 @@ 00 (hex) 000 (dec) . 06 (hex) 006 (dec) . 00 (hex) 000 (dec) . -14 (hex) 020 (dec) . +16 (hex) 022 (dec) . 00 (hex) 000 (dec) . 00 (hex) 000 (dec) . 10 (hex) 016 (dec) . 08 (hex) 008 (dec) . 00 (hex) 000 (dec) . -15 (hex) 021 (dec) . -00 (hex) 000 (dec) . -20 (hex) 032 (dec) +17 (hex) 023 (dec) . 00 (hex) 000 (dec) . 22 (hex) 034 (dec) " +00 (hex) 000 (dec) . +24 (hex) 036 (dec) $ 40 (hex) 064 (dec) @ 18 (hex) 024 (dec) .
_______________________________________________ Devl mailing list [email protected] https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
