Re: [Lift] Re: Tomcat/Apache ESME: Shutdown Problems

2010-02-04 Thread David Pollak
On Wed, Feb 3, 2010 at 11:33 PM, aw anth...@whitford.com wrote:

 I just noticed this:

 Feb 3, 2010 10:49:23 PM org.apache.coyote.http11.Http11NioProtocol
 destroy
 INFO: Stopping Coyote HTTP/1.1 on http-8080
 Feb 3, 2010 11:19:20 PM org.apache.catalina.loader.WebappClassLoader
 loadClass
 INFO: Illegal access: this web application instance has been stopped
 already.  Could not load net.liftweb.http.SessionMaster$$anonfun$1$
 $anonfun$apply$11$$anonfun$apply$12.  The eventual following stack
 trace is caused by an error thrown for debugging purposes as well as
 to attempt to terminate the thread which caused the illegal access,
 and has no functional impact.
 java.lang.IllegalStateException
at

 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
 1370)
at

 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
 1329)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
 319)
at net.liftweb.http.SessionMaster$$anonfun$1$$anonfun$apply
 $11.apply(LiftSession.scala:162)
at net.liftweb.http.SessionMaster$$anonfun$1$$anonfun$apply
 $11.apply(LiftSession.scala:159)
at scala.Iterator$class.foreach(Iterator.scala:414)
at scala.Iterator$$anon$7.foreach(Iterator.scala:36)
at net.liftweb.http.SessionMaster$$anonfun
 $1.apply(LiftSession.scala:159)
at net.liftweb.http.SessionMaster$$anonfun
 $1.apply(LiftSession.scala:136)
at net.liftweb.actor.LiftActor
 $class.execTranslate(LiftActor.scala:252)
at net.liftweb.http.SessionMaster
 $.execTranslate(LiftSession.scala:91)
at net.liftweb.actor.SpecializedLiftActor$class.net$liftweb
 $actor$SpecializedLiftActor$$processMailbox(LiftActor.scala:147)
at net.liftweb.actor.SpecializedLiftActor$$anonfun$3$$anonfun
 $apply$1.apply(LiftActor.scala:114)
at net.liftweb.actor.SpecializedLiftActor$$anonfun$3$$anonfun
 $apply$1.apply(LiftActor.scala:114)
at net.liftweb.actor.LAScheduler$$anonfun$1$$anon$1$$anon
 $2.run(LiftActor.scala:42)
at java.util.concurrent.ThreadPoolExecutor
 $Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor
 $Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
 Exception in thread pool-2-thread-4 java.lang.NoClassDefFoundError:
 net/liftweb/http/SessionMaster$$anonfun$1$$anonfun$apply$11$$anonfun
 $apply$12
at net.liftweb.http.SessionMaster$$anonfun$1$$anonfun$apply
 $11.apply(LiftSession.scala:162)
at net.liftweb.http.SessionMaster$$anonfun$1$$anonfun$apply
 $11.apply(LiftSession.scala:159)
at scala.Iterator$class.foreach(Iterator.scala:414)
at scala.Iterator$$anon$7.foreach(Iterator.scala:36)
at net.liftweb.http.SessionMaster$$anonfun
 $1.apply(LiftSession.scala:159)
at net.liftweb.http.SessionMaster$$anonfun
 $1.apply(LiftSession.scala:136)
at net.liftweb.actor.LiftActor
 $class.execTranslate(LiftActor.scala:252)
at net.liftweb.http.SessionMaster
 $.execTranslate(LiftSession.scala:91)
at net.liftweb.actor.SpecializedLiftActor$class.net$liftweb
 $actor$SpecializedLiftActor$$processMailbox(LiftActor.scala:147)
at net.liftweb.actor.SpecializedLiftActor$$anonfun$3$$anonfun
 $apply$1.apply(LiftActor.scala:114)
at net.liftweb.actor.SpecializedLiftActor$$anonfun$3$$anonfun
 $apply$1.apply(LiftActor.scala:114)
at net.liftweb.actor.LAScheduler$$anonfun$1$$anon$1$$anon
 $2.run(LiftActor.scala:42)
