No operations allowed after connection closed.Connection was implicitly closed by the driver.

4,517 views
Skip to first unread message

tenniscp25

unread,
Feb 23, 2011, 2:58:17 PM2/23/11
to Lift
I developed a very simple app using squeryl-record. It works fine
until I leave it for about 8 hours. Then, every page that hits the
database results in the following exception chain:

java.lang.RuntimeException: Exception while executing statement : No
operations allowed after connection closed.Connection was implicitly
closed by the driver. errorCode: 0, sqlState: 08003
...
...
Caused by:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
No operations allowed after connection closed.Connection was
implicitly closed by the driver.
...
...
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
Communications link failure
The last packet successfully received from the server was 47,816,890
milliseconds ago. The last packet sent successfully to the server was
78 milliseconds ago.
...
...
Caused by: java.io.EOFException: Can not read response from server.
Expected to read 4 bytes, read 0 bytes before connection was
unexpectedly lost.
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2539) ~[mysql-
connector-java-5.1.15.jar:na]
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2989)
~[mysql-connector-java-5.1.15.jar:na]
...
...

I've tried lift 2.3-M1, jetty 7.3, tomcat 7.0.5, production mode,
development mode, lift-managed connection pooling and server-provided
jndi datasource to no avail.

Please suggest how to fix this.

Here are my code and other details:

===== Current environment =====
- mysql 5.0.41
- jdk 1.6.0_22
- scala 2.8.1


