← Back to team overview

openjdk team mailing list archive

[Bug 605042] Re: [armel] java fails to start with eglibc-2.12-0ubuntu4

 

Can't reproduce this problem, here are steps,

1 Remove cvs-revert-flush-cache-textrels.diff from patch/series.
2 Rebuild eglibc
3 dpkg -i libc6_2.12.1-0ubuntu1_armel.deb
4 cp /usr/lib/jvm/java-6-openjdk/jre/lib/arm/server/libjvm.so .
5 Run ./testcase, no seg fault.
6.  strace -o 3.log java -version
.....
mmap2(0x40499000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x64) = 0x40499000
close(3)                                = 0
mprotect(0x40499000, 4096, PROT_READ)   = 0
mprotect(0x40172000, 2572288, PROT_READ|PROT_WRITE) = 0
mprotect(0x40172000, 2572288, PROT_READ|PROT_EXEC) = 0
cacheflush(0x40172000, 0x403e6000, 0, 0x274000, 0x19448) = 0  // <---- [1]
mprotect(0x403ed000, 57344, PROT_READ)  = 0
open("/proc/self/auxv", O_RDONLY)       = 3
read(3, "\20\0\0\0\3278\0\0\6\0\0\0\0\20\0\0\21\0\0\0d\0\0\0\3\0\0\0004\200\0\0"..., 256) = 144
.....

It got seg fault on [1] in comment#1.  In my case, cacheflush is
executed without seg faults.

# java -version
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8) (6b18-1.8-2ubuntu2)
OpenJDK Zero VM (build 14.0-b16, mixed mode)

-- 
[armel] java fails to start with eglibc-2.12-0ubuntu4
https://bugs.launchpad.net/bugs/605042
You received this bug notification because you are a member of OpenJDK,
which is subscribed to openjdk-6 in ubuntu.

Status in Linaro Toolchain Miscellanies: New
Status in “eglibc” package in Ubuntu: Fix Released
Status in “openjdk-6” package in Ubuntu: Confirmed
Status in “eglibc” source package in Maverick: Fix Released
Status in “openjdk-6” source package in Maverick: Confirmed

Bug description:
reverting back to eglibc-2.12-0ubuntu3 works around the problem

$ strace java -version
[...]
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libm.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\3701\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=407156, ...}) = 0
mmap2(NULL, 438440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40424000
mprotect(0x40487000, 28672, PROT_NONE)  = 0
mmap2(0x4048e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x62) = 0x4048e000
close(3)                                = 0
mprotect(0x4048e000, 4096, PROT_READ)   = 0
mprotect(0x40169000, 2572288, PROT_READ|PROT_WRITE) = 0
mprotect(0x40169000, 2572288, PROT_READ|PROT_EXEC) = 0
cacheflush(0x40169000, 0x403dd000, 0, 0x40169000, 0x19448 <unfinished ...>
+++ killed by SIGSEGV +++
Segmentation fault

Unable to handle kernel paging request at virtual address 401a1000
pgd = cd108000
[401a1000] *pgd=99a5b031, *pte=00000000, *ppte=00000000
Internal error: Oops: 817 [#4455]
Modules linked in: ov3640_camera v4l2_int_device uio_pdrv_genirq joydev uio
CPU: 0    Tainted: G      D     (2.6.31-608-imx51 #14-Ubuntu)
PC is at v7_coherent_kern_range+0x18/0x44
LR is at arm_syscall+0x2a8/0x2c4
pc : [<c003e1e8>]    lr : [<c003a858>]    psr: 80000013
sp : cc81be80  ip : dc172bb0  fp : cc81bfa4
r10: 4001e568  r9 : cc81a000  r8 : 00000000
r7 : 000f0002  r6 : 00000000  r5 : 40169000  r4 : 403dd000
r3 : 0000003f  r2 : 00000040  r1 : 403dd000  r0 : 401a1000
Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5387d  Table: 9d108019  DAC: 00000015
Process java (pid: 6558, stack limit = 0xcc81a2f0)
Stack: (0xcc81be80 to 0xcc81c000)
be80: cc81bed4 cc81be90 c047edc0 c005d290 c047edc0 c006e6dc c060d26c c006e6dc 
bea0: c060d288 c060d270 cc81befc 00000005 cc81a000 00000005 cc81bee8 c0036ae4 
bec0: cc81a000 00000005 cc81bee4 cc81bed8 c006e724 c006bd04 cc81bf84 cc81bee8 
bee0: c006e7e0 c006e64c 00000005 00000000 00000005 0000199e 000009db 00000000 
bf00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
bf20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
bf40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
bf60: 00000000 00000000 cc81a000 cc81bfb0 000f0002 000f0002 cc81bfa4 cc81bf88 
bf80: c0037a50 c006e76c 40169000 00019448 be970fa8 00000050 00000000 cc81bfa8 
bfa0: c0036ac0 c003a5bc 00019448 be970fa8 40169000 403dd000 00000000 40169000 
bfc0: 00019448 be970fa8 00000050 000f0002 40169000 00000cc0 4001e568 4001e8b8 
bfe0: 000f0002 be970f90 400093cd 4000fd96 00000030 40169000 696c4075 2e737473 
Backtrace: 
[<c003a5b0>] (arm_syscall+0x0/0x2c4) from [<c0036ac0>] (__sys_trace_return+0x0/0x20)
 r6:00000050 r5:be970fa8 r4:00019448
Code: e3a02010 e1a02312 e2423001 e1c00003 (ee070f3b) 
mxc_ipu mxc_ipu: Channel already disabled 9
mxc_ipu mxc_ipu: Channel already uninitialized 9
DMFC high resolution has set, will not change
---[ end trace b707ea3bd34d5698 ]---