On Mon, Nov 8, 2010 at 2:57 PM, Vassil Dichev <vdic...@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
But look at this user's timeline: http://esmecloudserverapache.dickhirsch.staxapps.net/user/matyjas He also has information from an RSS feed. Some of it is from Sunday which is before the last restart. Aren't these messages also "invisible"? > 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 >