Re: Freenet 0.7.5 build 1475 released - verify build failed

Florent Daigniere <[email protected]>
Newsgroups gmane.network.freenet.devel
Message-ID <[email protected]>
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

_______________________________________________
Devl mailing list
[email protected]
https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
signature.asc (application/pgp-signature, 473 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAABCAAGBQJXc8hyAAoJEOrF6/B6qcKj4WgH/1l/aez9Au1UcFoewMgCpub7
mTwaQKXREsicxzpmvCTfbiqfxzft6FcActX52LX/6phbH0nILFrcbbx7Ei2nVboP
bKJxq77WWApMq1bpWdF0HRfuV//+1WA6LuwRa41X+nmZaFYv61aIHYKFSqkD3TpN
cFRd0DdZF2YmbudzRRTPY+KiCGhqDsQgsmxID3c2YZkSyYkFvW3q3InjwbdlpJ6/
vVZqu6Zcgv3kcrGse4/UKhe5oe9WKgj+8+hySs3pl/hjTDdRBJABRaf9XFssP8SM
vK3udvqECqLJ6ZTVVfY/+NkJUowOCfInKVXzrFuzvmsOOR22VKDyOeJdvghNzlI=
=cTRM
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.