incubator-esme-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ethan Jewett <esjew...@gmail.com>
Subject Re: The 'other' Anne breaks the timeline
Date Mon, 08 Nov 2010 14:27:55 GMT
Thanks Vassil, I know you have to explain this to me every time it comes up,
and I'm thankful that you take the time to do it :-)

So ... I guess my theory doesn't explain why my mailbox is empty every time
the server restarts. Since Matyjas' mailbox is not empty and he has RSS
actions, that is probably even more evidence that there is something else
going on.

Ethan

On Mon, Nov 8, 2010 at 2:57 PM, Vassil Dichev <vdichev@apache.org> wrote:

> The invisible messages are "invisible" because they are not saved to
> the database. This means that:
> 1) if you grab a list of the last 40 messages in Anne's timeline, you
> won't get to see the "invisible" ones
> 2) "invisible" messages don't survive a restart
> 3) "invisible" messages cannot be retrieved using a query, but only
> via some listener actor
>
> There is an easy way to catch one of these messages in your timeline-
> just bind the "every X mins" test to a "resend" action. I don't think
> it's just as easy to make a wish come true though ;-)
>
> Maybe it's clearer if call these messages non-persistent than
> invisible and then some of these phenomena would also be
> self-explanatory.
>
> Vassil
>
>
> On Mon, Nov 8, 2010 at 3:09 PM, Ethan Jewett <esjewett@gmail.com> wrote:
> > Yup, that is the beginning of it. The end-game comes in Message.scala, at
> > line 370. It looks like it fails before the nameMap method gets called.
> > Makes me think maybe it is a message with an at_name element that exists
> but
> > with an id that is blank, or something like that.
> >
> > Is there any way we can grab a a list of the last 40 or so messages in
> > Anne's timeline off of the database? Would that be OK Anne?
> >
> > On the unrelated topic, the fabled "invisible messages" are messages that
> > are generated by "every X mins" action tests. I believe they have mailbox
> > reason RegularReason. What actually seems to happen when you set up an
> > action with a test like this is that an Action is set up to listen for
> one
> > of these messages and then do something. There is also a timer set up
> that
> > sends one of these messages at the specified interval. These messages are
> > not displayed in the timeline, but some queries don't properly restrict
> them
> > out of the query scope. When you search for the last 40 messages in my
> > mailbox with no restriction on MailboxReason, then a lot of the messages
> > that come back will be invisible. If there are 40 or these invisible
> > messages, they push all other messages out of the mailbox and I appear to
> > have a blank timeline. We fixed this problem for normal mailbox
> operations
> > several months ago, but I think maybe we missed a query the repopulates
> the
> > mailbox after a restart.
> >
> > Rumor has it that if you catch one of these messages in your timeline,
> you
> > get to make a wish ;-)
> >
> > Ethan
> >
> > On Mon, Nov 8, 2010 at 12:59 PM, Richard Hirsch <hirsch.dick@gmail.com
> >wrote:
> >
> >> here is the exception - I don't know whether there are two exceptions
> >> or just one.
> >>
> >> I've turned all other logging, so I'll be able to keep closer tabs on
> >> the instance.
> >>
> >> This line is interesting :
> >> org.apache.esme.snippet.UserDisplay$.userInfo(UserDisplay.scala:63)
> >>
> >> What do you mean by "invisible messages"?
> >>
> >> D.
> >>
> >> ---------------
> >>
> >> ERROR - Array(scala.collection.Map$class.default(Map.scala:169),
> >> scala.collection.immutable.EmptyMap.default(EmptyMap.scala:22),
> >> scala.collection.Map$class.apply(Map.scala:80),
> >> scala.collection.immutable.EmptyMap.apply(EmptyMap.scala:22),
> >>
> >>
> org.apache.esme.model.Message$$anonfun$toXml$3$$anonfun$apply$10$$anonfun$apply$11.apply(Message.scala:371),
> >>
> >>
> org.apache.esme.model.Message$$anonfun$toXml$3$$anonfun$apply$10$$anonfun$apply$11.apply(Message.scala:370),
> >> scala.Option.map(Option.scala:70),
> >>
> >>
> org.apache.esme.model.Message$$anonfun$toXml$3$$anonfun$apply$10.apply(Message.scala:370),
> >>
> >>
> org.apache.esme.model.Message$$anonfun$toXml$3$$anonfun$apply$10.apply(Message.scala:368),
> >> scala.Seq$class.map(Seq.scala:280),
> >> scala.xml.NodeSeq.map(NodeSeq.scala:34),
> >> org.apache.esme.model.Message$$anonfun$toXml$3.apply(Message.scala:368),
> >> org.apache.esme.model.Message$$anonfun$toXml$3.apply(Message.scala:368),
> >> scala.Seq$class.map(Seq.scala:280),
> >> scala.xml.NodeSeq.map(NodeSeq.scala:34),
> >> org.apache.esme.model.Message.toXml(Message.scala:368),
> >> org.apache.esme.model.Message.digestedXHTML(Message.scala:384),
> >>
> >>
> org.apache.esme.lib.MessageUtils$$anonfun$bindMessages$1.apply(MessageUtils.scala:47),
> >>
> >>
> org.apache.esme.lib.MessageUtils$$anonfun$bindMessages$1.apply(MessageUtils.scala:43),
> >> scala.List.flatMap(List.scala:1132),
> >> org.apache.esme.lib.MessageUtils$.bindMessages(MessageUtils.scala:43),
> >>
> >>
> org.apache.esme.snippet.UserDisplay$$anonfun$userInfo$3.apply(UserDisplay.scala:70),
> >>
> >>
> org.apache.esme.snippet.UserDisplay$$anonfun$userInfo$3.apply(UserDisplay.scala:70),
> >>
> >>
> net.liftweb.util.BindHelpers$FuncBindParam.calcValue(BindHelpers.scala:227),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1$$anonfun$apply$24.apply(BindHelpers.scala:499),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1$$anonfun$apply$24.apply(BindHelpers.scala:492),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:491),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
> >> scala.Seq$class.flatMap(Seq.scala:294),
> >> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:512),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
> >> scala.Seq$class.flatMap(Seq.scala:294),
> >> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:512),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
> >> scala.Seq$class.flatMap(Seq.scala:294),
> >> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:512),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
> >> scala.Seq$class.flatMap(Seq.scala:294),
> >> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:512),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
> >> scala.Seq$class.flatMap(Seq.scala:294),
> >> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:512),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
> >> scala.Seq$class.flatMap(Seq.scala:294),
> >> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:512),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
> >> scala.Seq$class.flatMap(Seq.scala:294),
> >> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:512),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1.apply(BindHelpers.scala:490),
> >> scala.Seq$class.flatMap(Seq.scala:294),
> >> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
> >>
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2.in_bind$1(BindHelpers.scala:490),
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2.apply(BindHelpers.scala:517),
> >>
> net.liftweb.util.BindHelpers$$anonfun$bind$2.apply(BindHelpers.scala:475),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >> net.liftweb.util.BindHelpers$class.bind(BindHelpers.scala:475),
> >> net.liftweb.util.Helpers$.bind(Helpers.scala:34),
> >> net.liftweb.util.BindHelpers$class.bind(BindHelpers.scala:444),
> >> net.liftweb.util.Helpers$.bind(Helpers.scala:34),
> >> net.liftweb.util.BindHelpers$class.bind(BindHelpers.scala:414),
> >> net.liftweb.util.Helpers$.bind(Helpers.scala:34),
> >> org.apache.esme.snippet.UserDisplay$.userInfo(UserDisplay.scala:63),
> >> bootstrap.liftweb.Boot$$anonfun$5.apply(Boot.scala:174),
> >> bootstrap.liftweb.Boot$$anonfun$5.apply(Boot.scala:174),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$locSnippet$1$1$$anonfun$apply$65.apply(LiftSession.scala:905),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$locSnippet$1$1$$anonfun$apply$65.apply(LiftSession.scala:905),
> >> net.liftweb.common.Full.map(Box.scala:398),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$locSnippet$1$1.apply(LiftSession.scala:905),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$locSnippet$1$1.apply(LiftSession.scala:904),
> >> net.liftweb.common.Full.flatMap(Box.scala:400),
> >> net.liftweb.http.LiftSession.locSnippet$1(LiftSession.scala:904),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$apply$70.apply(LiftSession.scala:919),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$apply$70.apply(LiftSession.scala:919),
> >> net.liftweb.common.EmptyBox.or(Box.scala:467),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68.apply(LiftSession.scala:918),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68.apply(LiftSession.scala:919),
> >> net.liftweb.http.S$.doSnippet(S.scala:1749),
> >> net.liftweb.http.LiftSession$$anonfun$23.apply(LiftSession.scala:917),
> >> net.liftweb.http.LiftSession$$anonfun$23.apply(LiftSession.scala:916),
> >> net.liftweb.common.Full.map(Box.scala:398),
> >> net.liftweb.http.LiftSession.net
> >> $liftweb$http$LiftSession$$processSnippet(LiftSession.scala:916),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply(LiftSession.scala:1032),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply(LiftSession.scala:1020),
> >> net.liftweb.util.NamedPF.apply(NamedPartialFunction.scala:36),
> >> net.liftweb.util.NamedPF$.apply(NamedPartialFunction.scala:82),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83$$anonfun$apply$84.apply(LiftSession.scala:1134),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83$$anonfun$apply$84.apply(LiftSession.scala:1134),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >> net.liftweb.http.S$.setVars(S.scala:1585),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83.apply(LiftSession.scala:1133),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83.apply(LiftSession.scala:1133),
> >> net.liftweb.http.S$.withAttrs(S.scala:1604),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82.apply(LiftSession.scala:1132),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82.apply(LiftSession.scala:1132),
> >> net.liftweb.http.S$.doSnippet(S.scala:1749),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81.apply(LiftSession.scala:1131),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81.apply(LiftSession.scala:1131),
> >> net.liftweb.http.LiftSession.net
> >> $liftweb$http$LiftSession$$processOrDefer(LiftSession.scala:1116),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:1130),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:1124),
> >> scala.Seq$class.flatMap(Seq.scala:294),
> >> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
> >>
> >>
> net.liftweb.http.LiftSession.processSurroundAndInclude(LiftSession.scala:1123),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:1144),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:1124),
> >> scala.Seq$class.flatMap(Seq.scala:294),
> >> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
> >>
> >>
> net.liftweb.http.LiftSession.processSurroundAndInclude(LiftSession.scala:1123),
> >>
> >>
> net.liftweb.builtin.snippet.Surround$$anonfun$render$1$$anonfun$apply$2.apply(Surround.scala:39),
> >>
> >>
> net.liftweb.builtin.snippet.Surround$$anonfun$render$1$$anonfun$apply$2.apply(Surround.scala:36),
> >> net.liftweb.common.Full.map(Box.scala:398),
> >>
> >>
> net.liftweb.builtin.snippet.Surround$$anonfun$render$1.apply(Surround.scala:36),
> >>
> >>
> net.liftweb.builtin.snippet.Surround$$anonfun$render$1.apply(Surround.scala:35),
> >> net.liftweb.common.Full.flatMap(Box.scala:400),
> >> net.liftweb.builtin.snippet.Surround$.render(Surround.scala:35),
> >>
> >>
> net.liftweb.builtin.snippet.Surround$$anonfun$dispatch$1$$anonfun$apply$1.apply(Surround.scala:31),
> >>
> >>
> net.liftweb.builtin.snippet.Surround$$anonfun$dispatch$1$$anonfun$apply$1.apply(Surround.scala:31),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$apply$71$$anonfun$apply$73.apply(LiftSession.scala:936),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$apply$71$$anonfun$apply$73.apply(LiftSession.scala:920),
> >> net.liftweb.common.EmptyBox.openOr(Box.scala:465),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$apply$71.apply(LiftSession.scala:920),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$apply$71.apply(LiftSession.scala:920),
> >> net.liftweb.common.EmptyBox.openOr(Box.scala:465),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68.apply(LiftSession.scala:919),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68.apply(LiftSession.scala:919),
> >> net.liftweb.http.S$.doSnippet(S.scala:1749),
> >> net.liftweb.http.LiftSession$$anonfun$23.apply(LiftSession.scala:917),
> >> net.liftweb.http.LiftSession$$anonfun$23.apply(LiftSession.scala:916),
> >> net.liftweb.common.Full.map(Box.scala:398),
> >> net.liftweb.http.LiftSession.net
> >> $liftweb$http$LiftSession$$processSnippet(LiftSession.scala:916),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply(LiftSession.scala:1032),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply(LiftSession.scala:1020),
> >> net.liftweb.util.NamedPF.apply(NamedPartialFunction.scala:36),
> >> net.liftweb.util.NamedPF$.apply(NamedPartialFunction.scala:82),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83$$anonfun$apply$84.apply(LiftSession.scala:1134),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83$$anonfun$apply$84.apply(LiftSession.scala:1134),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >> net.liftweb.http.S$.setVars(S.scala:1585),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83.apply(LiftSession.scala:1133),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82$$anonfun$apply$83.apply(LiftSession.scala:1133),
> >> net.liftweb.http.S$.withAttrs(S.scala:1604),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82.apply(LiftSession.scala:1132),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81$$anonfun$apply$82.apply(LiftSession.scala:1132),
> >> net.liftweb.http.S$.doSnippet(S.scala:1749),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81.apply(LiftSession.scala:1131),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$81.apply(LiftSession.scala:1131),
> >> net.liftweb.http.LiftSession.net
> >> $liftweb$http$LiftSession$$processOrDefer(LiftSession.scala:1116),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:1130),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:1124),
> >> scala.Seq$class.flatMap(Seq.scala:294),
> >> scala.xml.NodeSeq.flatMap(NodeSeq.scala:34),
> >>
> >>
> net.liftweb.http.LiftSession.processSurroundAndInclude(LiftSession.scala:1123),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processTemplate$1$2.apply(LiftSession.scala:546),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$processTemplate$1$2.apply(LiftSession.scala:544),
> >> net.liftweb.common.Full.map(Box.scala:398),
> >> net.liftweb.http.LiftSession.processTemplate$1(LiftSession.scala:544),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$14$$anonfun$apply$39$$anonfun$apply$42.apply(LiftSession.scala:598),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$14$$anonfun$apply$39$$anonfun$apply$42.apply(LiftSession.scala:598),
> >> net.liftweb.common.EmptyBox.or(Box.scala:467),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$14$$anonfun$apply$39.apply(LiftSession.scala:597),
> >>
> >>
> net.liftweb.http.LiftSession$$anonfun$14$$anonfun$apply$39.apply(LiftSession.scala:597),
> >> net.liftweb.util.StackableMaker$class.doWith(Maker.scala:141),
> >> net.liftweb.http.Factory$FactoryMaker.doWith(Factory.scala:37),
> >> net.liftweb.util.StackableMaker$class.doWith(Maker.scala:135),
> >> net.liftweb.http.Factory$FactoryMaker.doWith(Factory.scala:37),
> >> net.liftweb.http.LiftSession$$anonfun$14.apply(LiftSession.scala:596),
> >> net.liftweb.http.LiftSession$$anonfun$14.apply(LiftSession.scala:591),
> >> net.liftweb.common.EmptyBox.or(Box.scala:467),
> >> net.liftweb.http.LiftSession.processRequest(LiftSession.scala:591),
> >> net.liftweb.http.LiftServlet.net
> >>
> $liftweb$http$LiftServlet$$dispatchStatefulRequest(LiftServlet.scala:285),
> >> net.liftweb.http.LiftServlet$$anonfun$3.apply(LiftServlet.scala:188),
> >> net.liftweb.http.LiftServlet$$anonfun$3.apply(LiftServlet.scala:188),
> >> net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:1042),
> >>
> >>
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1$$anonfun$apply$26.apply(S.scala:1182),
> >> net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:979),
> >>
> >>
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround$1.apply(S.scala:980),
> >>
> >>
> net.liftweb.mapper.MetaProtoExtendedSession$myWrapper$.apply(ProtoExtendedSession.scala:81),
> >> net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:980),
> >>
> >>
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1.apply(S.scala:1180),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >> net.liftweb.http.S$.net$liftweb$http$S$$_nest2InnerInit(S.scala:1179),
> >>
> >>
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$29$$anonfun$apply$30$$anonfun$apply$31$$anonfun$apply$32.apply(S.scala:1205),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >> net.liftweb.http.S$.withReq(S.scala:1214),
> >>
> >>
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$29$$anonfun$apply$30$$anonfun$apply$31.apply(S.scala:1204),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >>
> >>
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$29$$anonfun$apply$30.apply(S.scala:1203),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >>
> >>
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$29.apply(S.scala:1202),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >>
> >>
> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1.apply(S.scala:1201),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >> net.liftweb.http.S$.net$liftweb$http$S$$_innerInit(S.scala:1200),
> >>
> >>
> net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$39$$anonfun$apply$40$$anonfun$apply$41$$anonfun$apply$42$$anonfun$apply$43.apply(S.scala:1254),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >>
> >>
> net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$39$$anonfun$apply$40$$anonfun$apply$41$$anonfun$apply$42.apply(S.scala:1253),
> >> net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:329),
> >> net.liftweb.http.RequestVarHandler$.apply(Vars.scala:250),
> >>
> >>
> net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$39$$anonfun$apply$40$$anonfun$apply$41.apply(S.scala:1252),
> >> net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:329),
> >> net.liftweb.http.TransientRequestVarHandler$.apply(Vars.scala:254),
> >>
> >>
> net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$39$$anonfun$apply$40.apply(S.scala:1251),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >>
> net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$39.apply(S.scala:1250),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >> net.liftweb.http.S$$anonfun$_init$1.apply(S.scala:1249),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >> net.liftweb.http.S$._init(S.scala:1248),
> >> net.liftweb.http.S$.init(S.scala:887),
> >> net.liftweb.http.LiftServlet.doService(LiftServlet.scala:187),
> >>
> net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply(LiftServlet.scala:86),
> >>
> net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply(LiftServlet.scala:86),
> >> net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:326),
> >> net.liftweb.util.Helpers$.calcTime(Helpers.scala:34),
> >> net.liftweb.util.TimeHelpers$class.logTime(TimeHelpers.scala:335),
> >> net.liftweb.util.Helpers$.logTime(Helpers.scala:34),
> >> net.liftweb.http.LiftServlet.doIt$1(LiftServlet.scala:85),
> >> net.liftweb.http.LiftServlet.service(LiftServlet.scala:93),
> >>
> >>
> net.liftweb.http.provider.HTTPProvider$$anonfun$service$3.apply(HTTPProvider.scala:61),
> >>
> >>
> net.liftweb.http.provider.HTTPProvider$$anonfun$service$3.apply(HTTPProvider.scala:61),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >> net.liftweb.http.URLRewriter$.doWith(Req.scala:618),
> >>
> >>
> net.liftweb.http.provider.HTTPProvider$class.service(HTTPProvider.scala:60),
> >> net.liftweb.http.LiftFilter.service(LiftServlet.scala:586),
> >>
> >>
> net.liftweb.http.provider.servlet.ServletFilterProvider$class.protected$service(ServletFilterProvider.scala:67),
> >> net.liftweb.http.LiftFilter.protected$service(LiftServlet.scala:586),
> >>
> >>
> net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1$$anonfun$apply$1.apply(ServletFilterProvider.scala:67),
> >>
> >>
> net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1$$anonfun$apply$1.apply(ServletFilterProvider.scala:62),
> >>
> >>
> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$10$$anonfun$apply$11$$anonfun$apply$12.apply(Vars.scala:335),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >>
> >>
> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$10$$anonfun$apply$11.apply(Vars.scala:334),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >>
> >>
> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$10.apply(Vars.scala:333),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >>
> >>
> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9.apply(Vars.scala:332),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >> net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:331),
> >> net.liftweb.http.RequestVarHandler$.apply(Vars.scala:250),
> >>
> >>
> net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1.apply(ServletFilterProvider.scala:61),
> >>
> >>
> net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilter$1.apply(ServletFilterProvider.scala:61),
> >>
> >>
> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$10$$anonfun$apply$11$$anonfun$apply$12.apply(Vars.scala:335),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >>
> >>
> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$10$$anonfun$apply$11.apply(Vars.scala:334),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >>
> >>
> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$10.apply(Vars.scala:333),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >>
> >>
> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9.apply(Vars.scala:332),
> >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71),
> >> net.liftweb.http.CoreRequestVarHandler$class.apply(Vars.scala:331),
> >> net.liftweb.http.TransientRequestVarHandler$.apply(Vars.scala:254),
> >>
> >>
> net.liftweb.http.provider.servlet.ServletFilterProvider$class.doFilter(ServletFilterProvider.scala:60),
> >> net.liftweb.http.LiftFilter.doFilter(LiftServlet.scala:586),
> >>
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235),
> >>
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206),
> >>
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233),
> >>
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191),
> >>
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127),
> >>
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102),
> >>
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109),
> >>
> >>
> net.stax.appserver.webapp.RequestMonitorValve.invoke(RequestMonitorValve.java:35),
> >>
> >>
> net.stax.appserver.admin.StaxApplicationQueryValve.invoke(StaxApplicationQueryValve.java:42),
> >>
> >>
> net.stax.appserver.webapp.RequestSetupValve.invoke(RequestSetupValve.java:31),
> >> org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:632),
> >>
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298),
> >>
> >>
> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:883),
> >>
> >>
> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:721),
> >>
> >>
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2258),
> >>
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886),
> >>
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908),
> >> java.lang.Thread.run(Thread.java:619))
> >>
> >> On Mon, Nov 8, 2010 at 12:39 PM, Ethan Jewett <esjewett@gmail.com>
> wrote:
> >> > Hmmm, Anne's user page isn't working now. Can you check the logs for
> the
> >> > last 2 hrs?
> >> >
> >> > My timeline is always like that (empty) after a server restart. I'm
> not
> >> sure
> >> > why that happens to me, but I bet it has to do with the invisible
> >> messages
> >> > in my timeline from the "every 5 mins" actions. I have been meaning to
> >> try
> >> > to refactor and evict those messages into a whole separate messaging
> >> > subsystem for the actors, but I haven't even gotten around to thinking
> >> about
> >> > if that makes sense, much less creating a Jira item for it :-)
> >> >
> >> > Ethan
> >> >
> >> > On Mon, Nov 8, 2010 at 10:10 AM, Richard Hirsch <
> hirsch.dick@gmail.com
> >> >wrote:
> >> >
> >> >> Still looks good - I'll look into the stax log every once in a while
> >> >> to see if have any more exceptions.
> >> >>
> >> >> On Mon, Nov 8, 2010 at 9:08 AM, Richard Hirsch <
> hirsch.dick@gmail.com>
> >> >> wrote:
> >> >> > Just deployed on stax with vassil's code change.
> >> >> >
> >> >> > Anne's timeline is now visible without an error. What is even
> stranger
> >> >> > is that ethan's timeline is also visible but just with my last
> >> >> > message. Normally Ethan's timeline is empty, so I was a little
bit
> >> >> > surprised.
> >> >> >
> >> >> > I'll take another look in 5 minutes to see if everything is still
> >> visible
> >> >> >
> >> >> > D.
> >> >> >
> >> >> > On Sun, Nov 7, 2010 at 3:59 PM, Richard Hirsch <
> hirsch.dick@gmail.com
> >> >
> >> >> wrote:
> >> >> >> @vassil Thanks for fixing the bug - it was filling our stax
log
> >> >> >>
> >> >> >> I'll do a new stax deployment tomorrow and then we'll see
if the
> prob
> >> >> >> was the rss feed.
> >> >> >>
> >> >> >> D.
> >> >> >>
> >> >> >> On Sat, Nov 6, 2010 at 9:16 AM, Vassil Dichev <vdichev@apache.org
> >
> >> >> wrote:
> >> >> >>> You're right, it doesn't seem like parsing the feed should
break
> the
> >> >> >>> timeline, but it's good to fix this so that we eliminate
any
> doubt
> >> >> >>> that it causes problems. Besides, it's not a good idea
to assume
> >> that
> >> >> >>> only correctly formatted dates will be passed our way,
so I
> wanted
> >> to
> >> >> >>> put an end to ESME-275.
> >> >> >>>
> >> >> >>> I've just committed a fix and closed the issue.
> >> >> >>>
> >> >> >>> Vassil
> >> >> >>>
> >> >> >>>
> >> >> >>> On Sat, Nov 6, 2010 at 10:06 AM, Ethan Jewett <
> esjewett@gmail.com>
> >> >> wrote:
> >> >> >>>> Dick,
> >> >> >>>>
> >> >> >>>> If you want to disable my actions to test, that's
fine. I'm
> fairly
> >> >> >>>> confident my actions are responsible for the stack
trace you
> sent.
> >> >> >>>> (Thanks for looking in to it Vassil.)
> >> >> >>>>
> >> >> >>>> I just don't see how an issue with actions could be
the cause of
> >> the
> >> >> >>>> timeline issue. As far as I know, loading a timeline
does not
> >> trigger
> >> >> >>>> this action code that is failing. I could definitely
be wrong,
> but
> >> I
> >> >> >>>> think there should be a second stack trace or a Lift
error
> message
> >> >> >>>> that shows up in the logs when someone tries to load
Anne or
> >> David's
> >> >> >>>> user page.
> >> >> >>>>
> >> >> >>>> Ethan
> >> >> >>>>
> >> >> >>>> On Saturday, November 6, 2010, Vassil Dichev <
> vdichev@apache.org>
> >> >> wrote:
> >> >> >>>>> The reason for the stack trace is that a date
in an RSS feed
> >> cannot
> >> >> be
> >> >> >>>>> parsed properly, or there is no date at all (which
as I see is
> >> >> allowed
> >> >> >>>>> by the RSS spec). It would help if we can find
which RSS feed
> is
> >> the
> >> >> >>>>> culprit, but I will try to come up with a patch
anyway.
> >> >> >>>>>
> >> >> >>>>> Vassil
> >> >> >>>>>
> >> >> >>>>>
> >> >> >>>>> On Sat, Nov 6, 2010 at 9:05 AM, Richard Hirsch
<
> >> >> hirsch.dick@gmail.com> wrote:
> >> >> >>>>>> I'm working on the following assumptions:
> >> >> >>>>>>
> >> >> >>>>>>   1)  that someone anne follows is the culprit
> >> >> >>>>>>   2) That the reason is some sort of an action
that is called
> >> every
> >> >> 5
> >> >> >>>>>> minutes or so
> >> >> >>>>>>   3) Checking the database shows that the
most of these
> actions
> >> are
> >> >> from Ethan
> >> >> >>>>>>
> >> >> >>>>>> What I'm going to try is to create a test
user and then follow
> >> the
> >> >> >>>>>> users that anne follows.
> >> >> >>>>>>
> >> >> >>>>>> However, you are correct in saying that I'm
following you as
> well
> >> >> and
> >> >> >>>>>> my timeline is working.
> >> >> >>>>>>
> >> >> >>>>>> If you want, we can wait until I do this test
before taking
> such
> >> >> >>>>>> drastic "Big Brother" actions.
> >> >> >>>>>>
> >> >> >>>>>> D.
> >> >> >>>>>>
> >> >> >>>>>>
> >> >> >>>>>>
> >> >> >>>>>> On Fri, Nov 5, 2010 at 8:25 PM, Ethan Jewett
<
> esjewett@gmail.com
> >> >
> >> >> wrote:
> >> >> >>>>>>> I knew I shouldn't have implied it might
be me :-)
> >> >> >>>>>>>
> >> >> >>>>>>> I definitely have RSS actions, but I'm
wondering what makes
> you
> >> >> think it's
> >> >> >>>>>>> my actions that are breaking only Anne
& Dave's timelines?
> You
> >> and
> >> >> several
> >> >> >>>>>>> others follow me, and your timelines are
not broken. Before
> we
> >> saw
> >> >> this sort
> >> >> >>>>>>> of thing happened because of special characters
in some
> >> messages,
> >> >> right?
> >> >> >>>>>>>
> >> >> >>>>>>> I'm really wondering if the stack trace
you found was the
> only
> >> >> error. I
> >> >> >>>>>>> think the stack trace you found was the
issue in Jira item
> >> >> >>>>>>> https://issues.apache.org/jira/browse/ESME-275
 This appears