===== Full stack trace =====
01:32:14.812 [qtp22460089-12] DEBUG net.liftweb.mapper.ProtoDBVendor -
Released connection. poolSize=1
01:32:14.812 [qtp22460089-12] INFO net.liftweb.util.TimeHelpers -
Service request (GET) /tr/reviews took 15 Milliseconds
01:32:14.875 [qtp22460089-13] DEBUG net.liftweb.mapper.ProtoDBVendor -
Released connection. poolSize=1
01:32:14.875 [qtp22460089-13] INFO net.liftweb.util.TimeHelpers -
Service request (GET) /tr/css/main.css took 0 Milliseconds
01:32:14.922 [qtp22460089-18] DEBUG net.liftweb.mapper.ProtoDBVendor -
Released connection. poolSize=1
01:32:14.922 [qtp22460089-18] INFO net.liftweb.util.TimeHelpers -
Service request (GET) /tr/ajax_request/liftAjax.js took 0 Milliseconds
01:32:16.031 [qtp22460089-13] DEBUG n.l.squerylrecord.SquerylRecord -
Select
Review1.id as Review1_id,
Review1.location as Review1_location,
Review1.voteDowns as Review1_voteDowns,
Review1.score as Review1_score,
Review1.timeCreated as Review1_timeCreated,
Review1.voteUps as Review1_voteUps,
Review1.authorUdid as Review1_authorUdid,
Review1.details as Review1_details,
Review1.licenseNo as Review1_licenseNo,
Review1.title as Review1_title
From
Review Review1
Where
((Review1.authorUdid like ?) and (Review1.licenseNo like ?))
jdbcParams:[%%,%%]
01:32:16.031 [qtp22460089-13] ERROR net.liftweb.http.LiftRules -
Exception being returned to browser when processing
Req(List(F7519333121311HV, F751933312130QCJ, F751933312133RBF,
F7519333121324IN), Map(F751933312130QCJ -> List(), F7519333121311HV ->
List(), F7519333121324IN -> List(Search), F751933312133RBF ->
List(true)), ParsePath(List(reviews),,true,false), /tr, PostRequest,
Full(application/x-www-form-urlencoded))
java.lang.RuntimeException: Exception while executing statement : No
operations allowed after connection closed.Connection was implicitly
closed by the driver.
errorCode: 0, sqlState: 08003
Select
Review1.id as Review1_id,
Review1.location as Review1_location,
Review1.voteDowns as Review1_voteDowns,
Review1.score as Review1_score,
Review1.timeCreated as Review1_timeCreated,
Review1.voteUps as Review1_voteUps,
Review1.authorUdid as Review1_authorUdid,
Review1.details as Review1_details,
Review1.licenseNo as Review1_licenseNo,
Review1.title as Review1_title
From
Review Review1
Where
((Review1.authorUdid like ?) and (Review1.licenseNo like ?))
at org.squeryl.internals.DatabaseAdapter
$class._exec(DatabaseAdapter.scala:317) ~[squeryl_2.8.1-0.9.4-
RC3.jar:na]
at org.squeryl.internals.DatabaseAdapter
$class.exec(DatabaseAdapter.scala:367) ~[squeryl_2.8.1-0.9.4-
RC3.jar:na]
at org.squeryl.adapters.MySQLAdapter.exec(MySQLAdapter.scala:23)
~[squeryl_2.8.1-0.9.4-RC3.jar:na]
at org.squeryl.internals.DatabaseAdapter
$class.executeQuery(DatabaseAdapter.scala:369) ~[squeryl_2.8.1-0.9.4-
RC3.jar:na]
at org.squeryl.adapters.MySQLAdapter.executeQuery(MySQLAdapter.scala:
23) ~[squeryl_2.8.1-0.9.4-RC3.jar:na]
at org.squeryl.dsl.AbstractQuery$$anon$1.<init>(AbstractQuery.scala:
123) ~[squeryl_2.8.1-0.9.4-RC3.jar:na]
at org.squeryl.dsl.AbstractQuery.iterator(AbstractQuery.scala:118)
~[squeryl_2.8.1-0.9.4-RC3.jar:na]
at scala.collection.IterableLike$class.foreach(IterableLike.scala:79)
~[scala-library.jar:na]
at org.squeryl.dsl.AbstractQuery.foreach(AbstractQuery.scala:25)
~[squeryl_2.8.1-0.9.4-RC3.jar:na]
at scala.collection.generic.Growable$class.$plus$plus
$eq(Growable.scala:48) ~[scala-library.jar:na]
at scala.collection.TraversableOnce
$class.toList(TraversableOnce.scala:399) ~[scala-library.jar:na]
at org.squeryl.dsl.AbstractQuery.toList(AbstractQuery.scala:25)
~[squeryl_2.8.1-0.9.4-RC3.jar:na]
at code.snippet.Reviews.list(Reviews.scala:55) ~[classes/:na]
at code.snippet.Reviews$$anonfun$dispatch$1.apply(Reviews.scala:24)
~[classes/:na]
at code.snippet.Reviews$$anonfun$dispatch$1.apply(Reviews.scala:22)
~[classes/:na]
at net.liftweb.http.LiftSession$$anonfun$27$$anonfun$apply$79$$anonfun
$apply$82$$anonfun$apply$84.apply(LiftSession.scala:1452) ~[lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$27$$anonfun$apply$79$$anonfun
$apply$82$$anonfun$apply$84.apply(LiftSession.scala:1441) ~[lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.common.EmptyBox.openOr(Box.scala:465) ~[lift-
common_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$27$$anonfun$apply$79$$anonfun
$apply$82.apply(LiftSession.scala:1441) ~[lift-webkit_2.8.1-2.2.jar:
2.2]
at net.liftweb.http.LiftSession$$anonfun$27$$anonfun$apply$79$$anonfun
$apply$82.apply(LiftSession.scala:1441) ~[lift-webkit_2.8.1-2.2.jar:
2.2]
at net.liftweb.common.EmptyBox.openOr(Box.scala:465) ~[lift-
common_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$27$$anonfun$apply
$79.apply(LiftSession.scala:1440) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$27$$anonfun$apply
$79.apply(LiftSession.scala:1440) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.doSnippet(S.scala:1917) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$27.apply(LiftSession.scala:
1438) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$27.apply(LiftSession.scala:
1437) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.common.Full.map(Box.scala:398) ~[lift-
common_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession.net$liftweb$http$LiftSession$
$processSnippet(LiftSession.scala:1437) ~[lift-webkit_2.8.1-2.2.jar:
2.2]
at net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing
$1.apply(LiftSession.scala:1633) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing
$1.apply(LiftSession.scala:1621) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.NamedPF.apply(NamedPartialFunction.scala:36)
~[lift-util_2.8.1-2.2.jar:2.2]
at net.liftweb.util.NamedPF$.apply(NamedPartialFunction.scala:82)
~[lift-util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90$$anonfun$apply$91$$anonfun$apply$92$$anonfun$apply
$93.apply(LiftSession.scala:1723) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90$$anonfun$apply$91$$anonfun$apply$92$$anonfun$apply
$93.apply(LiftSession.scala:1722) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.setVars(S.scala:1735) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90$$anonfun$apply$91$$anonfun$apply
$92.apply(LiftSession.scala:1721) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90$$anonfun$apply$91$$anonfun$apply
$92.apply(LiftSession.scala:1721) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.withAttrs(S.scala:1760) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90$$anonfun$apply$91.apply(LiftSession.scala:1720)
~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90$$anonfun$apply$91.apply(LiftSession.scala:1720)
~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.doSnippet(S.scala:1917) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90.apply(LiftSession.scala:1719) ~[lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90.apply(LiftSession.scala:1719) ~[lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession.net$liftweb$http$LiftSession$
$processOrDefer(LiftSession.scala:1706) ~[lift-webkit_2.8.1-2.2.jar:
2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude
$1.apply(LiftSession.scala:1718) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude
$1.apply(LiftSession.scala:1713) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at scala.collection.TraversableLike$$anonfun$flatMap
$1.apply(TraversableLike.scala:227) ~[scala-library.jar:na]
at scala.collection.TraversableLike$$anonfun$flatMap
$1.apply(TraversableLike.scala:227) ~[scala-library.jar:na]
at scala.collection.Iterator$class.foreach(Iterator.scala:631)
~[scala-library.jar:na]
at scala.collection.LinearSeqLike$$anon$1.foreach(LinearSeqLike.scala:
52) ~[scala-library.jar:na]
at scala.collection.IterableLike$class.foreach(IterableLike.scala:79)
~[scala-library.jar:na]
at scala.xml.NodeSeq.foreach(NodeSeq.scala:43) ~[scala-
library.jar:na]
at scala.collection.TraversableLike
$class.flatMap(TraversableLike.scala:227) ~[scala-library.jar:na]
at scala.xml.NodeSeq.flatMap(NodeSeq.scala:43) ~[scala-
library.jar:na]
at
net.liftweb.http.LiftSession.processSurroundAndInclude(LiftSession.scala:
1713) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude
$1.apply(LiftSession.scala:1735) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude
$1.apply(LiftSession.scala:1713) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at scala.collection.TraversableLike$$anonfun$flatMap
$1.apply(TraversableLike.scala:227) ~[scala-library.jar:na]
at scala.collection.TraversableLike$$anonfun$flatMap
$1.apply(TraversableLike.scala:227) ~[scala-library.jar:na]
at scala.collection.Iterator$class.foreach(Iterator.scala:631)
~[scala-library.jar:na]
at scala.collection.LinearSeqLike$$anon$1.foreach(LinearSeqLike.scala:
52) ~[scala-library.jar:na]
at scala.collection.IterableLike$class.foreach(IterableLike.scala:79)
~[scala-library.jar:na]
at scala.xml.NodeSeq.foreach(NodeSeq.scala:43) ~[scala-
library.jar:na]
at scala.collection.TraversableLike
$class.flatMap(TraversableLike.scala:227) ~[scala-library.jar:na]
at scala.xml.NodeSeq.flatMap(NodeSeq.scala:43) ~[scala-
library.jar:na]
at
net.liftweb.http.LiftSession.processSurroundAndInclude(LiftSession.scala:
1713) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.builtin.snippet.Surround$$anonfun$render$1$$anonfun
$apply$2.apply(Surround.scala:39) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.builtin.snippet.Surround$$anonfun$render$1$$anonfun
$apply$2.apply(Surround.scala:36) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.common.Full.map(Box.scala:398) ~[lift-
common_2.8.1-2.2.jar:2.2]
at net.liftweb.builtin.snippet.Surround$$anonfun$render
$1.apply(Surround.scala:36) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.builtin.snippet.Surround$$anonfun$render
$1.apply(Surround.scala:35) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.common.Full.flatMap(Box.scala:400) ~[lift-
common_2.8.1-2.2.jar:2.2]
at net.liftweb.builtin.snippet.Surround$.render(Surround.scala:35)
~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.builtin.snippet.Surround$$anonfun$dispatch$1$$anonfun
$apply$1.apply(Surround.scala:31) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.builtin.snippet.Surround$$anonfun$dispatch$1$$anonfun
$apply$1.apply(Surround.scala:31) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$27$$anonfun$apply$79$$anonfun
$apply$82$$anonfun$apply$84.apply(LiftSession.scala:1462) ~[lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$27$$anonfun$apply$79$$anonfun
$apply$82$$anonfun$apply$84.apply(LiftSession.scala:1441) ~[lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.common.EmptyBox.openOr(Box.scala:465) ~[lift-
common_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$27$$anonfun$apply$79$$anonfun
$apply$82.apply(LiftSession.scala:1441) ~[lift-webkit_2.8.1-2.2.jar:
2.2]
at net.liftweb.http.LiftSession$$anonfun$27$$anonfun$apply$79$$anonfun
$apply$82.apply(LiftSession.scala:1441) ~[lift-webkit_2.8.1-2.2.jar:
2.2]
at net.liftweb.common.EmptyBox.openOr(Box.scala:465) ~[lift-
common_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$27$$anonfun$apply
$79.apply(LiftSession.scala:1440) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$27$$anonfun$apply
$79.apply(LiftSession.scala:1440) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.doSnippet(S.scala:1917) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$27.apply(LiftSession.scala:
1438) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$27.apply(LiftSession.scala:
1437) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.common.Full.map(Box.scala:398) ~[lift-
common_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession.net$liftweb$http$LiftSession$
$processSnippet(LiftSession.scala:1437) ~[lift-webkit_2.8.1-2.2.jar:
2.2]
at net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing
$1.apply(LiftSession.scala:1633) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing
$1.apply(LiftSession.scala:1621) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.NamedPF.apply(NamedPartialFunction.scala:36)
~[lift-util_2.8.1-2.2.jar:2.2]
at net.liftweb.util.NamedPF$.apply(NamedPartialFunction.scala:82)
~[lift-util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90$$anonfun$apply$91$$anonfun$apply$92$$anonfun$apply
$93.apply(LiftSession.scala:1723) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90$$anonfun$apply$91$$anonfun$apply$92$$anonfun$apply
$93.apply(LiftSession.scala:1722) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.setVars(S.scala:1735) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90$$anonfun$apply$91$$anonfun$apply
$92.apply(LiftSession.scala:1721) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90$$anonfun$apply$91$$anonfun$apply
$92.apply(LiftSession.scala:1721) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.withAttrs(S.scala:1760) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90$$anonfun$apply$91.apply(LiftSession.scala:1720)
~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90$$anonfun$apply$91.apply(LiftSession.scala:1720)
~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.doSnippet(S.scala:1917) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90.apply(LiftSession.scala:1719) ~[lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$
$anonfun$apply$90.apply(LiftSession.scala:1719) ~[lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession.net$liftweb$http$LiftSession$
$processOrDefer(LiftSession.scala:1706) ~[lift-webkit_2.8.1-2.2.jar:
2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude
$1.apply(LiftSession.scala:1718) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude
$1.apply(LiftSession.scala:1713) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at scala.collection.TraversableLike$$anonfun$flatMap
$1.apply(TraversableLike.scala:227) ~[scala-library.jar:na]
at scala.collection.TraversableLike$$anonfun$flatMap
$1.apply(TraversableLike.scala:227) ~[scala-library.jar:na]
at scala.collection.Iterator$class.foreach(Iterator.scala:631)
~[scala-library.jar:na]
at scala.collection.LinearSeqLike$$anon$1.foreach(LinearSeqLike.scala:
52) ~[scala-library.jar:na]
at scala.collection.IterableLike$class.foreach(IterableLike.scala:79)
~[scala-library.jar:na]
at scala.xml.NodeSeq.foreach(NodeSeq.scala:43) ~[scala-
library.jar:na]
at scala.collection.TraversableLike
$class.flatMap(TraversableLike.scala:227) ~[scala-library.jar:na]
at scala.xml.NodeSeq.flatMap(NodeSeq.scala:43) ~[scala-
library.jar:na]
at
net.liftweb.http.LiftSession.processSurroundAndInclude(LiftSession.scala:
1713) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processTemplate$2$$anonfun
$apply$44.apply(LiftSession.scala:946) ~[lift-webkit_2.8.1-2.2.jar:
2.2]
at net.liftweb.http.LiftSession$$anonfun$processTemplate$2$$anonfun
$apply$44.apply(LiftSession.scala:943) ~[lift-webkit_2.8.1-2.2.jar:
2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processTemplate
$2.apply(LiftSession.scala:943) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$processTemplate
$2.apply(LiftSession.scala:942) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.common.Full.map(Box.scala:398) ~[lift-
common_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession.processTemplate(LiftSession.scala:
941) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$19$$anonfun$apply$45$$anonfun
$apply$46$$anonfun$apply$49.apply(LiftSession.scala:1035) ~[lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$19$$anonfun$apply$45$$anonfun
$apply$46$$anonfun$apply$49.apply(LiftSession.scala:1035) ~[lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.common.EmptyBox.or(Box.scala:467) ~[lift-
common_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$19$$anonfun$apply$45$$anonfun
$apply$46.apply(LiftSession.scala:1034) ~[lift-webkit_2.8.1-2.2.jar:
2.2]
at net.liftweb.http.LiftSession$$anonfun$19$$anonfun$apply$45$$anonfun
$apply$46.apply(LiftSession.scala:1034) ~[lift-webkit_2.8.1-2.2.jar:
2.2]
at net.liftweb.util.StackableMaker$class.doWith(Maker.scala:141)
~[lift-util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.Factory$FactoryMaker.doWith(Factory.scala:37)
~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.StackableMaker$class.doWith(Maker.scala:135)
~[lift-util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.Factory$FactoryMaker.doWith(Factory.scala:37)
~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$19$$anonfun$apply
$45.apply(LiftSession.scala:1033) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$19$$anonfun$apply
$45.apply(LiftSession.scala:1029) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession.net$liftweb$http$LiftSession$
$checkStatelessInSiteMap(LiftSession.scala:973) ~[lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$19.apply(LiftSession.scala:
1029) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession$$anonfun$19.apply(LiftSession.scala:
1027) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.common.EmptyBox.or(Box.scala:467) ~[lift-
common_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftSession.processRequest(LiftSession.scala:
1027) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet.net$liftweb$http$LiftServlet$
$dispatchStatefulRequest(LiftServlet.scala:314) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet$$anonfun$doSession
$1$1.apply(LiftServlet.scala:191) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet$$anonfun$doSession
$1$1.apply(LiftServlet.scala:191) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:1169)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1$
$anonfun$apply$29.apply(S.scala:1309) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:1106)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround
$1.apply(S.scala:1107) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anon$1$$anonfun$apply$13.recurseMe
$1(DB.scala:198) [lift-mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anon$1$$anonfun$apply$13$$anonfun$recurseMe
$1$1.apply(DB.scala:214) [lift-mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anon$1$$anonfun$apply$13$$anonfun$recurseMe
$1$1.apply(DB.scala:214) [lift-mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anonfun$use$1.apply(DB.scala:606) [lift-
mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.util.DynoVar$class.run(ThreadGlobal.scala:95) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$currentConn$.run(DB.scala:593) [lift-
mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$.use(DB.scala:603) [lift-
mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anon$1$$anonfun$apply$13.recurseMe
$1(DB.scala:214) [lift-mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anon$1$$anonfun$apply$13.apply(DB.scala:
216) [lift-mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.util.DynoVar$class.run(ThreadGlobal.scala:95) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anon$1$DepthCnt$.run(DB.scala:187) [lift-
mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anon$1.apply(DB.scala:190) [lift-
mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:1107)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit
$1.apply(S.scala:1307) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.net$liftweb$http$S$$_nest2InnerInit(S.scala:
1306) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
$anonfun$apply$31$$anonfun$apply$32$$anonfun$apply$33$$anonfun$apply
$34.apply(S.scala:1332) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.withReq(S.scala:1341) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
$anonfun$apply$31$$anonfun$apply$32$$anonfun$apply$33.apply(S.scala:
1331) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
$anonfun$apply$31$$anonfun$apply$32.apply(S.scala:1330) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
$anonfun$apply$31.apply(S.scala:1329) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit
$1.apply(S.scala:1328) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.net$liftweb$http$S$$_innerInit(S.scala:1327)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun
$apply$41$$anonfun$apply$42$$anonfun$apply$43$$anonfun$apply$44$
$anonfun$apply$45.apply(S.scala:1381) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun
$apply$41$$anonfun$apply$42$$anonfun$apply$43$$anonfun$apply
$44.apply(S.scala:1379) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:507)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.RequestVarHandler$.apply(Vars.scala:428) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun
$apply$41$$anonfun$apply$42$$anonfun$apply$43.apply(S.scala:1378)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:507)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.TransientRequestVarHandler$.apply(Vars.scala:432)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun
$apply$41$$anonfun$apply$42.apply(S.scala:1377) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun
$apply$41.apply(S.scala:1376) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init
$1.apply(S.scala:1375) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.net$liftweb$http$S$$_init(S.scala:1374) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.init(S.scala:991) [lift-webkit_2.8.1-2.2.jar:
2.2]
at net.liftweb.http.LiftServlet.doSession$1(LiftServlet.scala:190)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet.doService(LiftServlet.scala:200)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply$mcZ
$sp(LiftServlet.scala:86) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet$$anonfun$doIt
$1$1.apply(LiftServlet.scala:86) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet$$anonfun$doIt
$1$1.apply(LiftServlet.scala:86) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:329)
[lift-util_2.8.1-2.2.jar:2.2]
at net.liftweb.util.Helpers$.calcTime(Helpers.scala:34) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.util.TimeHelpers$class.logTime(TimeHelpers.scala:338)
[lift-util_2.8.1-2.2.jar:2.2]
at net.liftweb.util.Helpers$.logTime(Helpers.scala:34) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet.doIt$1(LiftServlet.scala:85) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet.service(LiftServlet.scala:93) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service$2.apply$mcV
$sp(HTTPProvider.scala:66) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service
$2.apply(HTTPProvider.scala:65) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service
$2.apply(HTTPProvider.scala:65) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.URLRewriter$.doWith(Req.scala:934) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.HTTPProvider
$class.service(HTTPProvider.scala:64) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftFilter.service(LiftServlet.scala:635) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun
$doFilter$1$$anonfun$apply$mcV$sp$1.apply$mcV
$sp(ServletFilterProvider.scala:67) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun
$doFilter$1$$anonfun$apply$mcV$sp$1.apply(ServletFilterProvider.scala:
62) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun
$doFilter$1$$anonfun$apply$mcV$sp$1.apply(ServletFilterProvider.scala:
62) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$12$$anonfun
$apply$13$$anonfun$apply$14$$anonfun$apply$15.apply(Vars.scala:513)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$12$$anonfun
$apply$13$$anonfun$apply$14.apply(Vars.scala:512) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$12$$anonfun
$apply$13.apply(Vars.scala:511) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply
$12.apply(Vars.scala:510) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:509)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.RequestVarHandler$.apply(Vars.scala:428) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun
$doFilter$1.apply$mcV$sp(ServletFilterProvider.scala:61) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun
$doFilter$1.apply(ServletFilterProvider.scala:61) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun
$doFilter$1.apply(ServletFilterProvider.scala:61) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$12$$anonfun
$apply$13$$anonfun$apply$14$$anonfun$apply$15.apply(Vars.scala:513)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$12$$anonfun
$apply$13$$anonfun$apply$14.apply(Vars.scala:512) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$12$$anonfun
$apply$13.apply(Vars.scala:511) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply
$12.apply(Vars.scala:510) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:509)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.TransientRequestVarHandler$.apply(Vars.scala:432)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.servlet.ServletFilterProvider
$class.doFilter(ServletFilterProvider.scala:60) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftFilter.doFilter(LiftServlet.scala:635) [lift-
webkit_2.8.1-2.2.jar:2.2]
at org.eclipse.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1323) [jetty-
servlet-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
474) [jetty-servlet-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:
119) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:
480) [jetty-security-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:
226) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:
935) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
404) [jetty-servlet-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:
184) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:
870) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:
117) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:
247) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:
151) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:
116) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at org.eclipse.jetty.server.Server.handle(Server.java:346) [jetty-
server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:
596) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at org.eclipse.jetty.server.HttpConnection
$RequestHandler.content(HttpConnection.java:1068) [jetty-
server-7.3.0.v20110203.jar:7.3.0.v20110203]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:807)
[jetty-http-7.3.0.v20110203.jar:7.3.0.v20110203]
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:
220) [jetty-http-7.3.0.v20110203.jar:7.3.0.v20110203]
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:
426) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:
520) [jetty-io-7.3.0.v20110203.jar:7.3.0.v20110203]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint
$1.run(SelectChannelEndPoint.java:40) [jetty-io-7.3.0.v20110203.jar:
7.3.0.v20110203]
at org.eclipse.jetty.util.thread.QueuedThreadPool
$3.run(QueuedThreadPool.java:528) [jetty-util-7.3.0.v20110203.jar:
7.3.0.v20110203]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_06]
Caused by:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
No operations allowed after connection closed.Connection was
implicitly closed by the driver.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method) ~[na:1.6.0_06]
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:
39) ~[na:1.6.0_06]
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:
27) ~[na:1.6.0_06]
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
~[na:1.6.0_06]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) ~[mysql-
connector-java-5.1.15.jar:na]
at com.mysql.jdbc.Util.getInstance(Util.java:382) ~[mysql-connector-
java-5.1.15.jar:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013)
~[mysql-connector-java-5.1.15.jar:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
~[mysql-connector-java-5.1.15.jar:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
~[mysql-connector-java-5.1.15.jar:na]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
~[mysql-connector-java-5.1.15.jar:na]
at
com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:
1213) ~[mysql-connector-java-5.1.15.jar:na]
at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:
1200) ~[mysql-connector-java-5.1.15.jar:na]
at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:
4203) ~[mysql-connector-java-5.1.15.jar:na]
at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:
4169) ~[mysql-connector-java-5.1.15.jar:na]
at org.squeryl.internals.DatabaseAdapter
$class.prepareStatement(DatabaseAdapter.scala:286)
~[squeryl_2.8.1-0.9.4-RC3.jar:na]
at
org.squeryl.adapters.MySQLAdapter.prepareStatement(MySQLAdapter.scala:
23) ~[squeryl_2.8.1-0.9.4-RC3.jar:na]
at org.squeryl.internals.DatabaseAdapter$$anonfun$executeQuery
$1.apply(DatabaseAdapter.scala:370) ~[squeryl_2.8.1-0.9.4-RC3.jar:na]
at org.squeryl.internals.DatabaseAdapter$$anonfun$executeQuery
$1.apply(DatabaseAdapter.scala:369) ~[squeryl_2.8.1-0.9.4-RC3.jar:na]
at org.squeryl.internals.DatabaseAdapter
$class._exec(DatabaseAdapter.scala:313) ~[squeryl_2.8.1-0.9.4-
RC3.jar:na]
... 259 common frames omitted
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
Communications link failure

The last packet successfully received from the server was 47,816,890
milliseconds ago. The last packet sent successfully to the server was
78 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method) ~[na:1.6.0_06]
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:
39) ~[na:1.6.0_06]
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:
27) ~[na:1.6.0_06]
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
~[na:1.6.0_06]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) ~[mysql-
connector-java-5.1.15.jar:na]
at
com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:
1116) ~[mysql-connector-java-5.1.15.jar:na]
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3092)
~[mysql-connector-java-5.1.15.jar:na]
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2978)
~[mysql-connector-java-5.1.15.jar:na]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3526) ~[mysql-
connector-java-5.1.15.jar:na]
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989) ~[mysql-
connector-java-5.1.15.jar:na]
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150) ~[mysql-
connector-java-5.1.15.jar:na]
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
~[mysql-connector-java-5.1.15.jar:na]
at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:
5022) ~[mysql-connector-java-5.1.15.jar:na]
at net.liftweb.mapper.ProtoDBVendor$class.testConnection(DB.scala:
1101) ~[lift-mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.StandardDBVendor.testConnection(DB.scala:1042)
~[lift-mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.ProtoDBVendor$class.liftedTree1$1(DB.scala:
1129) ~[lift-mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.ProtoDBVendor$class.newConnection(DB.scala:
1128) ~[lift-mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.StandardDBVendor.newConnection(DB.scala:1042)
~[lift-mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anonfun$6$$anonfun$apply$8.apply(DB.scala:
134) ~[lift-mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anonfun$6$$anonfun$apply$8.apply(DB.scala:
134) ~[lift-mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.common.EmptyBox.or(Box.scala:467) ~[lift-
common_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anonfun$6.apply(DB.scala:134) ~[lift-
mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anonfun$6.apply(DB.scala:134) ~[lift-
mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.common.Full.flatMap(Box.scala:400) ~[lift-
common_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$.newConnection(DB.scala:134) [lift-
mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$.getConnection(DB.scala:249) [lift-
mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$.use(DB.scala:602) [lift-
mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anon$1$$anonfun$apply$13.recurseMe
$1(DB.scala:214) [lift-mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anon$1$$anonfun$apply$13.apply(DB.scala:
216) [lift-mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.util.DynoVar$class.run(ThreadGlobal.scala:95) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anon$1$DepthCnt$.run(DB.scala:187) [lift-
mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.mapper.DB$$anon$1.apply(DB.scala:190) [lift-
mapper_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:1107)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit
$1.apply(S.scala:1307) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.net$liftweb$http$S$$_nest2InnerInit(S.scala:
1306) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
$anonfun$apply$31$$anonfun$apply$32$$anonfun$apply$33$$anonfun$apply
$34.apply(S.scala:1332) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.withReq(S.scala:1341) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
$anonfun$apply$31$$anonfun$apply$32$$anonfun$apply$33.apply(S.scala:
1331) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
$anonfun$apply$31$$anonfun$apply$32.apply(S.scala:1330) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
$anonfun$apply$31.apply(S.scala:1329) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit
$1.apply(S.scala:1328) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.net$liftweb$http$S$$_innerInit(S.scala:1327)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun
$apply$41$$anonfun$apply$42$$anonfun$apply$43$$anonfun$apply$44$
$anonfun$apply$45.apply(S.scala:1381) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun
$apply$41$$anonfun$apply$42$$anonfun$apply$43$$anonfun$apply
$44.apply(S.scala:1379) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:507)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.RequestVarHandler$.apply(Vars.scala:428) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun
$apply$41$$anonfun$apply$42$$anonfun$apply$43.apply(S.scala:1378)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:507)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.TransientRequestVarHandler$.apply(Vars.scala:432)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun
$apply$41$$anonfun$apply$42.apply(S.scala:1377) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init$1$$anonfun
$apply$41.apply(S.scala:1376) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_init
$1.apply(S.scala:1375) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.net$liftweb$http$S$$_init(S.scala:1374) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.S$.init(S.scala:991) [lift-webkit_2.8.1-2.2.jar:
2.2]
at net.liftweb.http.SessionMaster$.addSession(LiftSession.scala:297)
~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftRules$.net$liftweb$http$LiftRules$
$_getLiftSession(LiftRules.scala:180) ~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftRules$$anonfun$4.apply(LiftRules.scala:143)
~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftRules$$anonfun$4.apply(LiftRules.scala:143)
~[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet.getLiftSession(LiftServlet.scala:76)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet.doService(LiftServlet.scala:186)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply$mcZ
$sp(LiftServlet.scala:86) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet$$anonfun$doIt
$1$1.apply(LiftServlet.scala:86) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet$$anonfun$doIt
$1$1.apply(LiftServlet.scala:86) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:329)
[lift-util_2.8.1-2.2.jar:2.2]
at net.liftweb.util.Helpers$.calcTime(Helpers.scala:34) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.util.TimeHelpers$class.logTime(TimeHelpers.scala:338)
[lift-util_2.8.1-2.2.jar:2.2]
at net.liftweb.util.Helpers$.logTime(Helpers.scala:34) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet.doIt$1(LiftServlet.scala:85) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftServlet.service(LiftServlet.scala:93) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service$2.apply$mcV
$sp(HTTPProvider.scala:66) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service
$2.apply(HTTPProvider.scala:65) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.HTTPProvider$$anonfun$service
$2.apply(HTTPProvider.scala:65) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.URLRewriter$.doWith(Req.scala:934) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.HTTPProvider
$class.service(HTTPProvider.scala:64) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftFilter.service(LiftServlet.scala:635) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun
$doFilter$1$$anonfun$apply$mcV$sp$1.apply$mcV
$sp(ServletFilterProvider.scala:67) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun
$doFilter$1$$anonfun$apply$mcV$sp$1.apply(ServletFilterProvider.scala:
62) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun
$doFilter$1$$anonfun$apply$mcV$sp$1.apply(ServletFilterProvider.scala:
62) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$12$$anonfun
$apply$13$$anonfun$apply$14$$anonfun$apply$15.apply(Vars.scala:513)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$12$$anonfun
$apply$13$$anonfun$apply$14.apply(Vars.scala:512) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$12$$anonfun
$apply$13.apply(Vars.scala:511) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply
$12.apply(Vars.scala:510) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:509)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.RequestVarHandler$.apply(Vars.scala:428) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun
$doFilter$1.apply$mcV$sp(ServletFilterProvider.scala:61) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun
$doFilter$1.apply(ServletFilterProvider.scala:61) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun
$doFilter$1.apply(ServletFilterProvider.scala:61) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$12$$anonfun
$apply$13$$anonfun$apply$14$$anonfun$apply$15.apply(Vars.scala:513)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$12$$anonfun
$apply$13$$anonfun$apply$14.apply(Vars.scala:512) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$12$$anonfun
$apply$13.apply(Vars.scala:511) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$$anonfun$apply
$12.apply(Vars.scala:510) [lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71) [lift-
util_2.8.1-2.2.jar:2.2]
at net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:509)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.TransientRequestVarHandler$.apply(Vars.scala:432)
[lift-webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.provider.servlet.ServletFilterProvider
$class.doFilter(ServletFilterProvider.scala:60) [lift-
webkit_2.8.1-2.2.jar:2.2]
at net.liftweb.http.LiftFilter.doFilter(LiftServlet.scala:635) [lift-
webkit_2.8.1-2.2.jar:2.2]
at org.eclipse.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1323) [jetty-
servlet-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
474) [jetty-servlet-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:
119) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:
480) [jetty-security-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:
226) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:
935) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
404) [jetty-servlet-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:
184) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:
870) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:
117) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:
247) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:
151) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:
116) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at org.eclipse.jetty.server.Server.handle(Server.java:346) [jetty-
server-7.3.0.v20110203.jar:7.3.0.v20110203]
at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:
596) [jetty-server-7.3.0.v20110203.jar:7.3.0.v20110203]
at org.eclipse.jetty.server.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:1051) [jetty-
server-7.3.0.v20110203.jar:7.3.0.v20110203]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:592)
[jetty-http-7.3.0.v20110203.jar:7.3.0.v20110203]
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:
214) [jetty-http-7.3.0.v20110203.jar:7.3.0.v20110203]
... 5 common frames omitted
Caused by: java.io.EOFException: Can not read response from server.
Expected to read 4 bytes, read 0 bytes before connection was
unexpectedly lost.
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2539) ~[mysql-
connector-java-5.1.15.jar:na]
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2989)
~[mysql-connector-java-5.1.15.jar:na]
... 130 common frames omitted
01:32:16.031 [qtp22460089-13] DEBUG net.liftweb.mapper.ProtoDBVendor -
Released connection. poolSize=1
01:32:16.031 [qtp22460089-13] INFO net.liftweb.util.TimeHelpers -
Service request (POST) /tr/reviews took 15 Milliseconds


