strace hangs if tracing 32 bit app that spawns 64 bit apps
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
strace (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: strace
[HardyHeron 64-bit]
When running 64bit strace on 64 bit HardyHeron (or LucidLynx)
it hangs when following 32-bit java.(an Ant build process)
I've narrowed down the problem to these basic steps:
The command I run is:
export JAVA_HOME=
strace -f -F -e open,chdir,
-------
build.xml:
<project name="main" default="target1">
<target name="target1">
<echo message="Inside ant target of target1."/>
<exec executable="make" failonerror="true" dir=".">
<arg line="-f Makefile makeTarget"/>
</exec>
</target>
</project>
-------
Makefile:
makeTarget:
@echo "Inside Makefile doing the target of makeTarget.\n"
-------
If I change JAVA_HOME to a 64 bit java, then strace completes
successfully.
Otherwise it hangs, until I `kill -9` the java process.
-------
I've searched the forums and found only one other pertinent
post about how 64 bit strace could not follow vforks, but
that has been fixed in a version of strace that is available and installed on my LucidLynx machine, and my problem exists as well on LucidLynx.
-------
I narrowed down problem a bit more.
In that above build.xml file. If I change from running `make`, to running `ls`, I get the same hanging problem.
But if I copy a 32-bit "ls" from another machine and run
that instead then strace completes successfully.
Meaning, the 64-bit strace command can't trace a 32 bit java application (ant) that spawns off 64-bit binaries.
Everything needs to be all 32-bit. (or all 64 bit)