4 Replies Latest reply: May 5, 2004 3:50 AM by seagull RSS

It works for root but no other user on Linux

seagull Newbie

This is a strange one.

My JBoss-3.2.2 successfully runs up using J2sdk1.4.2_04 and I can successfully access webpages - but only if JBoss was started as root.

If I run JBoss up as an 'ordinary' user I see the following error when trying to access a web page;

2004-04-30 09:47:23,292 INFO [org.jboss.web.localhost.Engine] Error compiling file: /home/weather/jboss-3.2.2/server/all/work/MainEngine/localhost/weather
Context/CurrentDataView_jsp.java [javac] Compiling 1 source file
[javac] Fatal: Unable to create signal thread (may be due to resource limit)

I guess it must be some sort of permissions problem but everything in the j2sdk1.4.2_04 and JBoss directory is owned by the 'ordinary' user.

Has anyone else seen this behaviour, and knows how to fix it?

Thanks.

  • 1. Re: It works for root but no other user on Linux
    Jon Barnett Master

    Are you sure the work/MainEngine/localhost directories are all rw by the normal user? These directories, the subdirectories for each context under localhost and the java source and classes derived from the JSPs must be able to be created and written by the "normal" user. So if you can't login as that user, go to the localhost subdirectory and create directories and files then the JBoss system with those user's permission won't be able to either.

    Hope that helps.

  • 2. Re: It works for root but no other user on Linux
    seagull Newbie

    Thanks for that. I checked all the JBoss directories for the normal user and they all look OK. (They've all got rw permissions)

    I tried bringing up the jmc console as the normal user and got the following error;

    org.apache.jasper.JasperException: Unable to compile class for JSP

    An error occurred at line: -1 in the jsp file: null

    Generated servlet error:
    [javac] Compiling 1 source file
    [javac] Error occurred during initialization of VM
    [javac] java.lang.OutOfMemoryError: unable to create new native thread

    This is odd, because it works for root. Its almost as the normal user has less memory to play with.

    I'll keep searching...

  • 3. Re: It works for root but no other user on Linux
    Jon Barnett Master

    OK. Missed it the first time around. You've got a processes/threads limitation. You probably have some definition in /etc/security/limits.conf that is hobbling your user account from creating too many processes. The settings in there can also hobble the memory - but the data you currently show indicates a thread creation problem (in Linux one thread equates to one process).

  • 4. Re: It works for root but no other user on Linux
    seagull Newbie

    You're a star!

    I increased the limit for the number of processes in the limits.conf file and, hey presto, it worked. I guessed there must be some limiting factor somewhere, but didn't know where.

    Many thanks for that.