===== Boot.scala =====
package bootstrap.liftweb

import net.liftweb._
import util._
import Helpers._

import common._
import http._
import sitemap._
import Loc._
import mapper._
import squerylrecord._

import code.model._
import code.lib._
import org.squeryl.adapters.MySQLAdapter
import java.sql.{Connection, SQLException}
import org.squeryl.Session


/**
* A class that's instantiated early and run. It allows the
application
* to modify lift's environment
*/
class Boot extends Loggable {
def boot {
DefaultConnectionIdentifier.jndiName = Props.get("db.jndiName")
openOr "jdbc/tr"

if (!DB.jndiJdbcConnAvailable_?) {
logger.info("No JNDI data source for: " +
DefaultConnectionIdentifier.jndiName)
val vendor =
new StandardDBVendor(Props.get("db.driver") openOr
"org.h2.Driver",
Props.get("db.url") openOr "jdbc:h2:tr;AUTO_SERVER=TRUE",
Props.get("db.user"), Props.get("db.password")) {
}
logger.info("Using " + vendor + " instead.")
LiftRules.unloadHooks.append(vendor.closeAllConnections_! _)
DB.defineConnectionManager(DefaultConnectionIdentifier, vendor)
}

SquerylRecord.init(() => new MySQLAdapter)

// Use Lift's Mapper ORM to populate the database
// you don't need to use Mapper to use Lift... use
// any ORM you want
Schemifier.schemify(true, Schemifier.infoF _, User)

// where to search snippet
LiftRules.addToPackages("code")

LiftRules.dispatch.append(ReviewServices)
LiftRules.dispatch.append(DevelopmentServices)

LiftRules.fixCSS("css" :: "main" :: Nil, Empty)

// Build SiteMap
def sitemap = SiteMap(
Menu.i("Home") / "index" >> User.AddUserMenusAfter, // the
simple way to declare a menu

Menu.i("Reviews") / "reviews",
Menu.i("Edit Review") / "edit" >> Hidden,

// more complex because this menu allows anything in the
// /static path to be visible
Menu(Loc("Static", Link(List("static"), true, "/static/index"),
"Static Content")))

def sitemapMutators = User.sitemapMutator

// set the sitemap. Note if you don't want access control for
// each page, just comment this line out.
LiftRules.setSiteMapFunc(() => sitemapMutators(sitemap))

//Show the spinny image when an Ajax call starts
LiftRules.ajaxStart =
Full(() => LiftRules.jsArtifacts.show("ajax-loader").cmd)

// Make the spinny image go away when it ends
LiftRules.ajaxEnd =
Full(() => LiftRules.jsArtifacts.hide("ajax-loader").cmd)

// Force the request to be UTF-8
LiftRules.early.append(_.setCharacterEncoding("UTF-8"))

// What is the function to test if a user is logged in?
LiftRules.loggedInTest = Full(() => User.loggedIn_?)

// Use HTML5 for rendering
LiftRules.htmlProperties.default.set((r: Req) =>
new Html5Properties(r.userAgent))

// Make a transaction span the whole HTTP request
S.addAround(DB.buildLoanWrapper)
}
}


