You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Thad Humphries <th...@mindwrap.com> on 2001/08/20 20:56:04 UTC

Tomcat 3.2.2 stalls on Solaris

We have an application that was built on Tomcat 3.2.3, Apache 1.3.20, and 
RedHat Linux 6.2 and 7.1.  It has also been tested on WinNT with IIS 4.0 
and Tomcat 3.2.3 and JRun 3.1.  It runs fine in these environments (all 
with JDK 1.3.1).

My problem is with Solaris with Tomcat.  I've installed JDK 1.3.1 on 
Solaris 2.7 along with Apache 1.3.20 and Tomcat 3.2.3.  About the 3 time I 
access the application, it stalls trying to create a Timer in an object 
that we maintain in our session (the Timer tells the session object to 
periodically clean out things we keep cached in memory).

The session code creation looks like this:

   public OasSession (
     OAS   pOas )
   {
     oas = pOas;

     timer = new Timer ( 60*1000, new ActionListener ()
     {
       public void actionPerformed (
         ActionEvent pEvent )
       {
         OasSession.this.purgeCheck();
       }
     } );

     timer.start();
   }

If I comment out the timer code (leaving only the 'oas = pOAS;' it all runs 
fine.  Leave it in, and Tomcat just spins--this method never exits.

Interestingly, the application runs fine (without commenting out the code 
above) on the same Sparc box under with WebLogic 6.0 (SP2) and the JDK 
1.3.0 from BEA.

Any ideas?  Is there a problem with threads on the Solaris' 1.3.1 JVM?
-------------------------------------------------------------------------
Thad Humphries               "...no religious test shall ever be required
Web Development Manager       as a qualification to any office or public
Phone: 540/675-3015, x225     trust under the United States." -Article VI 


bean creation race conditions?

Posted by Thad Humphries <th...@mindwrap.com>.
As I mentioned yesterday, I have an application that stalls on Solaris 2.7 
(properly patched) along with Apache 1.3.20, Tomcat 3.2.3, mod_jk, and JDK 
1.3.1.  It runs fine on Linux with Tomcat.

The application starts with an index.jsp file that requests a bean with 
<jsp:useBean>.  The index.jsp then loads two frames, both of which use the 
same bean.

I assumed that the index.jsp would create the bean before it loaded the 
other pages and this seems to be the case on Linux.  But could this be 
creating a race condition on Solaris that causes it to stall from time to 
time?  Do I need to relook these pages to see if there is a way around this?
-------------------------------------------------------------------------
Thad Humphries               "...no religious test shall ever be required
Web Development Manager       as a qualification to any office or public
Phone: 540/675-3015, x225     trust under the United States." -Article VI 


Re: Tomcat 3.2.2 stalls on Solaris

Posted by Thad Humphries <th...@mindwrap.com>.
Yes.  I installed all the patches.  Just now double checking myself, I see 
two libthread patches for 2.7:  106980-13 and 106541-12 or later and I have 
-16 of each.

At 16:30 8/20/2001 -0400, you wrote:
>Did you apply Solaris patches before installing JDK 1.3.1 ?
>There are several Solaris patches to fix threading problems.
>Check the patches tar file which comes with 1.3.1 and then list
>installed patches, and see if you are up to date...
>
>Jan
>
>P.S., Of course it can me a zillion other things...
>
>
>On Mon, 20 Aug 2001, Thad Humphries wrote:
>
> > We have an application that was built on Tomcat 3.2.3, Apache 1.3.20, and
> > RedHat Linux 6.2 and 7.1.  It has also been tested on WinNT with IIS 4.0
> > and Tomcat 3.2.3 and JRun 3.1.  It runs fine in these environments (all
> > with JDK 1.3.1).
> >
> > My problem is with Solaris with Tomcat.  I've installed JDK 1.3.1 on
> > Solaris 2.7 along with Apache 1.3.20 and Tomcat 3.2.3.  About the 3 time I
> > access the application, it stalls trying to create a Timer in an object
> > that we maintain in our session (the Timer tells the session object to
> > periodically clean out things we keep cached in memory).
> >
> > The session code creation looks like this:
> >
> >    public OasSession (
> >      OAS   pOas )
> >    {
> >      oas = pOas;
> >
> >      timer = new Timer ( 60*1000, new ActionListener ()
> >      {
> >        public void actionPerformed (
> >          ActionEvent pEvent )
> >        {
> >          OasSession.this.purgeCheck();
> >        }
> >      } );
> >
> >      timer.start();
> >    }
> >
> > If I comment out the timer code (leaving only the 'oas = pOAS;' it all 
> runs
> > fine.  Leave it in, and Tomcat just spins--this method never exits.
> >
> > Interestingly, the application runs fine (without commenting out the code
> > above) on the same Sparc box under with WebLogic 6.0 (SP2) and the JDK
> > 1.3.0 from BEA.
> >
> > Any ideas?  Is there a problem with threads on the Solaris' 1.3.1 JVM?
> > -------------------------------------------------------------------------
> > Thad Humphries               "...no religious test shall ever be required
> > Web Development Manager       as a qualification to any office or public
> > Phone: 540/675-3015, x225     trust under the United States." -Article VI
> >
>
>Jan K. Labanowski            |    phone: 614-292-9279,  FAX: 614-292-7168
>Ohio Supercomputer Center    |    Internet: jkl@osc.edu
>1224 Kinnear Rd,             |    http://www.ccl.net/chemistry.html
>Columbus, OH 43212-1163      |    http://www.osc.edu/

-------------------------------------------------------------------------
Thad Humphries               "...no religious test shall ever be required
Web Development Manager       as a qualification to any office or public
Phone: 540/675-3015, x225     trust under the United States." -Article VI 


Re: Tomcat 3.2.2 stalls on Solaris

Posted by Jan Labanowski <jk...@osc.edu>.
Did you apply Solaris patches before installing JDK 1.3.1 ?
There are several Solaris patches to fix threading problems.
Check the patches tar file which comes with 1.3.1 and then list
installed patches, and see if you are up to date...

Jan

P.S., Of course it can me a zillion other things... 


On Mon, 20 Aug 2001, Thad Humphries wrote:

> We have an application that was built on Tomcat 3.2.3, Apache 1.3.20, and 
> RedHat Linux 6.2 and 7.1.  It has also been tested on WinNT with IIS 4.0 
> and Tomcat 3.2.3 and JRun 3.1.  It runs fine in these environments (all 
> with JDK 1.3.1).
> 
> My problem is with Solaris with Tomcat.  I've installed JDK 1.3.1 on 
> Solaris 2.7 along with Apache 1.3.20 and Tomcat 3.2.3.  About the 3 time I 
> access the application, it stalls trying to create a Timer in an object 
> that we maintain in our session (the Timer tells the session object to 
> periodically clean out things we keep cached in memory).
> 
> The session code creation looks like this:
> 
>    public OasSession (
>      OAS   pOas )
>    {
>      oas = pOas;
> 
>      timer = new Timer ( 60*1000, new ActionListener ()
>      {
>        public void actionPerformed (
>          ActionEvent pEvent )
>        {
>          OasSession.this.purgeCheck();
>        }
>      } );
> 
>      timer.start();
>    }
> 
> If I comment out the timer code (leaving only the 'oas = pOAS;' it all runs 
> fine.  Leave it in, and Tomcat just spins--this method never exits.
> 
> Interestingly, the application runs fine (without commenting out the code 
> above) on the same Sparc box under with WebLogic 6.0 (SP2) and the JDK 
> 1.3.0 from BEA.
> 
> Any ideas?  Is there a problem with threads on the Solaris' 1.3.1 JVM?
> -------------------------------------------------------------------------
> Thad Humphries               "...no religious test shall ever be required
> Web Development Manager       as a qualification to any office or public
> Phone: 540/675-3015, x225     trust under the United States." -Article VI 
> 

Jan K. Labanowski            |    phone: 614-292-9279,  FAX: 614-292-7168
Ohio Supercomputer Center    |    Internet: jkl@osc.edu 
1224 Kinnear Rd,             |    http://www.ccl.net/chemistry.html
Columbus, OH 43212-1163      |    http://www.osc.edu/