-
Bug
-
Resolution: Fixed
-
P3
-
1.2.0
-
kestrel
-
sparc
-
solaris_2.5.1
Name: akC57697 Date: 07/02/98
The sun.awt.motif.X11Selection and sun.awt.motif.MDrawingSurfaceInfo
throw UnsatisfiedLinkError in JDK-1.2fcs-A.
The example:
------------------------------8-<--------------------------------------------
public class test {
public static void main(String s[]) {
try {
System.out.println(Class.forName("sun.awt.motif.X11Selection"));
System.out.println("sun.awt.motif.X11Selection - OKAY");
} catch (Throwable e) { e.printStackTrace();}
try {
System.out.println(Class.forName("sun.awt.motif.MDrawingSurfaceInfo"));
System.out.println("sun.awt.motif.MDrawingSurfaceInfo - OKAY");
} catch (Throwable e) { e.printStackTrace();}
}
}
---------------------------->-8----------------------------------------------
java -fullversion
java full version "JDK-1.2fcs-A"
(###@###.###): javac test.java
(###@###.###): java test
java.lang.UnsatisfiedLinkError: initIDs
at sun.awt.motif.X11Selection.<clinit>(X11Selection.java:43)
at java.lang.Class.forName(Native Method)
at java.lang.Class.forName(Compiled Code)
at test.main(Compiled Code)
java.lang.UnsatisfiedLinkError: initIDs
at sun.awt.motif.MDrawingSurfaceInfo.<clinit>(MDrawingSurfaceInfo.java:40)
at java.lang.Class.forName(Native Method)
at java.lang.Class.forName(Compiled Code)
at test.main(Compiled Code)
======================================================================
###@###.### 1998-10-12 :
Yes, this bug not reproducible if initialize the AWT via the
creation new Frame and making it visible as recommended above but
the test gets SEGV if only create a Frame object.
1. No 'new Frame()' invokation UnsatisfiedLinkError
2. Only 'new Frame()' invokation SEGV
3. new Frame() + setVisible(true) OKAY
----------------------------------------------------------------------------
public class Test {
public static void main(String s[]) {
java.awt.Frame f = new java.awt.Frame(); // Add f.setVisible(true) to pass
try {
System.out.println(Class.forName("sun.awt.motif.X11Selection"));
System.out.println("sun.awt.motif.X11Selection - OKAY");
} catch (Throwable e) { e.printStackTrace();}
try {
System.out.println(Class.forName("sun.awt.motif.MDrawingSurfaceInfo"));
System.out.println("sun.awt.motif.MDrawingSurfaceInfo - OKAY");
} catch (Throwable e) { e.printStackTrace();}
}
}
----------------------------------------------------------------------------
(###@###.###): java -fullversion
java full version "JDK-1.2fcs-N"
(###@###.###): java Test
SIGSEGV 11* segmentation violation
si_signo [11]: SIGSEGV 11* segmentation violation
si_errno [0]: Error 0
si_code [1]: SEGV_MAPERR [addr: 0x0]
stackpointer=efffb930
Full thread dump Classic VM (JDK-1.2fcs-N, green threads):
"Finalizer" (TID:0xebc98320, sys_thread_t:0x69a58, state:CW) prio=8
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Compiled Code)
at java.lang.ref.ReferenceQueue.remove(Compiled Code)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174)
"Reference Handler" (TID:0xebc983b0, sys_thread_t:0x65120, state:CW) prio=10
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Compiled Code)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114)
"Signal dispatcher" (TID:0xebc983e0, sys_thread_t:0x5e860, state:CW) prio=5
"main" (TID:0xebc981e0, sys_thread_t:0x266a8, state:R) prio=5
at sun.awt.motif.X11Selection.init(Native Method)
at sun.awt.motif.X11Selection.<clinit>(X11Selection.java:44)
at java.lang.Class.forName(Native Method)
at java.lang.Class.forName(Compiled Code)
at Test.main(Compiled Code)
Monitor Cache Dump:
java.lang.ref.ReferenceQueue$Lock@EBC98338/EBCCE028: <unowned>
Waiting to be notified:
"Finalizer" (0x69a58)
java.lang.ref.Reference$Lock@EBC983C0/EBCCDB20: <unowned>
Waiting to be notified:
"Reference Handler" (0x65120)
Registered Monitor Dump:
PCMap lock: <unowned>
utf8 hash table: <unowned>
JNI pinning lock: <unowned>
JNI global reference lock: <unowned>
BinClass lock: <unowned>
Class linking lock: <unowned>
System class loader lock: <unowned>
Code rewrite lock: <unowned>
Heap lock: <unowned>
Monitor cache lock: owner "main" (0x266a8) 1 entry
Dynamic loading lock: <unowned>
Monitor IO lock: <unowned>
User signal monitor: <unowned>
Waiting to be notified:
"Signal dispatcher" (0x5e860)
Child death monitor: <unowned>
I/O monitor: <unowned>
Alarm monitor: <unowned>
Waiting to be notified:
<unknown thread> (0x2b998)
Thread queue lock: owner "main" (0x266a8) 1 entry
Monitor registry: owner "main" (0x266a8) 1 entry
SIGABRT 6* abort (generated by abort(3) routine)
si_signo [6]: SIGABRT 6* abort (generated by abort(3) routine)
si_errno [0]: Error 0
si_code [0]: SI_USER [pid: 3356, uid: 302]
stackpointer=efffb930
Full thread dump Classic VM (JDK-1.2fcs-N, green threads):
"Finalizer" (TID:0xebc98320, sys_thread_t:0x69a58, state:CW) prio=8
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Compiled Code)
at java.lang.ref.ReferenceQueue.remove(Compiled Code)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174)
"Reference Handler" (TID:0xebc983b0, sys_thread_t:0x65120, state:CW) prio=10
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Compiled Code)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114)
"Signal dispatcher" (TID:0xebc983e0, sys_thread_t:0x5e860, state:CW) prio=5
"main" (TID:0xebc981e0, sys_thread_t:0x266a8, state:R) prio=5
at sun.awt.motif.X11Selection.init(Native Method)
at sun.awt.motif.X11Selection.<clinit>(X11Selection.java:44)
at java.lang.Class.forName(Native Method)
at java.lang.Class.forName(Compiled Code)
at Test.main(Compiled Code)
Monitor Cache Dump:
java.lang.ref.ReferenceQueue$Lock@EBC98338/EBCCE028: <unowned>
Waiting to be notified:
"Finalizer" (0x69a58)
java.lang.ref.Reference$Lock@EBC983C0/EBCCDB20: <unowned>
Waiting to be notified:
"Reference Handler" (0x65120)
Registered Monitor Dump:
PCMap lock: <unowned>
utf8 hash table: <unowned>
JNI pinning lock: <unowned>
JNI global reference lock: <unowned>
BinClass lock: <unowned>
Class linking lock: <unowned>
System class loader lock: <unowned>
Code rewrite lock: <unowned>
Heap lock: <unowned>
Monitor cache lock: owner "main" (0x266a8) 1 entry
Dynamic loading lock: <unowned>
Monitor IO lock: <unowned>
User signal monitor: <unowned>
Waiting to be notified:
"Signal dispatcher" (0x5e860)
Child death monitor: <unowned>
I/O monitor: <unowned>
Alarm monitor: <unowned>
Waiting to be notified:
<unknown thread> (0x2b998)
Thread queue lock: owner "main" (0x266a8) 1 entry
Monitor registry: owner "main" (0x266a8) 1 entry
Abort (core dumped)