===== sbt project file =====
import sbt._
import eu.getintheloop.Native2AsciiPlugin

class LiftProject(info: ProjectInfo) extends DefaultWebProject(info)
with Native2AsciiPlugin {
override def parallelExecution = true

val liftVersion = "2.2"

// for JRebel
override def scanDirectories = Nil

def liftify(artifactId: String) = "net.liftweb" %% artifactId %
liftVersion % "compile->default" withSources

lazy val liftWebkit = liftify("lift-webkit")
lazy val liftJson = liftify("lift-json")
lazy val liftSquerylRecord = liftify("lift-squeryl-record")

lazy val junit = "junit" % "junit" % "4.7" % "test->default"
withSources
lazy val specs = "org.scala-tools.testing" %% "specs" % "1.6.6" %
"test->default" withSources
lazy val jettyServer = "org.mortbay.jetty" % "jetty" % "6.1.25" %
"test->default"
lazy val mysqlJdbc = "mysql" % "mysql-connector-java" % "5.1.15"
lazy val logback = "ch.qos.logback" % "logback-classic" % "0.9.26"

// solely for source retrieval
lazy val liftMapper = liftify("lift-mapper")
lazy val liftRecord = liftify("lift-record")
lazy val liftUtil = liftify("lift-util")
lazy val liftCommon = liftify("lift-common")

// native2ascii
override val encoding: String = "utf-8"
override val translationInputPath: Path = mainSourcePath / "i18n"
override val translationInputExtension: String = "txt"
override val translationOutputPath: Path = mainResourcesPath
}