at java.util.concurrent.ThreadPoolExecutor
 $Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor
 $Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
 Caused by: java.lang.ClassNotFoundException:
 net.liftweb.http.SessionMaster$$anonfun$1$$anonfun$apply$11$$anonfun
 $apply$12
at

 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
 1484)
at

 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
 1329)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
 319)
... 15 more

 Maybe there is a shutdown order issue?


Interesting.

I think what's happening is that during the execution of the shutdown hook,
a new class is attempting to be loaded.  Why?  Because every function in
Scala is represented by a JVM class... and functions are very, very common
to define in code (e.g., a for comprehension, etc.)  So, I think that the
shutdown hook is trying to instantiate an anonymous inner class (in Java
parlance), the class is not loaded, so the Classloader attempts to load the
class, but the servlet is supposed to be shutting down, so Tomcat's
classloader isn't allowing the class to be loaded.  That's just my guess.



 --
 You received this message because you are subscribed to the Google Groups
 Lift group.
 To post to this group, send email to 

[Lift] Re: Tomcat/Apache ESME: Shutdown Problems

2010-02-03 Thread Dick Hirsch
David,

Thanks.

Is the new StandardDBVendor just available the 2.0 Snapshot?

Do you have a link to a description of the StandardDBVendor,

D.

On Feb 3, 8:30 pm, David Pollak feeder.of.the.be...@gmail.com wrote:
 On Wed, Feb 3, 2010 at 10:12 AM, Dick Hirsch hirsch.d...@gmail.com wrote:
  A developer using ESME has a problem.

  After he shuts down Tomcat, he sees that there are exceptions in the
  log file. Derby is also not getting shutdown correctly. Next time,
  when he restarts Tomcat, ESME fails to load and he gets all kinds of
  exception in the browser.

  Once he manually kils ( with -9) the java process then everything
  works fine.

  Here is (partial) stack trace from the log file is below.

  I haven't seen this problem in jetty.

  I was assuming that lift closed the DB connections / sessions
  implicitly. Now I'm not so sure.

 Dick,

 Are you sure the Tomcat process is actually shut down?  Just the brief look
 at the stack trace, it's looking like the JVM process didn't get killed and
 there's cruft on the local thread.

 You might also consider using the new net.liftweb.mapper.StandardDBVendor
 rather than the roll-your-own DB vendor in Boot.  I'll add a ticket to make
 sure that StandardDBVendor registers with the container shutdown so it
 correctly closes all connections.

 Thanks,

 David





  Does anyone know what the problem might be?

  Here is a link to our Boot.scala file.

 http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/sca...

  Thanks,

  Dick

  
  SEVERE:
  A web application created a ThreadLocal with key of type
  [java.lang.ThreadLocal] (value [java.lang.threadlo...@13f79f7]) and a
  value of type [org.apache.derby.iapi.services.context.ContextManager]
  (value [org.apache.derby.iapi.services.context.contextmana...@b52a28])
  but failed to remove it when the web application was stopped. To
  prevent a memory leak, the ThreadLocal has been forcibly removed.
  Feb 3, 2010 7:04:57 AM
   org.apache.coyote.http11.Http11Protocol destroy
  INFO: Stopping Coyote HTTP/1.1 on http-8080
  Exception in thread pool-2-thread-14 java.lang.NullPointerException
     at scala.runtime.BoxesRunTime.boxToLong(Unknown Source)
     at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$wrapQuery
  $1.apply(S.scala:972)
     at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$wrapQuery
  $1.apply(S.scala:972)
     at scala.List.foreach(List.scala:841)
     at net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:972)
     at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit
  $1$$anonfun$apply$25.apply(S.scala:1109)
     at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:906)
     at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround$1.apply
  (S.scala:907)
     at
   net.liftweb.mapper.MetaProtoExtendedSession$myWrapper$.apply
  (ProtoExtendedSession.scala:80)
     at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:907)

  --
  You received this message because you are subscribed to the Google Groups
  Lift group.
  To post to this group, send email to lift...@googlegroups.com.
  To unsubscribe from this group, send email to
  liftweb+unsubscr...@googlegroups.comliftweb%2bunsubscr...@googlegroups.com
  .
  For more options, visit this group at
 http://groups.google.com/group/liftweb?hl=en.

 --
 Lift, the simply functional web frameworkhttp://liftweb.net
 Beginning Scalahttp://www.apress.com/book/view/1430219890
 Follow me:http://twitter.com/dpp
 Surf the harmonics