> to
> >> >> still be
> >> >> >>>>>>> unresolved, but I don't think we ever
linked it to an issue
> with
> >> >> displaying
> >> >> >>>>>>> a timeline (which should have nothing
to do with a feed or
> >> action).
> >> >> >>>>>>>
> >> >> >>>>>>> Ethan
> >> >> >>>>>>>
> >> >> >>>>>>> On Fri, Nov 5, 2010 at 7:42 PM, Richard
Hirsch <
> >> >> hirsch.dick@gmail.com>wrote:
> >> >> >>>>>>>
> >> >> >>>>>>>> Going through the database - looks
like Ethan might be the
> >> culprit
> >> >> -
> >> >> >>>>>>>> though I don't know why.
> >> >> >>>>>>>>
> >> >> >>>>>>>> @Ethan do want to disable your rss
actions manually or
> should I
> >> do
> >> >> it
> >> >> >>>>>>>> via big brother ;->
> >> >> >>>>>>>>
> >> >> >>>>>>>> D.
> >> >> >>>>>>>>
> >> >> >>>>>>>> On Fri, Nov 5, 2010 at 2:07 PM, Anne
Kathrine Petter√łe
> >> >> >>>>>>>> <yojibee@gmail.com> wrote:
> >> >> >>>>>>>> > LOL :-)
> >> >> >>>>>>>> >
> >> >> >>>>>>>> >
> >> >> >>>>>>>> > On 5 November 2010 13:29, Ethan
Jewett <
> esjewett@gmail.com>
> >> >> wrote:
> >> >> >>>>>>>> >
> >> >> >>>>>>>> >> I hope it's not me. [Shakes
in boots.]   :-)
> >> >> >>>>>>>> >>
> >> >> >>>>>>>> >> On Fri, Nov 5, 2010 at 12:16
PM, Richard Hirsch <
> >> >> hirsch.dick@gmail.com
> >> >> >>>>>>>> >> >wrote:
> >> >> >>>>>>>> >>
> >> >> >>>>>>>> >> > I can look at the DB
when I get home and see who the
> >> culprit
> >> >> is.
> >> >> >>>>>>>> >> >
> >> >> >>>>>>>> >> > D.
> >> >> >>>>>>>> >> >
> >> >> >>>>>>>> >> > On Fri, Nov 5, 2010
at 11:44 AM, Anne Kathrine Petter√łe
> >> >> >>>>>>>> >> > <yojibee@gmail.com>
wrote:
> >> >> >>>>>>>> >> > > Do we know who
has set up an action that would create
> >> the
> >> >> problem?
> >> >> >>>>>>>> >> > >
> >> >> >>>>>>>> >> > > /Anne
> >> >> >>>>>>>> >> > >
> >> >> >>>>>>>> >> > > On 5 November 2010
10:07, Ethan Jewett <
> >> esjewett@gmail.com>
> >> >> wrote:
> >> >> >>>>>>>> >> > >
> >> >> >>>>>>>> >> > >> Yup, that would
explain it. When you sent the stack
> >> trace
> >> >> before,
> >> >> >>>>>>>> was
> >> >> >>>>>>>> >> > that
> >> >> >>>>>>>> >> > >> the only one
that you saw in the Stax environment or
> >> where
> >> >> there
> >> >> >>>>>>>> >> others?
> >> >> >>>>>>>> >> > >>
> >> >> >>>>>>>> >> > >> Ethan
> >> >> >>>>>>>> >> > >>
> >> >> >>>>>>>> >> > >> On Fri, Nov
5, 2010 at 9:34 AM, Richard Hirsch <
> >> >> >>>>>>>> hirsch.dick@gmail.com
> >> >> >>>>>>>> >> > >> >wrote:
> >> >> >>>>> --
> >> >> >>>>> Twitter: http://twitter.com/vdichev
> >> >> >>>>> Blog: http://speaking-my-language.blogspot.com
> >> >> >>>>>
> >> >> >>>>
> >> >> >>>
> >> >> >>>
> >> >> >>>
> >> >> >>> --
> >> >> >>> Twitter: http://twitter.com/vdichev
> >> >> >>> Blog: http://speaking-my-language.blogspot.com
> >> >> >>>
> >> >> >>
> >> >> >
> >> >>
> >> >
> >>
> >
>
>
>
> --
> Twitter: http://twitter.com/vdichev
> Blog: http://speaking-my-language.blogspot.com
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message