===== production.default.props =====
db.jndiName=jdbc/tr
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost/tr?
createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8
db.user=tr
db.password=tr

David Pollak

unread,
Feb 23, 2011, 4:53:42 PM2/23/11
to lif...@googlegroups.com
This sounds like a part of the discussion that we were having earlier about Lift's LoanWrappers and the DB singleton that manages connections.

It'd be great if Squeryl could us Lift's connection pooling system when running in Lift apps.


--
You received this message because you are subscribed to the Google Groups "Lift" group.
To post to this group, send email to lif...@googlegroups.com.
To unsubscribe from this group, send email to liftweb+u...@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
Blog: http://goodstuff.im
Surf the harmonics

Maxime Lévesque

unread,
Feb 24, 2011, 12:12:13 AM2/24/11
to lif...@googlegroups.com

Dave, I think I know what the problem is, he *is* in fact using Lift's connection pooling, because he uses this initialization method :


The second one described here in the initialization section :


From Squeryl's perspective, he is using : a (Squeryl) session created by : SessionFactory.externalTransactionManagementAdapter

So far, everything *should* be good, but it isn't... What I think is missing from the squeryl-record integration is the 
call to this cleanup block:

 if(Session.hasCurrentSession) {
   Session.currentSession.cleanupResources
   Session.currentSession.unbindFromCurrentThread
 }

