[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Futex problems with firebird3.0 and openjdk-8 on m68k



On Tue, 30 May 2017, John Paul Adrian Glaubitz wrote:
> 
> I just tarred up the patched version I still have here, please download 
> it from:
> 
> http://users.physik.fu-berlin.de/~glaubitz/openjdk-8.tgz
> 

Thanks. I used that tgz to generate the patch below, and then patched a 
fresh source tree.

> As you can see in the build logs (*.build), it hangs for me when trying 
> to determine the version of the Java compiler.
> 
> Would be really interesting to know if this works for you.
> 

The jdk portion of the build did complete. But for many hours, there was a 
java process blocked in futex_wait_queue_me (according to the WCHAN column 
in top). It was this command:

Compiling 9463 files for BUILD_JDK
(/usr/lib/jvm/java-8-openjdk-m68k/bin/java -Xms64M -XX:ThreadStackSize=768 "-Xbootclasspath/p:/home/buildd/openjdk-8-8u131-b11/build/langtools/dist/bootstrap/lib/javac.jar" -cp /home/buildd/openjdk-8-8u131-b11/build/langtools/dist/bootstrap/lib/javac.jar com.sun.tools.javac.Main -bootclasspath /home/buildd/openjdk-8-8u131-b11/build/jdk/classes -source 8 -target 8 -encoding ascii -XDignore.symbol.file=true -Xlint:-unchecked,-deprecation,-overrides,auxiliaryclass,classfile,dep-ann,divzero,empty,try,varargs -Werror   -implicit:none -sourcepath "/home/buildd/openjdk-8-8u131-b11/src/jdk/src/share/classes:/home/buildd/openjdk-8-8u131-b11/src/jdk/src/solaris/classes:/home/buildd/openjdk-8-8u131-b11/build/jdk/gensrc:/home/buildd/openjdk-8-8u131-b11/build/jdk/gensrc_no_srczip" -d /home/buildd/openjdk-8-8u131-b11/build/jdk/classes -h /home/buildd/openjdk-8-8u131-b11/build/jdk/gensrc_headers.BUILD_JDK.tmp @/home/buildd/openjdk-8-8u131-b11/build/jdk/classes/_the.BUILD_JDK_batch.tmp && /bin/mv /home/buildd/openjdk-8-8u131-b11/build/jdk/classes/_the.BUILD_JDK_batch.tmp /home/buildd/openjdk-8-8u131-b11/build/jdk/classes/_the.BUILD_JDK_batch)

It eventually completed without error.

Following the jdk build, when "checking if we are using ecj as javac" 
during icedtea-sound/configure, the javac -version command also blocked in 
futex_wait_queue_me. This command was blocked for five hours until I 
finally killed it.

I also ran openjdk-8-8u131-b11/build/images/j2sdk-image/bin/javac -help 
and that hung in futex_wait_queue_me too. It seems there's something weird 
going on here but there looks to be a consistent way to reproduce it.

We can no longer blame the kernel or the emulator. Next I'll try an older 
glibc.

FYI, I've uploaded the log of the build up to the point that I killed it. 
http://www.telegraphics.com.au/~fthain/openjdk-8-8u131-b11-build-log

> Adrian
> 
> 

diff -ruN a/openjdk-8-8u131-b11/debian/patches/hotspot-disable-jvmtidocs.diff b/openjdk-8-8u131-b11/debian/patches/hotspot-disable-jvmtidocs.diff
--- a/openjdk-8-8u131-b11/debian/patches/hotspot-disable-jvmtidocs.diff	1970-01-01 10:00:00.000000000 +1000
+++ b/openjdk-8-8u131-b11/debian/patches/hotspot-disable-jvmtidocs.diff	2017-05-08 19:30:29.000000000 +1000
@@ -0,0 +1,22 @@
+--- a/hotspot/make/linux/Makefile.orig	2017-03-06 20:12:11.000000000 +0100
++++ a/hotspot/make/linux/Makefile	2017-05-08 07:59:49.775242564 +0200
+@@ -349,7 +349,7 @@
+ # ENABLE_FULL_DEBUG_SYMBOLS value is used.
+ docs: checks
+ 	$(QUIETLY) mkdir -p $(SUBDIR_DOCS)
+-	$(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/makefiles/jvmti.make $(MFLAGS) $(BUILDTREE_VARS) JvmtiOutDir=$(SUBDIR_DOCS) BUILD_FLAVOR=product jvmtidocs
++	#$(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/makefiles/jvmti.make $(MFLAGS) $(BUILDTREE_VARS) JvmtiOutDir=$(SUBDIR_DOCS) BUILD_FLAVOR=product jvmtidocs
+ 
+ # Synonyms for win32-like targets.
+ compiler2:  debug product
+--- a/hotspot/make/linux/makefiles/defs.make.orig	2017-03-06 20:12:11.000000000 +0100
++++ a/hotspot/make/linux/makefiles/defs.make	2017-05-08 11:28:50.001500588 +0200
+@@ -234,7 +234,7 @@
+ # Library suffix
+ LIBRARY_SUFFIX=so
+ 
+-EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
++#EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
+ 
+ # client and server subdirectories have symbolic links to ../libjsig.so
+ EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
diff -ruN a/openjdk-8-8u131-b11/debian/rules b/openjdk-8-8u131-b11/debian/rules
--- a/openjdk-8-8u131-b11/debian/rules	2017-05-17 07:36:46.000000000 +1000
+++ b/openjdk-8-8u131-b11/debian/rules	2017-05-08 16:03:03.000000000 +1000
@@ -376,6 +376,7 @@
 	include-all-srcs.diff \
 	pass-extra-flags.diff \
 	hotspot-disable-werror.diff \
+	hotspot-disable-jvmtidocs.diff \
 	dont-strip-images.diff \
 	workaround_expand_exec_shield_cs_limit.diff \
 	zero-architectures.diff \
@@ -1271,7 +1268,7 @@
 	touch $@
 
 stamps/build-docs: stamps/build
-	$(MAKE) -C $(builddir) docs
+	#$(MAKE) -C $(builddir) docs
 	touch $@
 
 stamps/xvfb-check:

Reply to: