More info..
One thing in common for all the code where it is crashing is that it belongs
to Object which follows singleton model i.e. they are static Objects. I do
not know it has something to do with it, but FYI.
Sample code..
*************
public class BoUserImpl extends Object
implements BoTicket
{
protected Hashtable cachedUser = new Hashtable(100) ;
protected Hashtable cachedUserSolutions = new Hashtable(100) ;
protected static BoUser theInstance = null;
public static BoUser getBoUserInstance()
{
if (theInstance == null)
{
theInstance = new BoUserImpl();
}
return theInstance;
}
....
}
***********
As I said in my earlier email, JRUN 2.3.3 which uses JDK 1.2-V crashes when
two thread tries to access cachedUser.put() which is sychronized call.
Thanks,
Hello,
We have been developing JSP/servlet based internet App for last One year.
Things are fine till now and start of season the Application is in
Production ON TIME. But as nearly 40 Users are constantly using the web
application, we are running into problems.
What is the problem ?
Dr. Watson which leads to Crashing of JRUN at least Twice a day. Too
embracing !!!. We are using JRUN 2.3.3 on a NT 4.0 with Service Pack 6.0.
Here is What Dr Watson log says
**********************************
Application exception occurred:
App: javaw.exe (pid=391)
When: 1/12/2000 @ 14:53:34.385
Exception number: c0000005 (access violation)
.....
function: NtWaitForSingleObject
77f682d0 b8c5000000 mov eax,0xc5
77f682d5 8d542404 lea edx,[esp+0x4]
ss:0640e91f=????????
77f682d9 cd2e int 2e
77f682db c20c00 ret 0xc
77f682de 8bc0 mov eax,eax
********************************
NtWaitForSingleObject is a Windows API function used for Thread Sync.
I started tracing the Log and reach to a conclusion (Which may be wrong )
that where ever two threads calling a function have *synchronized* in
definition leads to crash. This is true for Hashtable function such as
*put(Object )* which is also *synchronized*.
This one of the code where the system crashes
*****
public static synchronized DbManager getInstance()
{
if (instance == null)
{
instance = new DbManager();
}
this.clients++;
return instance;
}
******
Does any one knows anything about such problem. Any help will be
appreciated.
Thanks,
Uday Bhosle
Manager Products division
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html