-- 
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@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.



Re: [Lift] Re: Tomcat/Apache ESME: Shutdown Problems

2010-02-03 Thread David Pollak
On Wed, Feb 3, 2010 at 11:58 AM, Dick Hirsch hirsch.d...@gmail.com wrote:

 David,

 Thanks.

 Is the new StandardDBVendor just available the 2.0 Snapshot?


It's been around since 1.1-M7 I think.



 Do you have a link to a description of the StandardDBVendor,



/**
 * The standard DB vendor.
 * @param driverName the name of the database driver
 * @param dbUrl the URL for the JDBC data connection
 * @param dbUser the optional username
 * @param dbPassword the optional db password
 */
class StandardDBVendor(driverName: String,
   dbUrl: String,
   dbUser: Box[String],
   dbPassword: Box[String]) extends ProtoDBVendor {



 D.

 On Feb 3, 8:30 pm, David Pollak feeder.of.the.be...@gmail.com wrote:
  On Wed, Feb 3, 2010 at 10:12 AM, Dick Hirsch hirsch.d...@gmail.com
 wrote:
   A developer using ESME has a problem.
 
   After he shuts down Tomcat, he sees that there are exceptions in the
   log file. Derby is also not getting shutdown correctly. Next time,
   when he restarts Tomcat, ESME fails to load and he gets all kinds of
   exception in the browser.
 
   Once he manually kils ( with -9) the java process then everything
   works fine.
 
   Here is (partial) stack trace from the log file is below.
 
   I haven't seen this problem in jetty.
 
   I was assuming that lift closed the DB connections / sessions
   implicitly. Now I'm not so sure.
 
  Dick,
 
  Are you sure the Tomcat process is actually shut down?  Just the brief
 look
  at the stack trace, it's looking like the JVM process didn't get killed
 and
  there's cruft on the local thread.
 
  You might also consider using the new net.liftweb.mapper.StandardDBVendor
  rather than the roll-your-own DB vendor in Boot.  I'll add a ticket to
 make
  sure that StandardDBVendor registers with the container shutdown so it
  correctly closes all connections.
 
  Thanks,
 
  David
 
 
 
 
 
   Does anyone know what the problem might be?
 
   Here is a link to our Boot.scala file.
 
  http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/sca.
 ..
 
   Thanks,
 
   Dick
 
   
   SEVERE:
   A web application created a ThreadLocal with key of type
   [java.lang.ThreadLocal] (value [java.lang.threadlo...@13f79f7]) and a
   value of type [org.apache.derby.iapi.services.context.ContextManager]
   (value [org.apache.derby.iapi.services.context.contextmana...@b52a28])
   but failed to remove it when the web application was stopped. To
   prevent a memory leak, the ThreadLocal has been forcibly removed.
   Feb 3, 2010 7:04:57 AM
org.apache.coyote.http11.Http11Protocol destroy
   INFO: Stopping Coyote HTTP/1.1 on http-8080
   Exception in thread pool-2-thread-14 java.lang.NullPointerException
  at scala.runtime.BoxesRunTime.boxToLong(Unknown Source)
  at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$wrapQuery
   $1.apply(S.scala:972)
  at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$wrapQuery
   $1.apply(S.scala:972)
  at scala.List.foreach(List.scala:841)
  at net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:972)
  at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit
   $1$$anonfun$apply$25.apply(S.scala:1109)
  at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:906)
  at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround$1.apply
   (S.scala:907)
  at
