serge.dussud@France 1999-10-12
Attached are pstack output, gcore output and involved binary.
Solaris platform is:
sphenoid.root-> uname -a
SunOS sphenoid 5.7 Generic_106541-07 sun4u sparc SUNW,Ultra-60
and I am using JDK 1.1.8, accessible via NFS.
I am facing a deadlock very similar to the one described in bug #4205167 (see below for more details on what I was doing). pstack output on my system is:
6707: /opt/SUNWconn/ba/sbin/bagent -noclassgc -ss4m -mx128m -v -debug -Duser
----------------- lwp# 1 / thread# 7 --------------------
ff3b804c elf_dlsym (fef4136c, 8000000, ff0703d8, f3c01678, ff3a07e8, 3) + 174
ff3bd698 dlsym_core (fef40d34, ff3ddd30, ff3a07e8, ff3dd018, ff3dc904, f3c01824
) + 130
ff3bd7b8 dlsym_lock (fef40d34, f3c01824, ff3a07e8, ff3dc904, 1, ff3a0148) + 38
ff3bd88c dlsym (fef40d34, f3c01824, ff321260, f3c013c0, f3c01858, ff321263)
+ 84
ff312d5c sysDynamicLink (0, f3c01824, ff33d044, 18, 3, 3dd8065f) + fc
ff2dd134 dynoLink (131c50, 12b0b0, f7966000, 1, 0, 0) + 48
ff2dce44 invokeLazyNativeMethod (f7978ed8, 131c50, 1, f3c01c80, ff2dc1fc, f7966
0b8) + 1c
ff319ed0 ExecuteJava (49203, f3c01c80, 1323b8, 13238c, 47098, 132390) + 7d0
ff2ee3e4 do_execute_java_method_vararg (f3c01c80, ff339b9d, 0, 0, 0, 132350) +
5d8
ff2eda88 execute_java_dynamic_method (f3c01c80, f797a470, ff339b98, ff339b9c, f
f33dc00, ff151fe0) + 30
ff309f14 ThreadRT0 (f797a470, ff339b9c, 400000, ff16af64, 4, 12b0b0) + 58
ff3164d4 _start (0, ff16e838, 0, 23398, 1, fe401000) + 64
ff15a2a4 _thread_start (12b0b0, 0, 0, 0, 0, 0) + 3c
----------------- lwp# 2 / thread# 2 --------------------
ff117444 signotifywait ()
ff14eaf8 _dynamiclwps (ff16af64, ff16c844, 2, 0, ff1338f0, 0) + 1c
ff151910 thr_yield (0, 0, 0, 0, 0, 0) + 8c
----------------- lwp# 3 / thread# 6 --------------------
ff117a28 lwp_cond_wait (ff3dd040, ff3dd018, 0)
ff10f70c _lwp_cond_wait (ff3dd040, ff3dd018, 0, 0, 0, 0) + c
ff14c6dc _lrw_wrlock (ff3dd010, ff3dd040, ff3dd018, 0, ff3dc904, ff3bfbf8) + 60
ff3bfbf8 elf_bndr (22b20, 180, ff3a0148, ff3178dc, ff3dc904, 0) + 30
ff3b2d84 elf_rtbndr (ff3178dc, 0, ff33d400, 1, 0, 0) + 1c
00022974 ???????? (1f, 12b0b0, f440138c, f4401188, fffffff8, f4401588)
ff3178dc wait_stopped_lwps (f4240, ff34116e, ff33d6d0, 7000, 0, 0) + 120
ff317220 sysThreadSingle (ff341000, ff341864, ff34116e, ff33d6d0, 7000, 0) + 12
c
ff2e5d2c manageAllocFailure (1, 1, ff3377e4, 408, ff3377e8, 0) + 178
ff2e4694 realObjAlloc (1, 28, ff33dc3c, ff33dbe8, ff33dbe4, 1) + 310
ff2e40a8 cacheAlloc (f4401c80, f4401cbc, 0, 30, 48, d7260) + 48
ff2e4408 realObjAlloc (f4401c80, d7260, ff33dc3c, ff33dbe8, ff33dbe4, 1) + 84
ff2e4cc8 ObjAlloc (0, f796a938, 40, f7a65db0, 18, 1a8) + 30
ff2dd2b8 newobject (f796a938, eee65, f4401c80, 3740, 0, 6c) + 8
ff31ded8 ExecuteJava (eee65, f4401c80, d0800, d07b0, eda38, d07d8) + 47d8
ff2ee3e4 do_execute_java_method_vararg (f4401c80, ff339b9d, 0, 0, 0, d0640) + 5
d8
ff2eda88 execute_java_dynamic_method (f4401c80, f796a828, ff339b98, ff339b9c, f
f33dc00, ff151fe0) + 30
ff309f14 ThreadRT0 (f796a828, ff339b9c, 400000, ff16af64, 4, a4478) + 58
ff3164d4 _start (0, ff005d70, 0, f4c01e60, 1, fe401000) + 64
ff15a2a4 _thread_start (a4478, 0, 0, 0, 0, 0) + 3c
----------------- lwp# 4 --------------------------------
ff11501c door (0, 0, 0, 0, fefa5d70, 4)
ff14b128 _lwp_start (6000, ff005bd4, ff16bce0, ff16bcc8, ff16af64, ff005ac8) +
10
ff151910 thr_yield (0, 0, 0, 0, 0, 0) + 8c
-------------------------- thread# 1 --------------------
ff14bad8 _mutex_adaptive_lock (2ae38, 4c00, ff16af64, 1, 4d58, fffeffff) + 120
ff14b888 _cmutex_lock (2ae38, ff, ff16af64, ff315b9c, 50, 465) + 50
ff315b9c sysMonitorEnter (2ae38, 4be68, 28, 2c40, ff33d800, ff33d800) + 64
ff2e4428 realObjAlloc (ff33cc90, 28, ff33dc3c, ff33dbe8, ff33dbe4, 1) + a4
ff2e40a8 cacheAlloc (ff33cc90, ff33cccc, 0, 8, 38, 18a) + 48
ff2e4408 realObjAlloc (ff33cc90, 18a, ff33dc3c, ff33dbe8, ff33dbe4, 1) + 84
ff2e0ae0 fillInStackTrace (4000, 0, f7a628c8, c, 291cc, 3a) + 11c
ff2ddaf4 SignalError (ff33cc90, f797d2e0, ffbed8e8, f7a628c8, 2, 23) + e4
ff2ef988 java_io_FileInputStream_open (f7a62820, f797d328, ff33dc3c, ff33dbe8,
ff33dbe4, 1) + a0
ff2df794 Java_java_io_FileInputStream_open_stub (291f4, ff33cc90, ff33c800, 1,
f7966848, f7966848) + 8
ff2dc694 invokeNativeMethod (291cc, 6b46c, 291f4, ff33cc90, ff2dc1fc, 6aee0) +
64
ff319ed0 ExecuteJava (6b826, ff33cc90, 291f4, 291c0, 6aee0, 291cc) + 7d0
ff2fe2dc java_lang_reflect_Method_invoke (f7a612e0, f7a61360, f7966100, f7a612d
8, 0, ff33cc90) + 300
ff2df368 Java_java_lang_reflect_Method_invoke_stub (29104, 29100, f797d380, f7a
61368, 10, 42) + 14
ff2dc694 invokeNativeMethod (290d8, 10fa60, 29100, ff33cc90, ff2dc1fc, 24) + 64
ff319ed0 ExecuteJava (10b18b, ff33cc90, 29100, 290b0, 104258, 290d8) + 7d0
ff2fe2dc java_lang_reflect_Method_invoke (f7a42bc0, f7a45610, f7966100, f7a42bb
8, 0, ff33cc90) + 300
ff2df368 Java_java_lang_reflect_Method_invoke_stub (28fac, 28fa8, f796f820, 1,
10, 42) + 14
ff2dc694 invokeNativeMethod (28f80, 10fa60, 28fa8, ff33cc90, ff2dc1fc, 109624)
+ 64
ff319ed0 ExecuteJava (10b18b, ff33cc90, 28fa8, 28f58, 104258, 28f80) + 7d0
ff2f1834 jni_Invoke (ff33cc90, e09d4, e2904, e1dd0, ffbee260, 0) + 3c0
ff2f466c jni_CallStaticVoidMethodV (ff33cca4, 2, e2904, ffbee350, ff33ccac, 0)
+ 24
ff2f9f44 invoke_CallStaticVoidMethod (ff33cca4, 2, e2904, 4be68, 0, 0) + 44
00011a18 main (2, 22bbc, 0, ffbeefcc, 0, 0) + 6c4
000110c0 _start (0, 0, 0, 0, 0, 0) + dc
-------------------------- thread# 3 --------------------
ff14dbb4 _reap_wait (ff16ca78, 1d65c, 0, 0, 0, 0) + 34
ff14d938 _reaper (ff16af64, ff16ca78, ff16bd10, 23398, 1, fe400000) + 34
ff15a2a4 _thread_start (0, 0, 0, 0, 0, 0) + 3c
-------------------------- thread# 4 --------------------
ff149478 cond_wait (2ad90, 2ad58, 4356, ff16af64, 8, f5401e34) + bc
ff317df8 condvarWait (2ad90, 2ad58, 4, 54708, 0, f5401cd1) + 60
ff315df0 sysMonitorWait (2ad58, ffffffff, 0, 2ad58, 54700, ff151fe0) + dc
ff2e3cc8 finalizer_loop (f7966088, ff341874, ff33cbe0, ff33cbd8, 4, 0) + 9c
ff3164d4 _start (0, ff005d70, 1, ff173c28, 0, fefa5dd0) + 64
ff15a2a4 _thread_start (54700, 0, 0, 0, 0, 0) + 3c
-------------------------- thread# 5 --------------------
ff158c70 cond_timedwait_sig (ff16c6c8, f4c01c30, f4c01c58, f4c01c54, 0, f4c01c5
0) + 164
ff158f3c __sigtimedwait (ff16bea0, 0, 0, ff16af64, f4c01dd0, ff151fe0) + 1f0
ff318370 sqh (ff3417b0, ff341878, 400000, ff16af64, 4, 54790) + 34
ff3164d4 _start (0, ff005d70, 0, f5401e60, 1, fe401000) + 64
ff15a2a4 _thread_start (54790, 0, 0, 0, 0, 0) + 3c
What was I doing:
I am currently trying to reproduce bug #4236384 which is raised against Sun Bandwitdh Manager 1.5.
For this, I am using A JDK which is NFS mounted. Test case is to start the Sun BM 1.5 daemon and stop the NFS server for JDK before this daemon has completed to configure Sun BM.
While runing such tests, I sometime hit this bug which looks like a deadlock in the JVM.
Few things now on the Sun BM daemon: this is a C program that will create a JVM. From this JVM, there will then be some call to C nive libraries.
JDK compiler used for this daemon was JDK 1.1.7A
Question are at this point:
1. is it the same issue as in bug bug #4205167 ?
2. if yes, is there any chance that this is backported to JDK 1.1x ?