Hello, all. 

I've been trying to get Sun's JDK going for several days now, to no avail.
Under no circumstances can I get 'javac' to produce any output, at all.  No 
error message.  No usage message or version string from 'javac -help' or 
'javac -version'.  Nothing but another command prompt (nothing in the system 
logs either). 

I ran strace ("strace -f javac -version") on both the machine I built using 
the LFS + BLFS machine, and on another machine (which I built following a 
different "recipe" - my own, actually - that's somewhat dated but still 
works).  It showed that javac forks - apparently twice - and uses one of the 
worker threads to display ouptut; on the machine on which javac works, 
"javac -version" writes "javac 1.6.0_03" to the console (stderr, to be 
precise).  On the LFS + BLFS machine, the child threads apparently never 
run. 

As far as threading in general is concerned, this is the first indication 
I've had that there might be a problem.  Many of my own programs - inlcuding 
a number of the tools I used to build the packages installed on the machine 
 - use fork(), the various Posix thread routines (pthread_xxxxx), et al. 

Here are the last few lines of the output from strace on each machine: 
first, from the one where javac doesn't work: 

clone(Process 28969 attached (waiting for parent)
Process 28969 resumed (parent 28968 ready)
child_stack=0xb7e084b4, 
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM 
|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, 
parent_tidptr=0xb7e08bd8, {entry_number:6, base_addr:0xb7e08b90, 
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, 
seg_not_present:0, useable:1}, child_tidptr=0xb7e08bd8) = 28969
[pid 28969] set_robust_list(0xb7e08be0, 0xc <unfinished ...>
[pid 28968] exit_group(0)               = ?
[pid 28969] <... set_robust_list resumed> ) = 0
Process 28969 detached
Process 28968 detached 

and, from the one where it does: 

clone(Process 32200 attached
child_stack=0xb7f0e4c4, 
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM 
|CLONE_SETTLS|CLONE_
PARENT_SETTID|CLONE_CHILD_CLEARTID|CLONE_DETACHED, parent_tidptr=0xb7f0ebf8, 
{entry_number:6, base_addr:0xb7f0ebb0, limi
t:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, 
seg_not_present:0, useable:1}, child_tidptr=0xb7
f0ebf8) = 32200
[pid 32199] futex(0xb7f0ebf8, FUTEX_WAIT, 32200, NULL <unfinished ...>
[pid 32200] open("/etc/mtab", O_RDONLY) = 3
[pid 32200] fstat64(3, {st_mode=S_IFREG|0644, st_size=590, ...}) = 0 

About the only thing I can think of to add here is that I get a similar 
strace (and the exact same lack of output) when I try to run javac or the 
other tools in a chroot jail; again, ordinary threaded programs work in that 
environment, too; but, java does not. 

I put the complete strace outputs here:
http://www.cslimits.org/strace-works.txt
and here:
http://www.cslimits.org/strace-not-working.txt 

Thanks.  This has me baffled. 

 - Larry 

PS. the LFS+BLFS machine is using a 2.6.23 kernel, the other is using a 
2.6.17 kernel.
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to