net.liftweb.mapper.MetaProtoExtendedSession$myWrapper$.apply
   (ProtoExtendedSession.scala:80)
  at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:907)
 
   --
   You received this message because you are subscribed to the Google
 Groups
   Lift group.
   To post to this group, send email to lift...@googlegroups.com.
   To unsubscribe from this group, send email to
   liftweb+unsubscr...@googlegroups.comliftweb%2bunsubscr...@googlegroups.com
 liftweb%2bunsubscr...@googlegroups.comliftweb%252bunsubscr...@googlegroups.com
 
   .
   For more options, visit this group at
  http://groups.google.com/group/liftweb?hl=en.
 
  --
  Lift, the simply functional web frameworkhttp://liftweb.net
  Beginning Scalahttp://www.apress.com/book/view/1430219890
  Follow me:http://twitter.com/dpp
  Surf the harmonics

 --
 You received this message because you are subscribed to the Google Groups
 Lift group.
 To post to this group, send email to lift...@googlegroups.com.
 To unsubscribe from this group, send email to
 liftweb+unsubscr...@googlegroups.comliftweb%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/liftweb?hl=en.




-- 
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Surf the harmonics

-- 
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@googlegroups.com.
To unsubscribe from this group, send email to 

Re: [Lift] Re: Tomcat/Apache ESME: Shutdown Problems

2010-02-03 Thread Timothy Perrett
See: http://is.gd/7Dzv4

Cheers, Tim

On 3 Feb 2010, at 19:58, Dick Hirsch wrote:

 David,
 
 Thanks.
 
 Is the new StandardDBVendor just available the 2.0 Snapshot?
 
 Do you have a link to a description of the StandardDBVendor,
 
 D.
 
 On Feb 3, 8:30 pm, David Pollak feeder.of.the.be...@gmail.com wrote:
 On Wed, Feb 3, 2010 at 10:12 AM, Dick Hirsch hirsch.d...@gmail.com wrote:
 A developer using ESME has a problem.
 
 After he shuts down Tomcat, he sees that there are exceptions in the
 log file. Derby is also not getting shutdown correctly. Next time,
 when he restarts Tomcat, ESME fails to load and he gets all kinds of
 exception in the browser.
 
 Once he manually kils ( with -9) the java process then everything
 works fine.
 
 Here is (partial) stack trace from the log file is below.
 
 I haven't seen this problem in jetty.
 
 I was assuming that lift closed the DB connections / sessions
 implicitly. Now I'm not so sure.
 
 Dick,
 
 Are you sure the Tomcat process is actually shut down?  Just the brief look
 at the stack trace, it's looking like the JVM process didn't get killed and
 there's cruft on the local thread.
 
 You might also consider using the new net.liftweb.mapper.StandardDBVendor
 rather than the roll-your-own DB vendor in Boot.  I'll add a ticket to make
 sure that StandardDBVendor registers with the container shutdown so it
 correctly closes all connections.
 
 Thanks,
 
 David
 
 
 
 
 
 Does anyone know what the problem might be?
 
 Here is a link to our Boot.scala file.
 
 http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/sca...
 
 Thanks,
 
 Dick
 
 
 SEVERE:
 A web application created a ThreadLocal with key of type
 [java.lang.ThreadLocal] (value [java.lang.threadlo...@13f79f7]) and a
 value of type [org.apache.derby.iapi.services.context.ContextManager]
 (value [org.apache.derby.iapi.services.context.contextmana...@b52a28])
 but failed to remove it when the web application was stopped. To
 prevent a memory leak, the ThreadLocal has been forcibly removed.
 Feb 3, 2010 7:04:57 AM
  org.apache.coyote.http11.Http11Protocol destroy
 INFO: Stopping Coyote HTTP/1.1 on http-8080
 Exception in thread pool-2-thread-14 java.lang.NullPointerException
at scala.runtime.BoxesRunTime.boxToLong(Unknown Source)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$wrapQuery
 $1.apply(S.scala:972)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$wrapQuery
 $1.apply(S.scala:972)
at scala.List.foreach(List.scala:841)
at net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:972)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit
 $1$$anonfun$apply$25.apply(S.scala:1109)
at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:906)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround$1.apply
 (S.scala:907)
at
  net.liftweb.mapper.MetaProtoExtendedSession$myWrapper$.apply
 (ProtoExtendedSession.scala:80)
