Hi Fabian,
I fail to build java-1.8.0-openjdk on armv5.
I get errors regarding gdb:
+ gdb -q /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java + tee gdb.out Reading symbols from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java...done. (gdb) Signal Stop Print Pass to program Description SIGSEGV No No Yes Segmentation fault (gdb) Signal Stop Print Pass to program Description SIGILL No No Yes Illegal instruction (gdb) (gdb) Breakpoint 1 (javaCalls.cpp:1) pending. (gdb) >>>(gdb) Starting program: /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java -version No source file named javaCalls.cpp. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". warning: Probes-based dynamic linker interface failed. Reverting to original interface. Cannot access memory at address 0xc2400000 Missing separate debuginfos, use: debuginfo-install glibc-2.17-157.el7.4.redsleeve.armv5tel libgcc-4.8.5-11.el7.armv5tel zlib-1.2.7-17.el7.armv5tel (gdb) quit A debugging session is active.
This is all related to a new section about gdb in the SPEC-file:
# Make sure gdb can do a backtrace based on line numbers on libjvm.so gdb -q "$JAVA_HOME/bin/java" <<EOF | tee gdb.out handle SIGSEGV pass nostop noprint handle SIGILL pass nostop noprint set breakpoint pending on break javaCalls.cpp:1 commands 1 backtrace quit end run -version EOF grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
Now my question, does this build on armv7 ?
Jacco
On 27/08/17 20:13, Jacco Ligthart wrote:
Hi Fabian,
I fail to build java-1.8.0-openjdk on armv5.
I get errors regarding gdb:
- gdb -q
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java
- tee gdb.out
Reading symbols from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java...done. (gdb) Signal Stop Print Pass to program Description SIGSEGV No No Yes Segmentation fault (gdb) Signal Stop Print Pass to program Description SIGILL No No Yes Illegal instruction (gdb) (gdb) Breakpoint 1 (javaCalls.cpp:1) pending. (gdb) >>>(gdb) Starting program: /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java -version No source file named javaCalls.cpp. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". warning: Probes-based dynamic linker interface failed. Reverting to original interface. Cannot access memory at address 0xc2400000 Missing separate debuginfos, use: debuginfo-install glibc-2.17-157.el7.4.redsleeve.armv5tel libgcc-4.8.5-11.el7.armv5tel zlib-1.2.7-17.el7.armv5tel (gdb) quit A debugging session is active.
This is all related to a new section about gdb in the SPEC-file:
# Make sure gdb can do a backtrace based on line numbers on libjvm.so gdb -q "$JAVA_HOME/bin/java" <<EOF | tee gdb.out handle SIGSEGV pass nostop noprint handle SIGILL pass nostop noprint set breakpoint pending on break javaCalls.cpp:1 commands 1 backtrace quit end run -version EOF grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
Now my question, does this build on armv7 ?
Jacco
Hi Jacco,
I'm just back from "offline/holidays" mode but I saw the issue before leaving, and have still to find the fix.
What is interesting is that it seems a different error message on armv7 (from https://armv7.dev.centos.org/rpmbuild/c71708-pass-1/19329-java-1.8.0-openjdk...) :
Caused by: java.io.FileNotFoundException: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.arm/jre/lib/resources.jar (Permission denied)
Don't know why it grabbed 1.7 in the first place in the mock chroot (DEBUG util.py:417: --> 1:java-1.7.0-openjdk-devel-1.7.0.141-2.6.10.5.el7.armv7hl) , so maybe some different mock config file is needed to enforce only fetching 1.8 ? I'll give it a try later
On 08/29/17 10:19, Fabian Arrotin wrote:
On 27/08/17 20:13, Jacco Ligthart wrote:
Hi Fabian,
I fail to build java-1.8.0-openjdk on armv5.
I get errors regarding gdb:
- gdb -q
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java
- tee gdb.out
Reading symbols from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java...done. (gdb) Signal Stop Print Pass to program Description SIGSEGV No No Yes Segmentation fault (gdb) Signal Stop Print Pass to program Description SIGILL No No Yes Illegal instruction (gdb) (gdb) Breakpoint 1 (javaCalls.cpp:1) pending. (gdb) >>>(gdb) Starting program: /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java -version No source file named javaCalls.cpp. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". warning: Probes-based dynamic linker interface failed. Reverting to original interface. Cannot access memory at address 0xc2400000 Missing separate debuginfos, use: debuginfo-install glibc-2.17-157.el7.4.redsleeve.armv5tel libgcc-4.8.5-11.el7.armv5tel zlib-1.2.7-17.el7.armv5tel (gdb) quit A debugging session is active.
This is all related to a new section about gdb in the SPEC-file:
# Make sure gdb can do a backtrace based on line numbers on libjvm.so gdb -q "$JAVA_HOME/bin/java" <<EOF | tee gdb.out handle SIGSEGV pass nostop noprint handle SIGILL pass nostop noprint set breakpoint pending on break javaCalls.cpp:1 commands 1 backtrace quit end run -version EOF grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
Now my question, does this build on armv7 ?
Jacco
Hi Jacco,
I'm just back from "offline/holidays" mode but I saw the issue before leaving, and have still to find the fix.
What is interesting is that it seems a different error message on armv7 (from https://armv7.dev.centos.org/rpmbuild/c71708-pass-1/19329-java-1.8.0-openjdk...) :
Caused by: java.io.FileNotFoundException: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.arm/jre/lib/resources.jar (Permission denied)
Don't know why it grabbed 1.7 in the first place in the mock chroot (DEBUG util.py:417: --> 1:java-1.7.0-openjdk-devel-1.7.0.141-2.6.10.5.el7.armv7hl) , so maybe some different mock config file is needed to enforce only fetching 1.8 ? I'll give it a try later
Strange that you have a different error.
I do know why it grabs 1.7. The Spec file states: # Use OpenJDK 7 where available (on RHEL) to avoid # having to use the rhel-7.x-java-unsafe-candidate hack %if 0%{?rhel} BuildRequires: java-1.7.0-openjdk-devel %else BuildRequires: java-1.8.0-openjdk-devel %endif
Apparently we qualify as "rhel" here.
Jacco
On 29/08/17 19:50, Jacco Ligthart wrote:
On 08/29/17 10:19, Fabian Arrotin wrote:
On 27/08/17 20:13, Jacco Ligthart wrote:
Hi Fabian,
I fail to build java-1.8.0-openjdk on armv5.
I get errors regarding gdb:
- gdb -q
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java
- tee gdb.out
Reading symbols from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java...done. (gdb) Signal Stop Print Pass to program Description SIGSEGV No No Yes Segmentation fault (gdb) Signal Stop Print Pass to program Description SIGILL No No Yes Illegal instruction (gdb) (gdb) Breakpoint 1 (javaCalls.cpp:1) pending. (gdb) >>>(gdb) Starting program: /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java -version No source file named javaCalls.cpp. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". warning: Probes-based dynamic linker interface failed. Reverting to original interface. Cannot access memory at address 0xc2400000 Missing separate debuginfos, use: debuginfo-install glibc-2.17-157.el7.4.redsleeve.armv5tel libgcc-4.8.5-11.el7.armv5tel zlib-1.2.7-17.el7.armv5tel (gdb) quit A debugging session is active.
This is all related to a new section about gdb in the SPEC-file:
# Make sure gdb can do a backtrace based on line numbers on libjvm.so gdb -q "$JAVA_HOME/bin/java" <<EOF | tee gdb.out handle SIGSEGV pass nostop noprint handle SIGILL pass nostop noprint set breakpoint pending on break javaCalls.cpp:1 commands 1 backtrace quit end run -version EOF grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
Now my question, does this build on armv7 ?
Jacco
Hi Jacco,
I'm just back from "offline/holidays" mode but I saw the issue before leaving, and have still to find the fix.
What is interesting is that it seems a different error message on armv7 (from https://armv7.dev.centos.org/rpmbuild/c71708-pass-1/19329-java-1.8.0-openjdk...) :
Caused by: java.io.FileNotFoundException: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.arm/jre/lib/resources.jar (Permission denied)
Don't know why it grabbed 1.7 in the first place in the mock chroot (DEBUG util.py:417: --> 1:java-1.7.0-openjdk-devel-1.7.0.141-2.6.10.5.el7.armv7hl) , so maybe some different mock config file is needed to enforce only fetching 1.8 ? I'll give it a try later
Strange that you have a different error.
I do know why it grabs 1.7. The Spec file states: # Use OpenJDK 7 where available (on RHEL) to avoid # having to use the rhel-7.x-java-unsafe-candidate hack %if 0%{?rhel} BuildRequires: java-1.7.0-openjdk-devel %else BuildRequires: java-1.8.0-openjdk-devel %endif
Apparently we qualify as "rhel" here.
Jacco
Hi Jacco,
So two things :
I tried to build it against 7.3.1611+updates and then I confirm what you're seeing with gdb (https://armv7.dev.centos.org/rpmbuild/c71611-updates-1/19786-java-1.8.0-open...) :
+ gdb -q /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.arm/openjdk/build/jdk8.build/imag es/j2sdk-image/bin/java Reading symbols from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.arm/openjdk/build/jdk 8.build/images/j2sdk-image/bin/java...done. (gdb) Signal Stop Print Pass to program Description SIGSEGV No No Yes Segmentation fault (gdb) Signal Stop Print Pass to program Description SIGILL No No Yes Illegal instruction (gdb) (gdb) Breakpoint 1 (javaCalls.cpp:1) pending. (gdb) >>>(gdb) Starting program: /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java -version No source file named javaCalls.cpp. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". Missing separate debuginfos, use: debuginfo-install glibc-2.17-157.el7.5.armv7hl libgcc-4.8.5-11.el7.armv7hl zlib-1.2.7-17.el7.armv7hl (gdb) warning: Probes-based dynamic linker interface failed. Reverting to original interface. Cannot access memory at address 0xc2400000 quit A debugging session is active. Inferior 1 [process 4802] will be killed. Quit anyway? (y or n) [answered Y; input not from terminal] + grep JavaCallWrapper::JavaCallWrapper gdb.out RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.LcfCwP (%check) Bad exit status from /var/tmp/rpm-tmp.LcfCwP (%check) Child return code was: 1 EXCEPTION: [Error()]
I also checked the other log (https://armv7.dev.centos.org/rpmbuild/c71708-pass-1/19329-java-1.8.0-openjdk...) about resources.jar file missing, when it finds 1.7 and I exploded the rpm through rpm2cpio to verify the content and yes, there is a permission issue in the -headless package : /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.arm/jre/lib/resources.jar is 600 so probably not readable by mock itself (argh)
Have now to investigate if the perm issue is due to that package build, or if the .spec needs some changes to force better permissions.
On 30/08/17 10:14, Fabian Arrotin wrote:
On 29/08/17 19:50, Jacco Ligthart wrote:
On 08/29/17 10:19, Fabian Arrotin wrote:
On 27/08/17 20:13, Jacco Ligthart wrote:
Hi Fabian,
I fail to build java-1.8.0-openjdk on armv5.
I get errors regarding gdb:
- gdb -q
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java
- tee gdb.out
Reading symbols from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java...done. (gdb) Signal Stop Print Pass to program Description SIGSEGV No No Yes Segmentation fault (gdb) Signal Stop Print Pass to program Description SIGILL No No Yes Illegal instruction (gdb) (gdb) Breakpoint 1 (javaCalls.cpp:1) pending. (gdb) >>>(gdb) Starting program: /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.141-2.b16.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java -version No source file named javaCalls.cpp. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". warning: Probes-based dynamic linker interface failed. Reverting to original interface. Cannot access memory at address 0xc2400000 Missing separate debuginfos, use: debuginfo-install glibc-2.17-157.el7.4.redsleeve.armv5tel libgcc-4.8.5-11.el7.armv5tel zlib-1.2.7-17.el7.armv5tel (gdb) quit A debugging session is active.
This is all related to a new section about gdb in the SPEC-file:
# Make sure gdb can do a backtrace based on line numbers on libjvm.so gdb -q "$JAVA_HOME/bin/java" <<EOF | tee gdb.out handle SIGSEGV pass nostop noprint handle SIGILL pass nostop noprint set breakpoint pending on break javaCalls.cpp:1 commands 1 backtrace quit end run -version EOF grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
Now my question, does this build on armv7 ?
Jacco
Hi Jacco,
I'm just back from "offline/holidays" mode but I saw the issue before leaving, and have still to find the fix.
What is interesting is that it seems a different error message on armv7 (from https://armv7.dev.centos.org/rpmbuild/c71708-pass-1/19329-java-1.8.0-openjdk...) :
Caused by: java.io.FileNotFoundException: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.arm/jre/lib/resources.jar (Permission denied)
Don't know why it grabbed 1.7 in the first place in the mock chroot (DEBUG util.py:417: --> 1:java-1.7.0-openjdk-devel-1.7.0.141-2.6.10.5.el7.armv7hl) , so maybe some different mock config file is needed to enforce only fetching 1.8 ? I'll give it a try later
Strange that you have a different error.
I do know why it grabs 1.7. The Spec file states: # Use OpenJDK 7 where available (on RHEL) to avoid # having to use the rhel-7.x-java-unsafe-candidate hack %if 0%{?rhel} BuildRequires: java-1.7.0-openjdk-devel %else BuildRequires: java-1.8.0-openjdk-devel %endif
Apparently we qualify as "rhel" here.
Jacco
Hi Jacco,
So two things :
I tried to build it against 7.3.1611+updates and then I confirm what you're seeing with gdb (https://armv7.dev.centos.org/rpmbuild/c71611-updates-1/19786-java-1.8.0-open...) :
- gdb -q
/builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.arm/openjdk/build/jdk8.build/imag es/j2sdk-image/bin/java Reading symbols from /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.arm/openjdk/build/jdk 8.build/images/j2sdk-image/bin/java...done. (gdb) Signal Stop Print Pass to program Description SIGSEGV No No Yes Segmentation fault (gdb) Signal Stop Print Pass to program Description SIGILL No No Yes Illegal instruction (gdb) (gdb) Breakpoint 1 (javaCalls.cpp:1) pending. (gdb) >>>(gdb) Starting program: /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java -version No source file named javaCalls.cpp. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". Missing separate debuginfos, use: debuginfo-install glibc-2.17-157.el7.5.armv7hl libgcc-4.8.5-11.el7.armv7hl zlib-1.2.7-17.el7.armv7hl (gdb) warning: Probes-based dynamic linker interface failed. Reverting to original interface. Cannot access memory at address 0xc2400000 quit A debugging session is active. Inferior 1 [process 4802] will be killed. Quit anyway? (y or n) [answered Y; input not from terminal]
- grep JavaCallWrapper::JavaCallWrapper gdb.out
RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.LcfCwP (%check) Bad exit status from /var/tmp/rpm-tmp.LcfCwP (%check) Child return code was: 1 EXCEPTION: [Error()]
I also checked the other log (https://armv7.dev.centos.org/rpmbuild/c71708-pass-1/19329-java-1.8.0-openjdk...) about resources.jar file missing, when it finds 1.7 and I exploded the rpm through rpm2cpio to verify the content and yes, there is a permission issue in the -headless package : /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.arm/jre/lib/resources.jar is 600 so probably not readable by mock itself (argh)
Have now to investigate if the perm issue is due to that package build, or if the .spec needs some changes to force better permissions.
So the issue with resources.jar is coming from an interim build that I'm missing, so have to rebuild it first (from the .spec) - Reset permissions of resources.jar to avoid it only being readable by root (PR1437). - Resolves: rhbz#1350042 (but that one is private so can't see what was changed)
Seem linked to https://bugzilla.redhat.com/show_bug.cgi?id=1207129 though
So I tried to rebuild older 1.7 pkg but it fails with "duplicate case value" . I then found this bug report, and Jacco is included in that bug report, the IT world is small after all :-) : http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2942
I tried fixing 1.7 openjdk with the + ARM32JIT="false" \ patch for the make to ensure that it doesn't build arm32 JIT, but for strange reason it still tries to build it and fails again ... some other investigations required to rebuild older 1.7 from pre-7.4, then the one from 7.4 (with the resources.jar permission issue gone) and then 1.8 (hopefully) .. of course it happens on java, and on armhp, where each build needs *several* hours ....
I also checked the other log (https://armv7.dev.centos.org/rpmbuild/c71708-pass-1/19329-java-1.8.0-openjdk...) about resources.jar file missing, when it finds 1.7 and I exploded the rpm through rpm2cpio to verify the content and yes, there is a permission issue in the -headless package : /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.arm/jre/lib/resources.jar is 600 so probably not readable by mock itself (argh)
Have now to investigate if the perm issue is due to that package build, or if the .spec needs some changes to force better permissions.
So the issue with resources.jar is coming from an interim build that I'm missing, so have to rebuild it first (from the .spec)
- Reset permissions of resources.jar to avoid it only being readable by
root (PR1437).
- Resolves: rhbz#1350042 (but that one is private so can't see what was
changed)
Seem linked to https://bugzilla.redhat.com/show_bug.cgi?id=1207129 though
So I tried to rebuild older 1.7 pkg but it fails with "duplicate case value" . I then found this bug report, and Jacco is included in that bug report, the IT world is small after all :-) : http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2942
I tried fixing 1.7 openjdk with the
- ARM32JIT="false" \
patch for the make to ensure that it doesn't build arm32 JIT, but for strange reason it still tries to build it and fails again ... some other investigations required to rebuild older 1.7 from pre-7.4, then the one from 7.4 (with the resources.jar permission issue gone) and then 1.8 (hopefully) .. of course it happens on java, and on armhp, where each build needs *several* hours ....
I think the issue around ARM32JIT never got fixed, but by now ARM32JIT is disabled by default. There should be no need to disable by hand.
Jacco
On 31/08/17 00:11, Jacco Ligthart wrote:
I also checked the other log (https://armv7.dev.centos.org/rpmbuild/c71708-pass-1/19329-java-1.8.0-openjdk...) about resources.jar file missing, when it finds 1.7 and I exploded the rpm through rpm2cpio to verify the content and yes, there is a permission issue in the -headless package : /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.arm/jre/lib/resources.jar is 600 so probably not readable by mock itself (argh)
Have now to investigate if the perm issue is due to that package build, or if the .spec needs some changes to force better permissions.
So the issue with resources.jar is coming from an interim build that I'm missing, so have to rebuild it first (from the .spec)
- Reset permissions of resources.jar to avoid it only being readable by
root (PR1437).
- Resolves: rhbz#1350042 (but that one is private so can't see what was
changed)
Seem linked to https://bugzilla.redhat.com/show_bug.cgi?id=1207129 though
So I tried to rebuild older 1.7 pkg but it fails with "duplicate case value" . I then found this bug report, and Jacco is included in that bug report, the IT world is small after all :-) : http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2942
I tried fixing 1.7 openjdk with the
- ARM32JIT="false" \
patch for the make to ensure that it doesn't build arm32 JIT, but for strange reason it still tries to build it and fails again ... some other investigations required to rebuild older 1.7 from pre-7.4, then the one from 7.4 (with the resources.jar permission issue gone) and then 1.8 (hopefully) .. of course it happens on java, and on armhp, where each build needs *several* hours ....
I think the issue around ARM32JIT never got fixed, but by now ARM32JIT is disabled by default. There should be no need to disable by hand.
Jacco
Hi Jacco,
Now that I my java-1.7 issues are solved, I confirm that for 7.4.1708 I have exactly the same issue as you wrt GDB ( full log at http://armv7.dev.centos.org/rpmbuild/c71708-pass-1/19329-java-1.8.0-openjdk-...)
(gdb) (gdb) Breakpoint 1 (javaCalls.cpp:1) pending. (gdb) >>>(gdb) Starting program: /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java -version No source file named javaCalls.cpp. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". Missing separate debuginfos, use: debuginfo-install glibc-2.17-196.el7.armv7hl libgcc-4.8.5-16.el7.armv7hl zlib-1.2.7-17.el7.armv7hl (gdb) quit A debugging session is active. Inferior 1 [process 19549] will be killed. Quit anyway? (y or n) [answered Y; input not from terminal] warning: Probes-based dynamic linker interface failed. Reverting to original interface. Cannot access memory at address 0xc2400000 + grep JavaCallWrapper::JavaCallWrapper gdb.out RPM build errors:
Wondering what can be done to fix this
On 09/02/2017 09:14 AM, Fabian Arrotin wrote:
On 31/08/17 00:11, Jacco Ligthart wrote:
I also checked the other log (https://armv7.dev.centos.org/rpmbuild/c71708-pass-1/19329-java-1.8.0-openjdk...) about resources.jar file missing, when it finds 1.7 and I exploded the rpm through rpm2cpio to verify the content and yes, there is a permission issue in the -headless package : /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.arm/jre/lib/resources.jar is 600 so probably not readable by mock itself (argh)
Have now to investigate if the perm issue is due to that package build, or if the .spec needs some changes to force better permissions.
So the issue with resources.jar is coming from an interim build that I'm missing, so have to rebuild it first (from the .spec)
- Reset permissions of resources.jar to avoid it only being readable by
root (PR1437).
- Resolves: rhbz#1350042 (but that one is private so can't see what was
changed)
Seem linked to https://bugzilla.redhat.com/show_bug.cgi?id=1207129 though
So I tried to rebuild older 1.7 pkg but it fails with "duplicate case value" . I then found this bug report, and Jacco is included in that bug report, the IT world is small after all :-) : http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2942
I tried fixing 1.7 openjdk with the
- ARM32JIT="false" \
patch for the make to ensure that it doesn't build arm32 JIT, but for strange reason it still tries to build it and fails again ... some other investigations required to rebuild older 1.7 from pre-7.4, then the one from 7.4 (with the resources.jar permission issue gone) and then 1.8 (hopefully) .. of course it happens on java, and on armhp, where each build needs *several* hours ....
I think the issue around ARM32JIT never got fixed, but by now ARM32JIT is disabled by default. There should be no need to disable by hand.
Jacco
Hi Jacco,
Now that I my java-1.7 issues are solved, I confirm that for 7.4.1708 I have exactly the same issue as you wrt GDB ( full log at http://armv7.dev.centos.org/rpmbuild/c71708-pass-1/19329-java-1.8.0-openjdk-...)
(gdb) (gdb) Breakpoint 1 (javaCalls.cpp:1) pending. (gdb) >>>(gdb) Starting program: /builddir/build/BUILD/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.arm/openjdk/build/jdk8.build/images/j2sdk-image/bin/java -version No source file named javaCalls.cpp. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". Missing separate debuginfos, use: debuginfo-install glibc-2.17-196.el7.armv7hl libgcc-4.8.5-16.el7.armv7hl zlib-1.2.7-17.el7.armv7hl (gdb) quit A debugging session is active. Inferior 1 [process 19549] will be killed. Quit anyway? (y or n) [answered Y; input not from terminal] warning: Probes-based dynamic linker interface failed. Reverting to original interface. Cannot access memory at address 0xc2400000
- grep JavaCallWrapper::JavaCallWrapper gdb.out
RPM build errors:
Wondering what can be done to fix this
I don't know gdb enough to understand what it is they are doing here. Is this a test? (we could just try and skip this) or does this change the binaries in a meaningful way?
Jacco