commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Horacio de Oro <hora...@trimaxcba.com>
Subject [Daemon] File.mkdirs() don't work if started with jsvc
Date Fri, 16 Jul 2004 17:49:10 GMT
Hi again!

I was trying File.mkdirs() on Tomcat 5.0.25 on Debian Woody, and I can
say File.mkdirs() don't work if Tomcat is started with jsvc.

(I've to say that this happens ONLY on Debian Woody... Debian Sarge and
Debian Sid works ok).

I've made a simple servlet (since Tomcat can't compile JSP):

protected void doGet(HttpServletRequest request,
     HttpServletResponse response) throws ServletException,
     IOException {

     response.setContentType("text/html");
     PrintWriter out = response.getWriter();

     out.println("<html>");
     out.println("<head>");
     out.println("<title>Servlet</title>");
     out.println("</head>");

     try {

         String fileName = "/tmp/test/" +
                     System.currentTimeMillis() +
                     "/test/afile.txt";

         out.println("File name: " + fileName + "<br>");
         File file = new File(fileName);
         boolean ok = file.mkdirs();

         if(ok)
             out.println("OK<br>");
         else
             out.println("FAIL without exception!<br>");

     } catch(Exception e) {
         out.println("FAIL with exception!<br>");
         out.println("<pre>");

         StackTraceElement el[] = e.getStackTrace();
         out.println(e.getMessage());

         for(int i=0; i<el.length; i++) {
             out.print("    ");
             out.println(el[i].toString());
         }
         out.println("</pre>");
     }

     out.println("<body>");
     out.println("</body>");
     out.println("</html>");
     out.close();
}

If I start Tomcat with "startup.sh", I get:

============================================================
File name: /tmp/test/1089999282783/test/afile.txt
OK
============================================================

If I start Tomcat with "jsvc", I get:

============================================================
File name: /tmp/test/1089999639863/test/afile.txt
FAIL without exception!
============================================================

I'll post whis message on tomcat-user and commons-user, because maybe
this could be a jsvc related problem

Thanks in advance!

Horacio

FYI: # java -version
java version "1.4.2_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04)
Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode)

PS: here is my original post on tomcat-user:

Horacio de Oro wrote:
> Hi! What a subject!
> 
> I've trying to make work starting up Tomcat with jsvc.
> On Debian unstable, this works ok.
> On Debian stable (woody), I could startup Tomcat, but when I try to 
> access to a JSP file, I get the classic exception:
> 
> 2004-07-12 02:03:58 StandardWrapperValve[jsp]: Servlet.service() for 
> servlet jsp threw exception
> java.io.FileNotFoundException: 
> /home/horacio/tomcat-pruebas-startup/jakarta-tomcat-5.0.25/work/Catalina/localhost/prueba/org/apache/jsp/test_jsp.java

> 
>         at java.io.FileOutputStream.open(Native Method)
>         at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
>         at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
>         at 
> org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:188)
> 
> This isn't a permission problems, I've checked them a hundred times, 
> I've excecute 'chown -R USER.USER jakarta-tomcat-dir' many times too.
> 
> I've follow the instructions on Tomcat FAQ, and I've tryed
> http://jakarta.apache.org/tomcat/faq/misc.html#commonsLoggingLog4j
> http://marc.theaimsgroup.com/?l=tomcat-user&m=108330970225012&w=2
> http://marc.theaimsgroup.com/?l=tomcat-user&m=108578233003073&w=2
> 
> and couldn't make it work on Debian stable (woody).
> 
> I was looking at 'generateJava()' on file 
> org.apache.jasper.compiler.Compiler.java (line 188), this is what make 
> the exception:
> 
> try {
>   osw = new OutputStreamWriter(     // <- LINE 188
>    new FileOutputStream(javaFileName), javaEncoding);
> 
> } catch (UnsupportedEncodingException ex) {
> errDispatcher.jspError("jsp.error.needAlternateJavaEncoding",
>         javaEncoding);
> }
> 
> So, I make a little java program using FileOutputStream.
> 
>     public static void main(String[] args) throws Exception {
>         FileOutputStream fos = new 
> FileOutputStream("/tmp/dir/that/doesnt/exist/test.txt");
>         byte test[] = new byte[1024];
>         fos.write(test);
>         fos.close();
>     }
> 
> Since "/tmp/dir/that/doesnt/exist" doesn't existe, I get the exact same 
> exception:
> 
> java.io.FileNotFoundException:
>         at java.io.FileOutputStream.open(Native Method)
>         at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
>         at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
> 
> 
> 
> And then, I've tried to make the directories that Tomcat needs to make 
> the temporary .java, so I do:
> 
> mkdir -p 
> /home/horacio/tomcat-pruebas-startup/jakarta-tomcat-5.0.25/work/Catalina/localhost/prueba/org/apache/jsp

> 
> 
> and then, reloaded the page, and this work!!!!!
> 
> So, the only problem is that Tomcat doesn't make the proper directory 
> structure where it should put the generated .java...
> 
> So:
>  - If I run Tomcat from "startup.sh"       -> WORKS
>  - If I run Tomcat from "jsvc" on UNSTABLE -> WORKS
>  - If I run Tomcat from "jsvc" on STABLE   -> DOESN'T WORKS
> 
> ON DEBIAN UNSTABLE:
> java version "1.4.2_04"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
> Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)
> 
> ON DEBIAN STABLE:
> java version "1.4.2"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
> Java HotSpot(TM) Client VM (build 1.4.2-b28, mixed mode)
> 
> ALSO ON DEBIAN STABLE:
> java version "1.4.2_04"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
> Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)
> 
> Tomcat 5.0.25
> 
> Is this a bug?
> How can I make work Tomcat on Debian stable with jsvc?
> 
> Thanks in advance!
> 
> Horacio de Oro
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message