at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:907)
 
 --
 You received this message because you are subscribed to the Google Groups
 Lift group.
 To post to this group, send email to lift...@googlegroups.com.
 To unsubscribe from this group, send email to
 liftweb+unsubscr...@googlegroups.comliftweb%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/liftweb?hl=en.
 
 --
 Lift, the simply functional web frameworkhttp://liftweb.net
 Beginning Scalahttp://www.apress.com/book/view/1430219890
 Follow me:http://twitter.com/dpp
 Surf the harmonics
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Lift group.
 To post to this group, send email to lift...@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.
 
 

-- 
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@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.



[Lift] Re: Tomcat/Apache ESME: Shutdown Problems

2010-02-03 Thread Dick Hirsch
I talked to the user and he says that Tomcat didn't shutdown. He had
to kill -9 the process.

We'll move to

On Feb 3, 9:10 pm, Timothy Perrett timo...@getintheloop.eu wrote:
 See:http://is.gd/7Dzv4

Thanks for the link. We'll move to the StandardDBVendor in our next
release.


 Cheers, Tim

 On 3 Feb 2010, at 19:58, Dick Hirsch wrote:

  David,

  Thanks.

  Is the new StandardDBVendor just available the 2.0 Snapshot?

  Do you have a link to a description of the StandardDBVendor,

  D.

  On Feb 3, 8:30 pm, David Pollak feeder.of.the.be...@gmail.com wrote:
  On Wed, Feb 3, 2010 at 10:12 AM, Dick Hirsch hirsch.d...@gmail.com wrote:
  A developer using ESME has a problem.

  After he shuts down Tomcat, he sees that there are exceptions in the
  log file. Derby is also not getting shutdown correctly. Next time,
  when he restarts Tomcat, ESME fails to load and he gets all kinds of
  exception in the browser.

  Once he manually kils ( with -9) the java process then everything
  works fine.

  Here is (partial) stack trace from the log file is below.

  I haven't seen this problem in jetty.

  I was assuming that lift closed the DB connections / sessions
  implicitly. Now I'm not so sure.

  Dick,

  Are you sure the Tomcat process is actually shut down?  Just the brief look
  at the stack trace, it's looking like the JVM process didn't get killed and
  there's cruft on the local thread.

  You might also consider using the new net.liftweb.mapper.StandardDBVendor
  rather than the roll-your-own DB vendor in Boot.  I'll add a ticket to make
  sure that StandardDBVendor registers with the container shutdown so it
  correctly closes all connections.

  Thanks,

  David

  Does anyone know what the problem might be?

  Here is a link to our Boot.scala file.

 http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/sca...

  Thanks,

  Dick

  
  SEVERE:
  A web application created a ThreadLocal with key of type
  [java.lang.ThreadLocal] (value [java.lang.threadlo...@13f79f7]) and a
  value of type [org.apache.derby.iapi.services.context.ContextManager]
  (value [org.apache.derby.iapi.services.context.contextmana...@b52a28])
  but failed to remove it when the web application was stopped. To
  prevent a memory leak, the ThreadLocal has been forcibly removed.
  Feb 3, 2010 7:04:57 AM
   org.apache.coyote.http11.Http11Protocol destroy
  INFO: Stopping Coyote HTTP/1.1 on http-8080
  Exception in thread pool-2-thread-14 java.lang.NullPointerException
     at scala.runtime.BoxesRunTime.boxToLong(Unknown Source)
     at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$wrapQuery
  $1.apply(S.scala:972)
     at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$wrapQuery
  $1.apply(S.scala:972)
     at scala.List.foreach(List.scala:841)
     at net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:972)
     at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit
  $1$$anonfun$apply$25.apply(S.scala:1109)
     at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:906)
     at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround$1.apply
  (S.scala:907)
     at
   net.liftweb.mapper.MetaProtoExtendedSession$myWrapper$.apply
  (ProtoExtendedSession.scala:80)
     at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:907)

  --
  You received this message because you are subscribed to the Google Groups
  Lift group.
  To post to this group, send email to lift...@googlegroups.com.
  To unsubscribe from this group, send email to
  liftweb+unsubscr...@googlegroups.comliftweb%2bunsubscr...@googlegroups.com
  .
  For more options, visit this group at
 http://groups.google.com/group/liftweb?hl=en.

  --
  Lift, the simply functional web frameworkhttp://liftweb.net
  Beginning Scalahttp://www.apress.com/book/view/1430219890
  Follow me:http://twitter.com/dpp
  Surf the harmonics

  --
  You received this message because you are subscribed to the Google Groups 
  Lift group.
  To post to this group, send email to lift...@googlegroups.com.
  To unsubscribe from this group, send email to 
  liftweb+unsubscr...@googlegroups.com.
  For more options, visit this group 
  athttp://groups.google.com/group/liftweb?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@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.



