Looks like Hudson was up again, so I pulled in the latest snapshot from scala-tools and added the log level statement. It didn't seem to matter much though:
INFO - Service request (GET) / took 35 Milliseconds Listener added INFO - Service request (GET) /details.html took 162 Milliseconds INFO - Service request (GET) /ajax_request/liftAjax.js took 1 Milliseconds INFO - Service request (GET) /comet_request/5gbp8rg1wko7/cometAjax.js took 6 Milliseconds TRACE - About to suspend continuation ERROR - The ActorWatcher restarted org.developerworks.comet.auctionac...@12cdd20 because scala.MatchError: None scala.MatchError: None at net.liftweb.mapper.DB$.releaseConnectionNamed(DB.scala:127) at net.liftweb.mapper.DB$.use(DB.scala:283) at net.liftweb.mapper.DB$$anon$1.net$liftweb$mapper$DB$$anon$ $doWith(DB.scala:109) at net.liftweb.mapper.DB$$anon$1.apply(DB.scala:112) at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala: 368) at net.liftweb.http.S$$anonfun$net$liftweb$http$S$ $_nest2InnerInit$1.apply(S.scala:446) at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) at net.liftweb.http.S$.net$liftweb$http$S$$_nest2InnerInit (S.scala:445) at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit $1$$anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19$$anonfun$apply $20$$anonfun$apply$21.apply(S.scala:465) at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit $1$$anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19$$anonfun$apply $20.apply(S.scala:464) at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit $1$$anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19.apply(S.scala: 463) at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit $1$$anonfun$apply$17$$anonfun$apply$18.apply(S.scala:462) at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit $1$$anonfun$apply$17.apply(S.scala:461) at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit $1.apply(S.scala:460) at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) at net.liftweb.http.S$.net$liftweb$http$S$$_innerInit(S.scala: 459) at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24$ $anonfun$apply$25$$anonfun$apply$26$$anonfun$apply$27.apply(S.scala: 489) at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24$ $anonfun$apply$25$$anonfun$apply$26.apply(S.scala:488) at net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun $apply$4$$anonfun$apply$5.apply(Vars.scala:150) at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) at net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun $apply$4.apply(Vars.scala:149) at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) at net.liftweb.http.RequestVarHandler$$anonfun$apply$3.apply (Vars.scala:148) at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) at net.liftweb.http.RequestVarHandler$.apply(Vars.scala:147) at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24$ $anonfun$apply$25.apply(S.scala:486) at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24.apply (S.scala:485) at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) at net.liftweb.http.S$$anonfun$_init$1.apply(S.scala:484) at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) at net.liftweb.http.S$._init(S.scala:483) at net.liftweb.http.S$.init(S.scala:329) at net.liftweb.http.S$.initIfUninitted(S.scala:597) at net.liftweb.http.CometActor$$anon$1.apply(CometActor.scala: 163) at net.liftweb.http.CometActor$$anon$1.apply(CometActor.scala: 161) at scala.actors.Reaction.run(Reaction.scala:78) at scala.actors.FJTask$Wrap.run(Unknown Source) at scala.actors.FJTaskRunner.scanWhileIdling(Unknown Source) at scala.actors.FJTaskRunner.run(Unknown Source) Other <function> INFO - Service request (POST) /ajax_request took 83 Milliseconds TRACE - About to suspend continuation Other <function> TRACE - About to suspend continuation On Dec 13, 9:45 am, "David Pollak" <feeder.of.the.be...@gmail.com> wrote: > Michael, > I'm not sure what's going on. I just added some extra debugging statements > to the acquisition/release of DB connections. > > Please wait until the new version of Lift is in Hudson (or pull and build > locally... well looks like Hudson's down again... so you'll have to build > locally:http://scala-tools.org/hudson/job/lift/). Then put this in Boot: > > Log.level = LiftLogLevels.Trace > > The creation and release of DB connections should be logged and we can see > why a connection is being released that's already been released. > > Thanks, > > David > > > > On Sat, Dec 13, 2008 at 8:07 AM, Michael <mike...@gmail.com> wrote: > > > I'm using a 0.10 snapshot. Here is the full stack trace: > > > ERROR - The ActorWatcher restarted > > org.developerworks.comet.auctionac...@7303e3 because scala.MatchError: > > None > > scala.MatchError: None > > at net.liftweb.mapper.DB$.releaseConnectionNamed(DB.scala:127) > > at net.liftweb.mapper.DB$.use(DB.scala:283) > > at net.liftweb.mapper.DB$$anon$1.net$liftweb$mapper$DB$$anon$ > > $doWith(DB.scala:109) > > at net.liftweb.mapper.DB$$anon$1.apply(DB.scala:112) > > at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala: > > 368) > > at net.liftweb.http.S$$anonfun$net$liftweb$http$S$ > > $_nest2InnerInit$1.apply(S.scala:446) > > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) > > at net.liftweb.http.S$.net$liftweb$http$S$$_nest2InnerInit > > (S.scala:445) > > at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit > > $1$$anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19$$anonfun$apply > > $20$$anonfun$apply$21.apply(S.scala:465) > > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) > > at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit > > $1$$anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19$$anonfun$apply > > $20.apply(S.scala:464) > > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) > > at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit > > $1$$anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19.apply(S.scala: > > 463) > > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) > > at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit > > $1$$anonfun$apply$17$$anonfun$apply$18.apply(S.scala:462) > > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) > > at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit > > $1$$anonfun$apply$17.apply(S.scala:461) > > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) > > at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit > > $1.apply(S.scala:460) > > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) > > at net.liftweb.http.S$.net$liftweb$http$S$$_innerInit(S.scala: > > 459) > > at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24$ > > $anonfun$apply$25$$anonfun$apply$26$$anonfun$apply$27.apply(S.scala: > > 489) > > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) > > at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24$ > > $anonfun$apply$25$$anonfun$apply$26.apply(S.scala:488) > > at net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun > > $apply$4$$anonfun$apply$5.apply(Vars.scala:150) > > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) > > at net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun > > $apply$4.apply(Vars.scala:149) > > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) > > at net.liftweb.http.RequestVarHandler$$anonfun$apply$3.apply > > (Vars.scala:148) > > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) > > at net.liftweb.http.RequestVarHandler$.apply(Vars.scala:147) > > at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24$ > > $anonfun$apply$25.apply(S.scala:486) > > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) > > at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24.apply > > (S.scala:485) > > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) > > at net.liftweb.http.S$$anonfun$_init$1.apply(S.scala:484) > > at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:31) > > at net.liftweb.http.S$._init(S.scala:483) > > at net.liftweb.http.S$.init(S.scala:329) > > at net.liftweb.http.S$.initIfUninitted(S.scala:597) > > at net.liftweb.http.CometActor$$anon$1.apply(CometActor.scala: > > 163) > > at net.liftweb.http.CometActor$$anon$1.apply(CometActor.scala: > > 161) > > at scala.actors.Reaction.run(Reaction.scala:78) > > at scala.actors.Scheduler$$anon$2.run(Scheduler.scala:77) > > at scala.actors.FJTaskRunner.run(Unknown Source) > > > I put all of the code on Google Code:http://code.google.com/p/auctionnet/ > > . It is a sample application I am writing for a developerWorks > > tutorial on using Lift and Comet. Anyways, the code does not do > > anything explicit with the database connections, just normal read/ > > writes. There are reads and writes in the CometActor and the other > > Actor that it works with. > > > -- Michael > > > On Dec 13, 6:57 am, "David Pollak" <feeder.of.the.be...@gmail.com> > > wrote: > > > What version of Lift are you using? > > > > Please supply the entire stack trace. > > > > If you have some code that reproduces the problem, that would be helpful. > > > > It looks like the db connection is getting closed manually and then when > > the > > > auto-close tries to close it again, the exception is thrown. > > > > On Dec 13, 2008 6:46 AM, "Michael" <mike...@gmail.com> wrote: > > > > I have a CometActor that crashes after rendering and then re-rendering > > > after it responds to a message. The stack trace that gets printed > > > looks like: > > > > ERROR - The ActorWatcher restarted foo.comet.myac...@1e6ee98 because > > > scala.MatchError: None > > > scala.MatchError: None > > > at net.liftweb.mapper.DB$.releaseConnectionNamed(DB.scala:127) > > > at net.liftweb.mapper.DB$.use(DB.scala:283) > > > at net.liftweb.mapper.DB$$anon$1.net$liftweb$mapper$DB$$anon$ > > > $doWith(DB.scala:109) > > > at net.liftweb.mapper.DB$$anon$1.apply(DB.scala:112) > > > at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala: > > > 368) > > > > I tried putting the following in the lowPriority method: > > > > override def lowPriority : PartialFunction[Any, Unit] = { > > > case NormalMessage(a,u) => { > > > doStuff(a,u) > > > reRender(false) > > > } > > > case None => { > > > println("None?") > > > } > > > case s => { > > > println("Other " + s.toString) > > > } > > > } > > > > Nothing gets printed out before the stack trace. After the stack trace > > > I see > > > > Other <function> > > > > This repeats periodically, but the CometActor is dead. Is there > > > something bad about using a Mapper object with Actors, or is there > > > something else going on here? > > -- > Lift, the simply functional web frameworkhttp://liftweb.net > Collaborative Task Managementhttp://much4.us > Follow me:http://twitter.com/dpp > Git some:http://github.com/dpp --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---