at the end of Lift's transaction block (right before Lift closes the JDBC connection)

If Lift has such a callback (I'm pretty sure it does) please make sure the above snippet gets called.

Can someone instruct us on the Lift callback to use for this ?

Of course this would be a work around, until the callback gets registered in
the squeryl-record initialization.

ML

tenniscp25

unread,
Feb 23, 2011, 11:46:58 PM2/23/11
to Lift
It throws those exceptions even if I'm using Tomcat's JNDI DataSource.
Doesn't the JNDI DataSource automatically do connection pooling
internally?

Please correct me if I'm wrong.

Thank you.

On Feb 24, 4:53 am, David Pollak <feeder.of.the.be...@gmail.com>
wrote:
> ...
>
> read more »

tenniscp25

unread,
Feb 24, 2011, 3:04:45 AM2/24/11
to Lift
Thanks David and ML,

Yes, I initialize Squeryl with this code:

DefaultConnectionIdentifier.jndiName = Props.get("db.jndiName")
openOr "jdbc/tr"

if (!DB.jndiJdbcConnAvailable_?) {
logger.info("No JNDI data source for: " +
DefaultConnectionIdentifier.jndiName)
val vendor =
new StandardDBVendor(Props.get("db.driver") openOr
"org.h2.Driver",
Props.get("db.url") openOr "jdbc:h2:tr;AUTO_SERVER=TRUE",
Props.get("db.user"), Props.get("db.password")) {
}
logger.info("Using " + vendor + " instead.")
LiftRules.unloadHooks.append(vendor.closeAllConnections_! _)
DB.defineConnectionManager(DefaultConnectionIdentifier, vendor)
}

SquerylRecord.init(() => new MySQLAdapter)


and this props file:

db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost/tr?
createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8
db.user=tr
db.password=tr


In fact, I tried both Lift's connection pooling and JNDI DataSource
(which I think it does some kind of connection pooling internally
too). Either way, the application still throws that exception.



On Feb 24, 12:12 pm, Maxime Lévesque <maxime.leves...@gmail.com>
wrote:
> Dave, I think I know what the problem is, he *is* in fact using Lift's
> connection pooling, because he uses this initialization method :
>
> https://github.com/lift/framework/blob/master/persistence/squeryl-rec...
>
> The second one described here in the initialization section :
>
> http://www.assembla.com/wiki/show/liftweb/Squeryl
>
> *From Squeryl's perspective, he is using : a (Squeryl) session created by :
> *SessionFactory.externalTransactionManagementAdapter
> (see :https://github.com/max-l/Squeryl/blob/master/src/main/scala/org/squer...
> )

David Pollak

unread,
Feb 24, 2011, 8:19:28 AM2/24/11
to lif...@googlegroups.com
On Wed, Feb 23, 2011 at 8:46 PM, tenniscp25 <tenni...@gmail.com> wrote:
It throws those exceptions even if I'm using Tomcat's JNDI DataSource.
Doesn't the JNDI DataSource automatically do connection pooling
internally?

If this is the case, then, yes, Tomcat is responsible for insuring that the connection is still alive before handing the connection to your code.
 

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

Maxime Lévesque

unread,
Feb 24, 2011, 10:55:14 AM2/24/11
to lif...@googlegroups.com

Dave (or Lift experts reading this), is there a callback in Lift for when sessions are closed ?

If yes, tenniscp25 (...don't know your name..), register this snippet in the callback :

--------------before connection close OR after transaction commit callback --------------
 if(Session.hasCurrentSession) {
   Session.currentSession.cleanupResources
   Session.currentSession.unbindFromCurrentThread
 }
------------------------------------------------------------------------------------------------------------------

David Pollak

unread,
Feb 24, 2011, 11:06:55 AM2/24/11
to lif...@googlegroups.com


2011/2/24 Maxime Lévesque <maxime....@gmail.com>


Dave (or Lift experts reading this), is there a callback in Lift for when sessions are closed ?

We never close connections until the end of the application run.
 

If yes, tenniscp25 (...don't know your name..), register this snippet in the callback :

--------------before connection close OR after transaction commit callback --------------
 if(Session.hasCurrentSession) {
   Session.currentSession.cleanupResources
   Session.currentSession.unbindFromCurrentThread
 }
------------------------------------------------------------------------------------------------------------------

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

tenniscp25

unread,
Feb 24, 2011, 12:08:34 PM2/24/11
to Lift
I added the following code after
[[ S.addAround(DB.buildLoanWrapper) ]]. Let's see if it works.

S.addAround(DB.buildLoanWrapper)

S.addAround(new LoanWrapper() {
def apply[T](f: => T) = {
val ret = f
if (Session.hasCurrentSession) {
Session.currentSession.cleanup
Session.currentSession.unbindFromCurrentThread
}
ret
}
})


On Feb 24, 10:55 pm, Maxime Lévesque <maxime.leves...@gmail.com>
wrote:

David Whittaker

unread,
Feb 24, 2011, 12:35:01 PM2/24/11
to lif...@googlegroups.com
It's been a while since I've used MySQL, but I do remember that in the past there were issues with connection pools holding connections that had been timed out by the MySQL server.  See this page: http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html and the autoReconnect property (High Availability and Clustering) in particular.  The server drops unused connections after 8 hours by default (which seems to be the behavior you are seeing) and Tomcat or whatever other connection pool is in use wouldn't be aware that the connection it holds can no longer communicate with the DB.

tenniscp25

unread,
Feb 26, 2011, 1:12:59 AM2/26/11
to Lift
Thank you again.. I tried both cleanup code and autoReconnect
attribute. Neither works. :-(

On Feb 25, 12:35 am, David Whittaker <d...@iradix.com> wrote:
> It's been a while since I've used MySQL, but I do remember that in the past
> there were issues with connection pools holding connections that had been
> timed out by the MySQL server.  See this page:http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configur...

David Whittaker

unread,
Feb 26, 2011, 3:06:26 PM2/26/11
to lif...@googlegroups.com, tenniscp25
I should have been more clear... I wasn't suggesting the autoReconnect param as a solution, the documentation I sent you even recommends you don't use it, I was just trying to bring the MySQL behavior to your attention.  Even with autoReconnect on you'll still get at least one SQLException after the timeout, the setting just lets the driver know to reconnect afterwards.  What I had ended up doing years ago to deal with this was to configure Tomcat's DBCP connection pool to send a very simple query every time a connection was requested and verify that it was still valid.  That's obviously not a great long term solution.  From my experience, switching to Postgres is :)

tenniscp25

unread,
Mar 1, 2011, 1:33:10 PM3/1/11
to Lift
Thanks David. I overlooked the details in the documentation. :blush:

I ended up using Tomcat JDBC Connection Pool (http://people.apache.org/
~fhanik/jdbc-pool/jdbc-pool.html), and it works! In fact, I already
tried setting DBCP's validationQuery attribute before starting this
thread. I don't know why DBCP previously failed to throw away the dead
connection, but I think I must have done something wrong.

Anyway, thanks again for stressing this is MySQL problem.

Alex Siman

unread,
Aug 25, 2011, 7:11:38 AM8/25/11
to lif...@googlegroups.com
Hello!

Any updates on this issue? I have the same problem with Record+Squeryl+MySQL.
Mybe this can be fixed by using some connection pool?
As a quick solution I am considering to rewrite Record+Squeryl to Mapper.

Alex Siman

unread,
Aug 25, 2011, 9:26:09 AM8/25/11
to lif...@googlegroups.com
OK, just setup BoneCP as Squeryl connection manager and request-spanned inTransaction in LoanWrapper.
Will see if any errors occured.

David Whittaker

unread,
Aug 25, 2011, 9:37:42 AM8/25/11
to lif...@googlegroups.com
Alex,

I assume that you were originally getting the error using Lift style transaction management (https://www.assembla.com/spaces/liftweb/wiki/Squeryl#Initialization)?  If so, the connections are pooled by default and that leads to the error.  Mysql times out idle connections so any that are in the pool that haven't been used for longer than the timeout interval will throw an exception when you attempt to use them.  You're likely to see the same issue with BoneCP and Squeryl transactions.  See the earlier messages in this thread for info on how to change the timeout interval in Mysql or set the autoreconnect flag in the connection URL (which I don't recommend).

--
You received this message because you are subscribed to the Google Groups "Lift" group.
To view this discussion on the web visit https://groups.google.com/d/msg/liftweb/-/-viKt2KDz20J.

Wallace Wadge

unread,
Sep 5, 2011, 5:30:35 AM9/5/11
to lif...@googlegroups.com
BoneCP should be making dummy keep-alive sql statements to MySQL provided it's configured correctly. Please refer to BoneCPConfig.java for a list of all configuration options.
Reply all
Reply to author
Forward
0 new messages