-
Bug
-
Resolution: Won't Fix
-
P4
-
None
-
1.2.1, 1.2.2
-
x86
-
windows_95, windows_98, windows_nt
Name: krT82822 Date: 06/29/99
orig synopsis: "A nonfatal internal JIT (3.00.078(x)) error"
Simple situation:
While trying to learn myself how to use 'JDB', I startet jdb with a classname I knew didn't exist. This message came along my screen:
H:\javakode\Saker>jdb pk_du
Initializing jdb...
A nonfatal internal JIT (3.00.078(x)) error 'unknown wrapper intrinsic' has occurred in :
'sun/tools/debug/RemoteAgent.initSession (Z)V': Interpreting method.
Please report this error in detail to http://java.sun.com/cgi-bin/bugreport.cgi
pk_du not found
>
and that's all there is
(Review ID: 84965)
======================================================================
6/29/99 kevin.ryan@eng -- user sent mail saying it's win98, not win95
Name: skT88420 Date: 11/04/99
java version "1.2.1"
Classic VM (build JDK-1.2.1-A, native threads)
I received the following error message
at the command line input:
H:\2513Exam1\Prob02>java Prob02
A nonfatal internal JIT (3.00.078(x)) error 'unknown wrapper intrinsic' has occu
rred in :
'ProdConManager.putDataInStorage (I)V': Interpreting method.
Please report this error in detail to http://java.sun.com/cgi-bin/bugreport.cg
i
Because of the random delay in my program
I was running this same program 40 or 50 times to check for proper output each
time.
This error occurred on just one of those runs.
All other times it ran normal with the expected output.
Here is the source code:
/*File Prob02.java by Jim Andrews 9/12/99
for CIS 2513 EXAM 1
Program was tested using JDK 1.2.1 under Win95
Without making any changes to the classes named Prob02,
Producer, and Consumer (other than inserting your name
where indicated) write a Java application that will
implement the producer/consumer model on two threads
named producer and consumer and display the screen output
shown below.
The thread named producer counts from 1 to 5 storing the
count in a single shared storage variable.
The thread named consumer causes the count to be fetched
from the shared storage variable and to be displayed.
You will need to write a single class named ProdConManager
that manages the storing and fetching of the count in a
single shared storage variable.
It is absolutely necessary that all five values are stored,
all five values are fetched, and the values are stored and
fetched in the correct order.
It is also absolutely necessary that your application
terminates properly by returning control to the operating
system at the end of every run.
Since a random delay is inserted into the operation of the
producer thread, causing the behavior of your program to vary
from one run to the next, your instructor will confirm
proper operation by running the program ten times in
succession and observing the screen output. If there is a
failure during any of the ten runs, you will get no credit
for the program. You should test your program in a similar
manner to confirm proper operation.
Your program must produce the output shown below during
every run. Note that the "Storing" screen output message
is generated by code in the method named putDataInStorage()
and the "Fetched" screen output message is generated by
code in the method named getDataFromStorage()
In putDataInStorage. Storing 1
In getDataFromStorage. Fetched 1
In putDataInStorage. Storing 2
In getDataFromStorage. Fetched 2
In putDataInStorage. Storing 3
In getDataFromStorage. Fetched 3
In putDataInStorage. Storing 4
In getDataFromStorage. Fetched 4
In putDataInStorage. Storing 5
In getDataFromStorage. Fetched 5
Terminating Main, Insert Your Name Here
===========================================================
*/
class Prob02{
static ProdConManager prodConManager =
new ProdConManager();
static boolean running = true;
public static void main(String[] args){
Thread producer = new Producer();
Thread consumer = new Consumer();
producer.start();
consumer.start();
//Delay two seconds to allow plenty of time for the
// two threads to complete their tasks.
try{ Thread.currentThread().sleep(2000);
}catch(InterruptedException e){};
System.out.println(
"Terminating Main, Jim Andrews");
//System.exit(0);
}//end main
}//end class Prob02
//---------------------------------------------------------
class Producer extends Thread {
public void run() {
int data = 0;
while (data < 5){//store values of 1 through 5
Prob02.prodConManager.putDataInStorage(++data);
try{//insert random delay in producer thread
Thread.currentThread().sleep(
(int)(Math.random()*100));
}catch(InterruptedException e){};
}//end while loop
Prob02.running = false; //terminating program
Prob02.prodConManager.notifyAnyWaitingThreads();
}//end run method
}//end class producer
//---------------------------------------------------------
class Consumer extends Thread {
public void run() {
while (Prob02.running)//fetch and display data
Prob02.prodConManager.getDataFromStorage();
}//end run method
}//end class consumer
//End problem specification
//---------------------------------------------------------
class ProdConManager {
int value;
boolean available;
ProdConManager(){
value = 0;
available = false;
}//end constructor
synchronized void putDataInStorage(int inData){
try{
while(available == true){
wait();
}//end while loop
}catch(InterruptedException E){
System.out.println("InterruptedException: " + E);
}//end catch block
value = inData;
available = true;
System.out.println("In putDataInStorage. Storing " + value);
notify();
}//end putDataInStorage
synchronized void getDataFromStorage(){
try{
while(available == false){
wait();
}//end while loop
}catch(InterruptedException E){
System.out.println("InterruptedException: " + E);
}//end catch block
System.out.println("In getDataFromStorage. Fetched " + value);
available = false;
notify();
}//end getDataFromStorage
synchronized void notifyAnyWaitingThreads(){
notify();
if(Prob02.running == false){
try{System.out.println(Thread.currentThread());
Thread.currentThread().sleep(2000);
}catch(InterruptedException e){};
System.exit(0);
}
}//end notifyAnyWaitingThreads()
}//end class ProdConManager
(Review ID: 97445)
======================================================================
Name: skT88420 Date: 11/08/99
Classic VM (build JDK-1.2.2-W, native threads, symcjit)
Text of error message:
"A nonfatal internal JIT (3.00.078(x)) error 'unknown wrapper intrinsic' has
occurred in: 'sun/rmi/transport/DGCClient$EndPointEntry.registerRefs
(Ljava/util/List;)Z': Interpreting method.
Please report this error in detail to http://java.sun.com/cgi-bin/bugreport.cgi
(Review ID: 97593)
======================================================================