You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-user@db.apache.org by Paul DeCoursey <pa...@decoursey.net> on 2006/03/08 20:10:38 UTC

Issue creating db

I built a web application that is using an Embeded Derby DB.  It works
fine on my development and Test environments, Dev is a Mac OSX
workstation and test is a Windows XP workstation.  But when I install on
the production server, Linux of some sort, it fails. I get this error:

org.apache.jasper.JasperException: Failed to create database
'/home/commrcha/chan/db', see the next exception for details.
	at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)
	at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)
	at java.lang.Thread.run(Thread.java:534)


I don't have access to the logs to see if there was any more info than
that. Checking around in the mailing list I thought maybe it was a
similar issue to what the file sync thing that OSX had, which I've never
experienced on 10.3, but setting the fileSync property doesn't seem to
work. 

I also thought maybe it was file permissions, the owner of the files are
different than that user that tomcat is running as.  There is no was to
change that and still have the security and access I need. The
permissions on the specific directory that the db should be created in
are wide open, the server can write and read to it for other types of
files without issue. I'm not sure if it's having trouble writing
derby.log, I'm not sure even where that would write to on this server. 
It would not surprise me if that was not allowed because of permissions.
 Is there a way to set the location of that file? or just have it not
exist at all?  I couldn't find anything in the docs.

Any help would be great, I'm looking like quite an ass for my client
right now, and I don't feel I can tell them to find a different provider.

Paul


Re: Issue creating db

Posted by Bryan Pendleton <bp...@amberpoint.com>.
> I get this error:
> 
>     org.apache.jasper.JasperException: Failed to create database
>     '/home/commrcha/chan/db', see the next exception for details.

Often, when you get an error that says 'see the next exception for details',
you need to call "getNextException()" or "getCause()" or something like
that, because multiple exceptions have been 'wrapped' together.

I see that JasperException extends ServletException, so I believe that
in this case it is "getRootCause()" that you need to call.

So something like:

   catch (ServletException se)
   {
	se.printStackTrace();
	if (se.getRootCause() != null)
		se.getRootCause().printStackTrace();
   }

should give you considerably more information.

thanks,

bryan



Re: Issue creating db

Posted by Myrna van Lunteren <m....@gmail.com>.
Hi Paul,

I have no simple answer for you, just things/questions to try to figure what
the problem is...
- Did you use the same version of the server?
- Can you look at the system and e.g. do a find for derby.log to see if it
got created?
- Did you install the server from scratch or are you merely 'injecting'
(that's not a technical term) your web ap into an existing server?
- You should be able to configure the web.xml to start your app with a -
Dderby.system.home= , I think. You might be able to try it out in your test
env.
- You really want to see more logs...Can you bounce the server? If so, see
if there is a -verbose parameter...

hth....

Myrna

On 3/8/06, Paul DeCoursey <paul@decoursey.net > wrote:
>
> I built a web application that is using an Embeded Derby DB.  It works
> fine on my development and Test environments, Dev is a Mac OSX
> workstation and test is a Windows XP workstation.  But when I install on
> the production server, Linux of some sort, it fails. I get this error:
>
> org.apache.jasper.JasperException: Failed to create database
> '/home/commrcha/chan/db', see the next exception for details.
>        at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java
> :254)
>        at org.apache.jasper.servlet.JspServlet.serviceJspFile (
> JspServlet.java:295)
>        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java
> :241)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (
> ApplicationFilterChain.java:247)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:193)
>        at
> org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java :256)
>        at
>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext
> (StandardPipeline.java:643)
>        at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>
>        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java
> :995)
>        at
> org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:191)
>        at
>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(
> StandardPipeline.java:643)
>        at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java
> :480)
>        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java
> :995)
>        at
> org.apache.catalina.core.StandardContext.invoke (StandardContext.java
> :2422)
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
> :180)
>        at
>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(
> StandardPipeline.java :643)
>        at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(
> ErrorDispatcherValve.java:171)
>        at
>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(
> StandardPipeline.java :641)
>        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
> :163)
>        at
>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(
> StandardPipeline.java:641)
>        at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java
> :480)
>        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java
> :995)
>        at
> org.apache.catalina.core.StandardEngineValve.invoke (
> StandardEngineValve.java:174)
>        at
>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext
> (StandardPipeline.java:643)
>        at
> org.apache.catalina.core.StandardPipeline.invoke ( StandardPipeline.java
> :480)
>        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java
> :995)
>        at org.apache.ajp.tomcat4.Ajp13Processor.process(
> Ajp13Processor.java :457)
>        at org.apache.ajp.tomcat4.Ajp13Processor.run (Ajp13Processor.java
> :576)
>        at java.lang.Thread.run(Thread.java:534)
>
>
> I don't have access to the logs to see if there was any more info than
> that. Checking around in the mailing list I thought maybe it was a
> similar issue to what the file sync thing that OSX had, which I've never
> experienced on 10.3, but setting the fileSync property doesn't seem to
> work.
>
> I also thought maybe it was file permissions, the owner of the files are
> different than that user that tomcat is running as.  There is no was to
> change that and still have the security and access I need. The
> permissions on the specific directory that the db should be created in
> are wide open, the server can write and read to it for other types of
> files without issue. I'm not sure if it's having trouble writing
> derby.log , I'm not sure even where that would write to on this server.
> It would not surprise me if that was not allowed because of permissions.
> Is there a way to set the location of that file? or just have it not
> exist at all?  I couldn't find anything in the docs.
>
> Any help would be great, I'm looking like quite an ass for my client
> right now, and I don't feel I can tell them to find a different provider.
>
> Paul
>
>