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 <esjew...@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.d...@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 <esjew...@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.d...@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.d...@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.d...@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 <vdic...@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 <esjew...@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 <vdic...@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.d...@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 <esjew...@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.d...@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 >> >> >>>>>>>> <yoji...@gmail.com> wrote: >> >> >>>>>>>> > LOL :-) >> >> >>>>>>>> > >> >> >>>>>>>> > >> >> >>>>>>>> > On 5 November 2010 13:29, Ethan Jewett <esjew...@gmail.com> >> >> wrote: >> >> >>>>>>>> > >> >> >>>>>>>> >> I hope it's not me. [Shakes in boots.] :-) >> >> >>>>>>>> >> >> >> >>>>>>>> >> On Fri, Nov 5, 2010 at 12:16 PM, Richard Hirsch < >> >> hirsch.d...@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 >> >> >>>>>>>> >> > <yoji...@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 < >> esjew...@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.d...@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