Hi John, hi Dmitry. 2011/2/23 John Baldwin <j...@freebsd.org>: > New Revision: 218970 > [...] > Log: > Use umtx_key objects to uniquely identify futexes. Private futexes in > different processes that happen to use the same user address in the > separate processes will now be treated as distinct futexes rather than the > same futex. We can now honor shared futexes properly by mapping them to a > PROCESS_SHARED umtx_key. Private futexes use THREAD_SHARED umtx_key > objects.
This change breaks linux-jdk-1.6.0, at least for me on FreeBSD 9 i386: $ /usr/local/linux-sun-jdk1.6.0/bin/java Usage: java [-options] class [args...] (to execute a class) or java [-options] -jar jarfile [args...] (to execute a jar file) where options include: -d32 use a 32-bit data model if available -d64 use a 64-bit data model if available -client to select the "client" VM -server to select the "server" VM -hotspot is a synonym for the "client" VM [deprecated] The default VM is server, because you are running on a server-class machine. -cp <class search path of directories and zip/jar files> -classpath <class search path of directories and zip/jar files> A : separated list of directories, JAR archives, and ZIP archives to search for class files. -D<name>=<value> set a system property -verbose[:class|gc|jni] enable verbose output -version print product version and exit -version:<value> require the specified version to run -showversion print product version and continue -jre-restrict-search | -jre-no-restrict-search include/exclude user private JREs in the version search -? -help print this help message -X print help on non-standard options -ea[:<packagename>...|:<classname>] -enableassertions[:<packagename>...|:<classname>] enable assertions -da[:<packagename>...|:<classname>] -disableassertions[:<packagename>...|:<classname>] disable assertions -esa | -enablesystemassertions enable system assertions -dsa | -disablesystemassertions disable system assertions -agentlib:<libname>[=<options>] load native agent library <libname>, e.g. -agentlib:hprof see also, -agentlib:jdwp=help and -agentlib:hprof=help -agentpath:<pathname>[=<options>] load native agent library by full pathname -javaagent:<jarpath>[=<options>] load Java programming language agent, see java.lang.instrument -splash:<imagepath> show splash screen with specified image ^T load: 1.62 cmd: java 4007 [futex] 3.33r 0.00u 0.00s 0% 10784k (... wait a while) ^T load: 1.62 cmd: java 4007 [futex] 4.45r 0.00u 0.00s 0% 10784k (... doesn't finish) With r218969, the process finishes as expected. BTW, is there an easy way to debug such futex issues, other than perhaps linux_kdump? Lucius _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"