Re: [Lift] Re: Tomcat/Apache ESME: Shutdown Problems

2010-02-03 Thread David Pollak
You can also add to Boot.scala (given that the StandardDBVendor is called
dbVendor):

LiftRules.unloadHooks.append(() = dbVendor.closeAllConnections_!())

What this will do is close all the DB connections when the context is
unloaded.

Additionally, you can switch to H2 which is generally more stable than Derby
in my experience.

On Wed, Feb 3, 2010 at 7:37 PM, Dick Hirsch hirsch.d...@gmail.com wrote:

 I talked to the user and he says that Tomcat didn't shutdown. He had
 to kill -9 the process.

 We'll move to

 On Feb 3, 9:10 pm, Timothy Perrett timo...@getintheloop.eu wrote:
  See:http://is.gd/7Dzv4

 Thanks for the link. We'll move to the StandardDBVendor in our next
 release.

 
  Cheers, Tim
 
  On 3 Feb 2010, at 19:58, Dick Hirsch wrote:
 
   David,
 
   Thanks.
 
   Is the new StandardDBVendor just available the 2.0 Snapshot?
 
   Do you have a link to a description of the StandardDBVendor,
 
   D.
 
   On Feb 3, 8:30 pm, David Pollak feeder.of.the.be...@gmail.com wrote:
   On Wed, Feb 3, 2010 at 10:12 AM, Dick Hirsch hirsch.d...@gmail.com
 wrote:
   A developer using ESME has a problem.
 
   After he shuts down Tomcat, he sees that there are exceptions in the
   log file. Derby is also not getting shutdown correctly. Next time,
   when he restarts Tomcat, ESME fails to load and he gets all kinds of
   exception in the browser.
 
   Once he manually kils ( with -9) the java process then everything
   works fine.
 
   Here is (partial) stack trace from the log file is below.
 
   I haven't seen this problem in jetty.
 
   I was assuming that lift closed the DB connections / sessions
   implicitly. Now I'm not so sure.
 
   Dick,
 
   Are you sure the Tomcat process is actually shut down?  Just the brief
 look
   at the stack trace, it's looking like the JVM process didn't get
 killed and
   there's cruft on the local thread.
 
   You might also consider using the new
 net.liftweb.mapper.StandardDBVendor
   rather than the roll-your-own DB vendor in Boot.  I'll add a ticket to
 make
   sure that StandardDBVendor registers with the container shutdown so it
   correctly closes all connections.
 
   Thanks,
 
   David
 
   Does anyone know what the problem might be?
 
   Here is a link to our Boot.scala file.
 
  
 http://svn.apache.org/viewvc/incubator/esme/trunk/server/src/main/sca...
 
   Thanks,
 
   Dick
 
   
   SEVERE:
   A web application created a ThreadLocal with key of type
   [java.lang.ThreadLocal] (value [java.lang.threadlo...@13f79f7]) and
 a
   value of type [org.apache.derby.iapi.services.context.ContextManager]
   (value [org.apache.derby.iapi.services.context.contextmana...@b52a28
 ])
   but failed to remove it when the web application was stopped. To
   prevent a memory leak, the ThreadLocal has been forcibly removed.
   Feb 3, 2010 7:04:57 AM
org.apache.coyote.http11.Http11Protocol destroy
   INFO: Stopping Coyote HTTP/1.1 on http-8080
   Exception in thread pool-2-thread-14 java.lang.NullPointerException
  at scala.runtime.BoxesRunTime.boxToLong(Unknown Source)
  at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$wrapQuery
   $1.apply(S.scala:972)
  at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$wrapQuery
   $1.apply(S.scala:972)
  at scala.List.foreach(List.scala:841)
  at net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:972)
  at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit
   $1$$anonfun$apply$25.apply(S.scala:1109)
  at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:906)
  at
 net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround$1.apply
   (S.scala:907)
  at
