fails to build on armel in maverick

Bug #600278 reported by Oliver Grawert
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenJDK
In Progress
Medium
openjdk-6 (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

the build of openjdk-6 6b20~pre1-0ubuntu2 fails to build from source in maverick.
below is a snippet from the build log which can be found at:

http://launchpadlibrarian.net/50884418/buildlog_ubuntu-maverick-armel.openjdk-6_6b20~pre1-0ubuntu2_FAILEDTOBUILD.txt.gz

Linking launcher...
make[9]: Leaving directory `/build/buildd/openjdk-6-6b20~pre1/build/zerovm/openjdk.build/hotspot/outputdir/linux_arm_shark/product'
All done.
make[8]: Leaving directory `/build/buildd/openjdk-6-6b20~pre1/build/zerovm/openjdk.build/hotspot/outputdir/linux_arm_shark/product'
cd linux_arm_shark/product && ./test_gamma
java full version "1.6.0_20-b20"
UNREACHABLE executed!
Stack dump:
0. Running pass 'ARM Machine Code Emitter' on function '@"sun.nio.cs.US_ASCII$Encoder::encodeArrayLoop"'
Aborted
make[7]: *** [productshark] Error 134
make[7]: Leaving directory `/build/buildd/openjdk-6-6b20~pre1/build/zerovm/openjdk.build/hotspot/outputdir'
make[6]: *** [generic_buildshark] Error 2
make[6]: Leaving directory `/build/buildd/openjdk-6-6b20~pre1/build/zerovm/openjdk/hotspot/make'
make[5]: *** [productshark] Error 2
make[5]: Leaving directory `/build/buildd/openjdk-6-6b20~pre1/build/zerovm/openjdk/hotspot/make'
make[4]: *** [hotspot-build] Error 2
make[4]: Leaving directory `/build/buildd/openjdk-6-6b20~pre1/build/zerovm/openjdk'
make[3]: *** [build_product_image] Error 2
make[3]: Leaving directory `/build/buildd/openjdk-6-6b20~pre1/build/zerovm/openjdk'
make[2]: *** [stamps/icedtea.stamp] Error 2
make[2]: Leaving directory `/build/buildd/openjdk-6-6b20~pre1/build/zerovm'
make[1]: *** [stamps/add-zero.stamp] Error 2
make[1]: Leaving directory `/build/buildd/openjdk-6-6b20~pre1/build'
/bin/bash: line 5: kill: (4035) - No such process
make: *** [stamps/build] Error 1
dpkg-buildpackage: error: debian/rules build gave error exit status 2
******************************************************************************
Build finished at 20100625-0649
FAILED [dpkg-buildpackage died]
Purging chroot-autobuild/build/buildd/openjdk-6-6b20~pre1

Tags: patch
Revision history for this message
In , Matthias Klose (doko) wrote :

icedtea6 20100624:

Linking launcher...
make[9]: Leaving directory `/build/buildd/openjdk-6-6b20~pre1/build/zerovm/openjdk.build/hotspot/outputdir/linux_arm_shark/product'
All done.
make[8]: Leaving directory `/build/buildd/openjdk-6-6b20~pre1/build/zerovm/openjdk.build/hotspot/outputdir/linux_arm_shark/product'
cd linux_arm_shark/product && ./test_gamma
java full version "1.6.0_20-b20"
UNREACHABLE executed!
Stack dump:
0. Running pass 'ARM Machine Code Emitter' on function '@"sun.nio.cs.US_ASCII$Encoder::encodeArrayLoop"'
Aborted
make[7]: *** [productshark] Error 134

Revision history for this message
In , Gbenson (gbenson) wrote :

What LLVM is this?

Revision history for this message
In , Matthias Klose (doko) wrote :

2.7 release

Revision history for this message
In , Xerxes Rånby (xranby) wrote :

are you using the ARM or THUMB llvm backend?

If you are using the THUMB backend then you are probably hitting LLVM PR 6223
http://llvm.org/bugs/show_bug.cgi?id=6223

If you are using the ARM backend and have enabled -mattr=+neon then you are probably hitting LLVM PR 6561
http://llvm.org/bugs/show_bug.cgi?id=6561

in both cases you hit the unreachanble because the llvm jit cant jit thumb/neon instructions.

Oliver Grawert (ogra)
Changed in openjdk-6 (Ubuntu):
assignee: nobody → Marcin Juszkiewicz (hrw)
importance: Undecided → Medium
Revision history for this message
Marcin Juszkiewicz (hrw) wrote :
Revision history for this message
Matthias Klose (doko) wrote :

shark build failure, not a priority. we could just disable shark on armel for now

Changed in openjdk-6 (Ubuntu):
status: New → Confirmed
Revision history for this message
Loïc Minier (lool) wrote :

Marcin confirmed that disabling shark works around the FTBFS, he completed a build.

Revision history for this message
Marcin Juszkiewicz (hrw) wrote :

Attached patch disables shark for armel in maverick.

When LLVM will get Thumb JIT working we can revert that change.

tags: added: patch
Changed in openjdk:
status: Unknown → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package openjdk-6 - 6b20~pre1-0ubuntu3

---------------
openjdk-6 (6b20~pre1-0ubuntu3) maverick; urgency=low

  * debian/rules: disable shark on armel in maverick to fix FTBFS,
    thanks to Marcin Juszkiewicz for working out the fix (LP: #600278)
 -- Oliver Grawert <email address hidden> Mon, 05 Jul 2010 10:32:40 +0200

Changed in openjdk-6 (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
In , Xerxes Rånby (xranby) wrote :

llvm/lib/System/Unix/Host.inc contain this switch at LLVM compiletime:

  // FIXME: We need to pick the right ARM triple (which involves querying the
  // chip). However, for now this is most important for LLVM arch selection, so
  // we only need to make sure to distinguish ARM and Thumb.
# if defined(__thumb__)
  Arch = "thumb";
# else
  Arch = "arm";
# endif

This makes llvm use the thumb JIT backend by default when compiling with a thumb toolchain, unfortunally the thumb jit backend are not implemented, see http://llvm.org/bugs/show_bug.cgi?id=6223 and thats why you are hitting this bug.

you can pass -march=arm or -mtriple=arm to the JIT at runtime to force llvm to use the implemented ARM JIT

Changed in openjdk:
importance: Unknown → Medium
Changed in openjdk:
status: Confirmed → In Progress
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.