ERROR - Failed to Boot
java.lang.NullPointerException: Looking for Connection Identifier
ConnectionIdentifier(lift) but failed to find either a JNDI data source
with the name lift or a lift connection manager with the correct name
at net.liftweb.mapper.DB$$anonfun$3$$anonfun$apply$7.apply(DB.scala:95)
at net.liftweb.mapper.DB$$anonfun$3$$anonfun$apply$7.apply(DB.scala:95)
at net.liftweb.util.EmptyBox.openOr(Box.scala:372)
at net.liftweb.mapper.DB$$anonfun$3.apply(DB.scala:95)
at net.liftweb.mapper.DB$$anonfun$3.apply(DB.scala:95)
at net.liftweb.util.EmptyBox.openOr(Box.scala:372)
at net.liftweb.mapper.DB$.newConnection(DB.scala:89)
at net.liftweb.mapper.DB$.getConnection(DB.scala:136)
at net.liftweb.mapper.DB$.use(DB.scala:315)
at net.liftweb.mapper.Schemifier$.schemify(Schemifier.scala:53)
at net.liftweb.mapper.Schemifier$.schemify(Schemifier.scala:36)
at bootstrap.liftweb.Boot.boot(Boot.scala:24)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:408)
at
net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:406)
at
net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1041)
at
net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1041)
at net.liftweb.util.Full.map(Box.scala:330)
at net.liftweb.http.DefaultBootstrap$.boot(LiftRules.scala:1041)
at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:561)
at net.liftweb.http.LiftFilter.init(LiftServlet.scala:529)
at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:653)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1239)
at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:466)
at
org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:124)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.plugin.AbstractJettyRunMojo.restartWebApp(AbstractJettyRunMojo.java:446)
at
org.mortbay.jetty.plugin.AbstractJettyRunMojo$1.filesChanged(AbstractJettyRunMojo.java:407)
at org.mortbay.util.Scanner.reportBulkChanges(Scanner.java:486)
at org.mortbay.util.Scanner.reportDifferences(Scanner.java:352)
at org.mortbay.util.Scanner.scan(Scanner.java:280)
at org.mortbay.util.Scanner$1.run(Scanner.java:232)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
[INFO] Restart completed at Wed Jun 24 08:43:27 CDT 2009
Also, not sure how I missed this question, but I don't think SBT is
undeploying the app before redeploying. Should it be? Maybe this is an
SBT rather than a Lift issue?
Here is a partial transcript of an SBT session, not sure if these are
the same errors. It involves me making a code change, at which point
~prepare-webapp picks it up and redeploys. I then get an error, try
stopping and relaunching Jetty and get another. Also, after that point,
I can't access the web app unless I completely restart SBT. Sorry for
the ANSI escape sequences in this.
If this is an SBT issue then I'll gladly take it to that list. Thanks
for looking into this!
ERROR - Failed to Boot
java.lang.IllegalStateException: Cannot modify after boot.
at net.liftweb.http.RulesSeq$class.safe_$qmark(LiftRules.scala:1056)
at net.liftweb.http.RulesSeq$class.prepend(LiftRules.scala:1063)
at net.liftweb.http.RulesSeq$$anon$5.prepend(LiftRules.scala:1043)
at net.liftweb.http.LiftFilter.preBoot(LiftServlet.scala:564)
at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:555)
at net.liftweb.http.LiftFilter.init(LiftServlet.scala:530)
at
org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:620)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1234)
at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:460)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
sbt.LazyJettyRun$$anonfun$sbt$LazyJettyRun$$reload$6.apply(WebApp.scala:198)
at
sbt.LazyJettyRun$$anonfun$sbt$LazyJettyRun$$reload$6.apply(WebApp.scala:198)
at scala.List.foreach(List.scala:841)
at sbt.LazyJettyRun$.sbt$LazyJettyRun$$reload(WebApp.scala:198)
at sbt.LazyJettyRun$$anon$1.filesChanged(WebApp.scala:124)
at org.mortbay.util.Scanner.reportBulkChanges(Scanner.java:486)
at org.mortbay.util.Scanner.reportDifferences(Scanner.java:352)
at org.mortbay.util.Scanner.scan(Scanner.java:280)
at org.mortbay.util.Scanner$1.run(Scanner.java:232)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
[0m[ [0minfo [0m] [0mReload complete. [0m
[0m[ [0minfo [0m] [0mCompilation successful. [0m
[0m[ [0minfo [0m] [0m Post-analysis: 17 classes. [0m
[0m[ [0minfo [0m] [34m== compile == [0m
[0m[ [0minfo [0m] [34m [0m
[0m[ [0minfo [0m] [34m== prepare-webapp == [0m
[0m[ [0minfo [0m] [34m== prepare-webapp == [0m
[0m[ [32msuccess [0m] [0mSuccessful. [0m
[0m[ [0minfo [0m] [0m [0m
[0m[ [0minfo [0m] [0mTotal time: 10 s [0m
Waiting for source changes... (press any key to interrupt)
[0m[ [0minfo [0m] [0mReloading web application... [0m
[0m[ [0minfo [0m] [0mNO JSP Support for /, did not find
org.apache.jasper.servlet.JspServlet [0m
ERROR - Failed to Boot
java.lang.IllegalStateException: Cannot modify after boot.
at net.liftweb.http.RulesSeq$class.safe_$qmark(LiftRules.scala:1056)
at net.liftweb.http.RulesSeq$class.prepend(LiftRules.scala:1063)
at net.liftweb.http.RulesSeq$$anon$5.prepend(LiftRules.scala:1043)
at net.liftweb.http.LiftFilter.preBoot(LiftServlet.scala:564)
at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:555)
at net.liftweb.http.LiftFilter.init(LiftServlet.scala:530)
at
org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:620)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1234)
at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:460)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
sbt.LazyJettyRun$$anonfun$sbt$LazyJettyRun$$reload$6.apply(WebApp.scala:198)
at
sbt.LazyJettyRun$$anonfun$sbt$LazyJettyRun$$reload$6.apply(WebApp.scala:198)
at scala.List.foreach(List.scala:841)
at sbt.LazyJettyRun$.sbt$LazyJettyRun$$reload(WebApp.scala:198)
at sbt.LazyJettyRun$$anon$1.filesChanged(WebApp.scala:124)
at org.mortbay.util.Scanner.reportBulkChanges(Scanner.java:486)
at org.mortbay.util.Scanner.reportDifferences(Scanner.java:352)
at org.mortbay.util.Scanner.scan(Scanner.java:280)
at org.mortbay.util.Scanner$1.run(Scanner.java:232)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
[0m[ [0minfo [0m] [0mReload complete. [0m
> jetty-stop
[0m[ [0minfo [0m] [34m [0m
[0m[ [0minfo [0m] [34m== jetty-stop == [0m
[0m[ [0minfo [0m] [34m== jetty-stop == [0m
[0m[ [32msuccess [0m] [0mSuccessful. [0m
[0m[ [0minfo [0m] [0m [0m
[0m[ [0minfo [0m] [0mTotal time: 0 s [0m
> jetty-run
[0m[ [0minfo [0m] [34m [0m
[0m[ [0minfo [0m] [34m== compile == [0m
[0m[ [0minfo [0m] [0m Source analysis: 0 new/modified, 0 indirectly
invalidated, 0 removed. [0m
[0m[ [0minfo [0m] [0mCompiling main sources... [0m
[0m[ [0minfo [0m] [0mNothing to compile. [0m
[0m[ [0minfo [0m] [0m Post-analysis: 17 classes. [0m
[0m[ [0minfo [0m] [34m== compile == [0m
[0m[ [0minfo [0m] [34m [0m
[0m[ [0minfo [0m] [34m== prepare-webapp == [0m
[0m[ [0minfo [0m] [34m== prepare-webapp == [0m
[0m[ [0minfo [0m] [34m [0m
[0m[ [0minfo [0m] [34m== jetty-run == [0m
2009-07-30 08:49:12.337::INFO: Logging to STDERR via
org.mortbay.log.StdErrLog
[0m[ [0minfo [0m] [0mjetty-6.1.14 [0m
[0m[ [0minfo [0m] [0mNO JSP Support for /, did not find
org.apache.jasper.servlet.JspServlet [0m
java.sql.SQLException: Failed to start database 'lift_example', see the
next exception for details.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown
Source)
at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at bootstrap.liftweb.DBVendor$.createOne(Boot.scala:79)
at bootstrap.liftweb.DBVendor$.newConnection(Boot.scala:91)
at net.liftweb.mapper.DB$$anonfun$2.apply(DB.scala:89)
at net.liftweb.mapper.DB$$anonfun$2.apply(DB.scala:89)
at net.liftweb.util.Full.flatMap(Box.scala:332)
at net.liftweb.mapper.DB$.newConnection(DB.scala:89)
at net.liftweb.mapper.DB$.getConnection(DB.scala:136)
at net.liftweb.mapper.DB$.use(DB.scala:315)
at net.liftweb.mapper.Schemifier$.schemify(Schemifier.scala:53)
at net.liftweb.mapper.Schemifier$.schemify(Schemifier.scala:36)
at bootstrap.liftweb.Boot.boot(Boot.scala:24)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:408)
at
net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:406)
at
net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1096)
at
net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1096)
at net.liftweb.util.Full.map(Box.scala:330)
at net.liftweb.http.DefaultBootstrap$.boot(LiftRules.scala:1096)
at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:556)
at net.liftweb.http.LiftFilter.init(LiftServlet.scala:530)
at
org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:620)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1234)
at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:460)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:222)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at sbt.LazyJettyRun$.apply(WebApp.scala:159)
at sbt.JettyRun$.runJetty$1(WebApp.scala:46)
at sbt.JettyRun$.liftedTree1$1(WebApp.scala:55)
at sbt.JettyRun$.run(WebApp.scala:53)
at sbt.JettyRun$.apply(WebApp.scala:34)
at
sbt.WebScalaProject$$anonfun$jettyRunTask$1.apply(ScalaProject.scala:327)
at
sbt.WebScalaProject$$anonfun$jettyRunTask$1.apply(ScalaProject.scala:327)
at sbt.TaskManager$Task.invoke(TaskManager.scala:62)
at sbt.impl.RunTask.runTask(RunTask.scala:78)
at sbt.impl.RunTask.run(RunTask.scala:31)
at sbt.impl.RunTask$.apply(RunTask.scala:16)
at sbt.impl.RunTask$.apply(RunTask.scala:15)
at sbt.Project$class.run(Project.scala:98)
at sbt.Project$class.act(Project.scala:129)
at sbt.BasicScalaProject.act(DefaultProject.scala:19)
at sbt.Main$$anonfun$11.apply(Main.scala:375)
at sbt.Main$$anonfun$11.apply(Main.scala:375)
at sbt.Main$.withAction(Main.scala:407)
at sbt.Main$.sbt$Main$$handleAction(Main.scala:375)
at sbt.Main$.handleInteractiveCommand(Main.scala:364)
at sbt.Main$.loop$1(Main.scala:266)
at sbt.Main$.interactive(Main.scala:274)
at sbt.Main$.startProject(Main.scala:102)
at sbt.Main$.run(Main.scala:76)
at sbt.Main.run(Main.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sbt.boot.Boot$.run(Boot.scala:93)
at sbt.boot.Boot$.load(Boot.scala:80)
at sbt.boot.Boot$.boot(Boot.scala:53)
at sbt.boot.Boot$.main(Boot.scala:31)
at sbt.boot.Boot.main(Boot.scala)
Caused by: java.sql.SQLException: Failed to start database
'lift_example', see the next exception for details.
at
org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown
Source)
... 82 more
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply(ClassHelpers.scala:406)
at
net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1096)
at
net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply(LiftRules.scala:1096)
at net.liftweb.util.Full.map(Box.scala:330)
at net.liftweb.http.DefaultBootstrap$.boot(LiftRules.scala:1096)
at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:556)
at net.liftweb.http.LiftFilter.init(LiftServlet.scala:530)
at
org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:620)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1234)
at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:460)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:222)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at sbt.LazyJettyRun$.apply(WebApp.scala:159)
at sbt.JettyRun$.runJetty$1(WebApp.scala:46)
at sbt.JettyRun$.liftedTree1$1(WebApp.scala:55)
at sbt.JettyRun$.run(WebApp.scala:53)
at sbt.JettyRun$.apply(WebApp.scala:34)
at
sbt.WebScalaProject$$anonfun$jettyRunTask$1.apply(ScalaProject.scala:327)
at
sbt.WebScalaProject$$anonfun$jettyRunTask$1.apply(ScalaProject.scala:327)
at sbt.TaskManager$Task.invoke(TaskManager.scala:62)
at sbt.impl.RunTask.runTask(RunTask.scala:78)
at sbt.impl.RunTask.run(RunTask.scala:31)
at sbt.impl.RunTask$.apply(RunTask.scala:16)
at sbt.impl.RunTask$.apply(RunTask.scala:15)
at sbt.Project$class.run(Project.scala:98)
at sbt.Project$class.act(Project.scala:129)
at sbt.BasicScalaProject.act(DefaultProject.scala:19)
at sbt.Main$$anonfun$11.apply(Main.scala:375)
at sbt.Main$$anonfun$11.apply(Main.scala:375)
at sbt.Main$.withAction(Main.scala:407)
at sbt.Main$.sbt$Main$$handleAction(Main.scala:375)
at sbt.Main$.handleInteractiveCommand(Main.scala:364)
at sbt.Main$.loop$1(Main.scala:266)
at sbt.Main$.interactive(Main.scala:274)
at sbt.Main$.startProject(Main.scala:102)
at sbt.Main$.run(Main.scala:76)
at sbt.Main.run(Main.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sbt.boot.Boot$.run(Boot.scala:93)
at sbt.boot.Boot$.load(Boot.scala:80)
at sbt.boot.Boot$.boot(Boot.scala:53)
at sbt.boot.Boot$.main(Boot.scala:31)
at sbt.boot.Boot.main(Boot.scala)
[0m[ [0minfo [0m] [0mStarted SelectChann...@0.0.0.0:8080 [0m
[0m[ [0minfo [0m] [34m== jetty-run == [0m
[0m[ [32msuccess [0m] [0mSuccessful. [0m
[0m[ [0minfo [0m] [0m [0m
[0m[ [0minfo [0m] [0mTotal time: 8 s [0m
On 06/24/2009 12:49 PM, Naftoli Gugenhem wrote:
> I had the same problem a while ago. I'm not sure if I fixed it then, but I think it had to do with the db still being open possibly. When the code changes does the servlet get undeployed?
> You might need to run derby in server mode.
> Lately I've been launching jetty without maven, and to get it to reload eclipse calls an ant script that touches the context.xml. I'm using h2 in tcp mode.
> Another option is JavaRebel which often obviates the need to redeploy.
> Sorry I can't help you better--I'm interested in any more information there is about this too.
>
> -------------------------------------
> David Pollak<feeder.of...@gmail.com> wrote:
>
> I won't have a chance to look at it until next week, but maybe somebody else
> could step in here and help.
>
> On Wed, Jun 24, 2009 at 7:16 AM, Nolan Darilek<no...@thewordnerd.info>wrote:
>
>
>> On 06/24/2009 08:54 AM, David Pollak wrote:
>>
>>> Are you using JNDI or your own connection manager to connect to the
>>>
>> RDBMS?
>>
>>>
>> I'm new to this, but I'm guessing the latter. In any case, I haven't
>> touched whatever values the snapshot sets up in Boot.scala, nor have I
>> set any properties, so it's stock Derby.
>>
>>
>>>
>>
>
>
--
Nolan Darilek
http://thewordnerd.info