net.liftweb.mapper.MetaProtoExtendedSession$myWrapper$.apply
   (ProtoExtendedSession.scala:80)
  at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:907)
 
   --
   You received this message because you are subscribed to the Google
 Groups
   Lift group.
   To post to this group, send email to lift...@googlegroups.com.
   To unsubscribe from this group, send email to
   liftweb+unsubscr...@googlegroups.comliftweb%2bunsubscr...@googlegroups.com
 liftweb%2bunsubscr...@googlegroups.comliftweb%252bunsubscr...@googlegroups.com
 
   .
   For more options, visit this group at
  http://groups.google.com/group/liftweb?hl=en.
 
   --
   Lift, the simply functional web frameworkhttp://liftweb.net
   Beginning Scalahttp://www.apress.com/book/view/1430219890
   Follow me:http://twitter.com/dpp
   Surf the harmonics
 
   --
   You received this message because you are subscribed to the Google
 Groups Lift group.
   To post to this group, send email to lift...@googlegroups.com.
   To unsubscribe from this group, send email to
 liftweb+unsubscr...@googlegroups.comliftweb%2bunsubscr...@googlegroups.com
 .
   For more options, visit this group athttp://
 groups.google.com/group/liftweb?hl=en.

 --
 You received this message because you are subscribed to the Google Groups
 Lift group.
 To post to this group, send email to 

[Lift] Re: Tomcat/Apache ESME: Shutdown Problems

2010-02-03 Thread aw
I don't think this issue is related to Derby because I am seeing this
problem too -- but I am not using Derby.

What version of Tomcat are you using?  I am using 6.0.24 on either
Windows or Solaris 10 and see these errors too, like:

Feb 3, 2010 10:49:22 PM org.apache.catalina.loader.WebappClassLoader
clearThreadLocalMap
SEVERE: A web application created a ThreadLocal with key of type
[java.lang.ThreadLocal] (value [java.lang.threadlo...@1a517bd]) and a
value of type [scala.collection.mutable.HashMap] (value [Map()]) but
failed to remove it when the web application was stopped. To prevent a
memory leak, the ThreadLocal has been forcibly removed.
Feb 3, 2010 10:49:22 PM org.apache.catalina.loader.WebappClassLoader
clearThreadLocalMap
SEVERE: A web application created a ThreadLocal with key of type
[java.lang.ThreadLocal] (value [java.lang.threadlo...@258c74]) and a
value of type [net.liftweb.common.Empty$] (value [Empty]) but failed
to remove it when the web application was stopped. To prevent a memory
leak, the ThreadLocal has been forcibly removed.
Feb 3, 2010 10:49:22 PM org.apache.catalina.loader.WebappClassLoader
clearThreadLocalMap
SEVERE: A web application created a ThreadLocal with key of type
[java.lang.ThreadLocal] (value [java.lang.threadlo...@258c74]) and a
value of type [net.liftweb.common.Empty$] (value [Empty]) but failed
to remove it when the web application was stopped. To prevent a memory
leak, the ThreadLocal has been forcibly removed.
Feb 3, 2010 10:49:22 PM org.apache.catalina.loader.WebappClassLoader
clearThreadLocalMap
SEVERE: A web application created a ThreadLocal with key of type
[org.slf4j.impl.CopyOnInheritThreadLocal] (value
[org.slf4j.impl.copyoninheritthreadlo...@1bb35b]) and a value of type
[null] (value [null]) but failed to remove it when the web application
was stopped. To prevent a memory leak, the ThreadLocal has been
forcibly removed.
Feb 3, 2010 10:49:22 PM org.apache.catalina.loader.WebappClassLoader
clearThreadLocalMap

Note that while there is a Lift object, there are also lots of other
objects, so I'm not convinced that there is a problem with Lift...

I got the impression that Tomcat added this detection logic in
6.0.24.  I don't know how to really fix it.  (BTW, I found that I
usually only need to kill, not a kill -9.)

-- 
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@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.



[Lift] Re: Tomcat/Apache ESME: Shutdown Problems

2010-02-03 Thread aw
I just noticed this:

Feb 3, 2010 10:49:23 PM org.apache.coyote.http11.Http11NioProtocol
destroy
INFO: Stopping Coyote HTTP/1.1 on http-8080
Feb 3, 2010 11:19:20 PM org.apache.catalina.loader.WebappClassLoader
loadClass
INFO: Illegal access: this web application instance has been stopped
already.  Could not load net.liftweb.http.SessionMaster$$anonfun$1$
$anonfun$apply$11$$anonfun$apply$12.  The eventual following stack
trace is caused by an error thrown for debugging purposes as well as
to attempt to terminate the thread which caused the illegal access,
and has no functional impact.
java.lang.IllegalStateException
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1370)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1329)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
319)
at net.liftweb.http.SessionMaster$$anonfun$1$$anonfun$apply
$11.apply(LiftSession.scala:162)
at net.liftweb.http.SessionMaster$$anonfun$1$$anonfun$apply
$11.apply(LiftSession.scala:159)
at scala.Iterator$class.foreach(Iterator.scala:414)
at scala.Iterator$$anon$7.foreach(Iterator.scala:36)
at net.liftweb.http.SessionMaster$$anonfun
$1.apply(LiftSession.scala:159)
at net.liftweb.http.SessionMaster$$anonfun
$1.apply(LiftSession.scala:136)
at net.liftweb.actor.LiftActor
$class.execTranslate(LiftActor.scala:252)
at net.liftweb.http.SessionMaster
$.execTranslate(LiftSession.scala:91)
at net.liftweb.actor.SpecializedLiftActor$class.net$liftweb
$actor$SpecializedLiftActor$$processMailbox(LiftActor.scala:147)
at net.liftweb.actor.SpecializedLiftActor$$anonfun$3$$anonfun
$apply$1.apply(LiftActor.scala:114)
at net.liftweb.actor.SpecializedLiftActor$$anonfun$3$$anonfun
$apply$1.apply(LiftActor.scala:114)
at net.liftweb.actor.LAScheduler$$anonfun$1$$anon$1$$anon
$2.run(LiftActor.scala:42)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Exception in thread pool-2-thread-4 java.lang.NoClassDefFoundError:
net/liftweb/http/SessionMaster$$anonfun$1$$anonfun$apply$11$$anonfun
$apply$12
at net.liftweb.http.SessionMaster$$anonfun$1$$anonfun$apply
$11.apply(LiftSession.scala:162)
at net.liftweb.http.SessionMaster$$anonfun$1$$anonfun$apply
$11.apply(LiftSession.scala:159)
at scala.Iterator$class.foreach(Iterator.scala:414)
at scala.Iterator$$anon$7.foreach(Iterator.scala:36)
at net.liftweb.http.SessionMaster$$anonfun
$1.apply(LiftSession.scala:159)
at net.liftweb.http.SessionMaster$$anonfun
$1.apply(LiftSession.scala:136)
at net.liftweb.actor.LiftActor
$class.execTranslate(LiftActor.scala:252)
at net.liftweb.http.SessionMaster
$.execTranslate(LiftSession.scala:91)
at net.liftweb.actor.SpecializedLiftActor$class.net$liftweb
$actor$SpecializedLiftActor$$processMailbox(LiftActor.scala:147)
at net.liftweb.actor.SpecializedLiftActor$$anonfun$3$$anonfun
$apply$1.apply(LiftActor.scala:114)
at net.liftweb.actor.SpecializedLiftActor$$anonfun$3$$anonfun
$apply$1.apply(LiftActor.scala:114)
at net.liftweb.actor.LAScheduler$$anonfun$1$$anon$1$$anon
$2.run(LiftActor.scala:42)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException:
net.liftweb.http.SessionMaster$$anonfun$1$$anonfun$apply$11$$anonfun
$apply$12
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1484)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1329)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
319)
... 15 more

Maybe there is a shutdown order issue?

-- 
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@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.