Return-Path: Delivered-To: apmail-incubator-esme-dev-archive@minotaur.apache.org Received: (qmail 11543 invoked from network); 8 Nov 2010 13:57:21 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 8 Nov 2010 13:57:21 -0000 Received: (qmail 87999 invoked by uid 500); 8 Nov 2010 13:57:53 -0000 Delivered-To: apmail-incubator-esme-dev-archive@incubator.apache.org Received: (qmail 87926 invoked by uid 500); 8 Nov 2010 13:57:52 -0000 Mailing-List: contact esme-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: esme-dev@incubator.apache.org Delivered-To: mailing list esme-dev@incubator.apache.org Received: (qmail 87655 invoked by uid 99); 8 Nov 2010 13:57:51 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Nov 2010 13:57:51 +0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of vdichev@gmail.com designates 209.85.214.47 as permitted sender) Received: from [209.85.214.47] (HELO mail-bw0-f47.google.com) (209.85.214.47) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Nov 2010 13:57:47 +0000 Received: by bwz10 with SMTP id 10so5121999bwz.6 for ; Mon, 08 Nov 2010 05:57:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:content-type:content-transfer-encoding; bh=/WfzBe9xr9OfTNUXQukQ8GqkphmRF3D0RtUnOR07Kz8=; b=rAhpDezfdHWEWQ0TAZEwgx8ic9OfHmvFhJNjNrwuhfZIzrU0Z/0hB40Qh0pRRVg9Ax lpBGOk/w/kU0/tlUTvccLTeIG3ORivy9LrVqVzLnD2XwgS8VreOMvXJZXqvGuV1pI/oE A8lgd1uGGlOqb90Id3FMENYlJfqrbR2o8+btw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=cdhztWqnCkShlJ0NaeD8bND8bzDMVlLPCW7A7+gBYljFDSSqoEU4o0CBhBEk5ii6ms RXEH756CB3KBQy3hYF2l+Ky2c+X5IlvjA4NEW8lJmNuslv0uXY/xlctZDTkNd2P94Jg+ 44HakW3zu1vkU7CSMjqrcsFBb36Zj0mbfUHoY= MIME-Version: 1.0 Received: by 10.204.121.83 with SMTP id g19mr4962979bkr.13.1289224644455; Mon, 08 Nov 2010 05:57:24 -0800 (PST) Sender: vdichev@gmail.com Received: by 10.204.82.229 with HTTP; Mon, 8 Nov 2010 05:57:23 -0800 (PST) In-Reply-To: References: Date: Mon, 8 Nov 2010 15:57:23 +0200 X-Google-Sender-Auth: RrKI8k7d3YlHp2a-3FKkbv07R5A Message-ID: Subject: Re: The 'other' Anne breaks the timeline From: Vassil Dichev To: esme-dev@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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 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 on= e > of these messages and then do something. There is also a timer set up tha= t > sends one of these messages at the specified interval. These messages are > not displayed in the timeline, but some queries don't properly restrict t= hem > 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 operation= s > several months ago, but I think maybe we missed a query the repopulates t= he > mailbox after a restart. > > Rumor has it that if you catch one of these messages in your timeline, yo= u > get to make a wish ;-) > > Ethan > > On Mon, Nov 8, 2010 at 12:59 PM, Richard Hirsch wr= ote: > >> 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$$anonfu= n$apply$11.apply(Message.scala:371), >> >> org.apache.esme.model.Message$$anonfun$toXml$3$$anonfun$apply$10$$anonfu= n$apply$11.apply(Message.scala:370), >> scala.Option.map(Option.scala:70), >> >> org.apache.esme.model.Message$$anonfun$toXml$3$$anonfun$apply$10.apply(M= essage.scala:370), >> >> org.apache.esme.model.Message$$anonfun$toXml$3$$anonfun$apply$10.apply(M= essage.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(MessageUt= ils.scala:47), >> >> org.apache.esme.lib.MessageUtils$$anonfun$bindMessages$1.apply(MessageUt= ils.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(UserDispla= y.scala:70), >> >> org.apache.esme.snippet.UserDisplay$$anonfun$userInfo$3.apply(UserDispla= y.scala:70), >> >> net.liftweb.util.BindHelpers$FuncBindParam.calcValue(BindHelpers.scala:2= 27), >> >> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1$$anonf= un$apply$24.apply(BindHelpers.scala:499), >> >> net.liftweb.util.BindHelpers$$anonfun$bind$2$$anonfun$in_bind$1$1$$anonf= un$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.a= pply(LiftSession.scala:905), >> >> net.liftweb.http.LiftSession$$anonfun$locSnippet$1$1$$anonfun$apply$65.a= pply(LiftSession.scala:905), >> net.liftweb.common.Full.map(Box.scala:398), >> >> net.liftweb.http.LiftSession$$anonfun$locSnippet$1$1.apply(LiftSession.s= cala:905), >> >> net.liftweb.http.LiftSession$$anonfun$locSnippet$1$1.apply(LiftSession.s= cala: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$appl= y$70.apply(LiftSession.scala:919), >> >> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$appl= y$70.apply(LiftSession.scala:919), >> net.liftweb.common.EmptyBox.or(Box.scala:467), >> >> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68.apply(LiftSes= sion.scala:918), >> >> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68.apply(LiftSes= sion.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$$anonf= un$apply$81$$anonfun$apply$82$$anonfun$apply$83$$anonfun$apply$84.apply(Lif= tSession.scala:1134), >> >> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonf= un$apply$81$$anonfun$apply$82$$anonfun$apply$83$$anonfun$apply$84.apply(Lif= tSession.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$$anonf= un$apply$81$$anonfun$apply$82$$anonfun$apply$83.apply(LiftSession.scala:113= 3), >> >> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonf= un$apply$81$$anonfun$apply$82$$anonfun$apply$83.apply(LiftSession.scala:113= 3), >> net.liftweb.http.S$.withAttrs(S.scala:1604), >> >> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonf= un$apply$81$$anonfun$apply$82.apply(LiftSession.scala:1132), >> >> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonf= un$apply$81$$anonfun$apply$82.apply(LiftSession.scala:1132), >> net.liftweb.http.S$.doSnippet(S.scala:1749), >> >> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonf= un$apply$81.apply(LiftSession.scala:1131), >> >> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonf= un$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.sc= ala:36), >> >> net.liftweb.builtin.snippet.Surround$$anonfun$render$1.apply(Surround.sc= ala: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$appl= y$71$$anonfun$apply$73.apply(LiftSession.scala:936), >> >> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$appl= y$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$appl= y$71.apply(LiftSession.scala:920), >> >> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68$$anonfun$appl= y$71.apply(LiftSession.scala:920), >> net.liftweb.common.EmptyBox.openOr(Box.scala:465), >> >> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68.apply(LiftSes= sion.scala:919), >> >> net.liftweb.http.LiftSession$$anonfun$23$$anonfun$apply$68.apply(LiftSes= sion.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$$anonf= un$apply$81$$anonfun$apply$82$$anonfun$apply$83$$anonfun$apply$84.apply(Lif= tSession.scala:1134), >> >> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonf= un$apply$81$$anonfun$apply$82$$anonfun$apply$83$$anonfun$apply$84.apply(Lif= tSession.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$$anonf= un$apply$81$$anonfun$apply$82$$anonfun$apply$83.apply(LiftSession.scala:113= 3), >> >> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonf= un$apply$81$$anonfun$apply$82$$anonfun$apply$83.apply(LiftSession.scala:113= 3), >> net.liftweb.http.S$.withAttrs(S.scala:1604), >> >> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonf= un$apply$81$$anonfun$apply$82.apply(LiftSession.scala:1132), >> >> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonf= un$apply$81$$anonfun$apply$82.apply(LiftSession.scala:1132), >> net.liftweb.http.S$.doSnippet(S.scala:1749), >> >> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonf= un$apply$81.apply(LiftSession.scala:1131), >> >> net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonf= un$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(LiftSess= ion.scala:546), >> >> net.liftweb.http.LiftSession$$anonfun$processTemplate$1$2.apply(LiftSess= ion.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$appl= y$42.apply(LiftSession.scala:598), >> >> net.liftweb.http.LiftSession$$anonfun$14$$anonfun$apply$39$$anonfun$appl= y$42.apply(LiftSession.scala:598), >> net.liftweb.common.EmptyBox.or(Box.scala:467), >> >> net.liftweb.http.LiftSession$$anonfun$14$$anonfun$apply$39.apply(LiftSes= sion.scala:597), >> >> net.liftweb.http.LiftSession$$anonfun$14$$anonfun$apply$39.apply(LiftSes= sion.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$$anonf= un$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(ProtoExtend= edSession.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$ap= ply$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$ap= ply$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$ap= ply$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$ap= ply$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.sca= la: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:8= 6), >> net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply(LiftServlet.scala:8= 6), >> 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(HTTPProv= ider.scala:61), >> >> net.liftweb.http.provider.HTTPProvider$$anonfun$service$3.apply(HTTPProv= ider.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$doFilte= r$1$$anonfun$apply$1.apply(ServletFilterProvider.scala:67), >> >> net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilte= r$1$$anonfun$apply$1.apply(ServletFilterProvider.scala:62), >> >> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$1= 0$$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$1= 0$$anonfun$apply$11.apply(Vars.scala:334), >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71), >> >> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$1= 0.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$doFilte= r$1.apply(ServletFilterProvider.scala:61), >> >> net.liftweb.http.provider.servlet.ServletFilterProvider$$anonfun$doFilte= r$1.apply(ServletFilterProvider.scala:61), >> >> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$1= 0$$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$1= 0$$anonfun$apply$11.apply(Vars.scala:334), >> net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:71), >> >> net.liftweb.http.CoreRequestVarHandler$$anonfun$apply$9$$anonfun$apply$1= 0.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(S= ervletFilterProvider.scala:60), >> net.liftweb.http.LiftFilter.doFilter(LiftServlet.scala:586), >> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica= tionFilterChain.java:235), >> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt= erChain.java:206), >> >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv= e.java:233), >> >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv= e.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(StaxApplicatio= nQueryValve.java:42), >> >> net.stax.appserver.webapp.RequestSetupValve.invoke(RequestSetupValve.jav= a:31), >> org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:632), >> >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:2= 98), >> >> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.j= ava:883), >> >> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.proce= ss(Http11NioProtocol.java:721), >> >> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.j= ava:2258), >> >> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto= r.java:886), >> >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja= va:908), >> java.lang.Thread.run(Thread.java:619)) >> >> On Mon, Nov 8, 2010 at 12:39 PM, Ethan Jewett wrote= : >> > Hmmm, Anne's user page isn't working now. Can you check the logs for t= he >> > last 2 hrs? >> > >> > My timeline is always like that (empty) after a server restart. I'm no= t >> 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 > >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 >> >> wrote: >> >> > Just deployed on stax with vassil's code change. >> >> > >> >> > Anne's timeline is now visible without an error. What is even stran= ger >> >> > 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 > > >> >> 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 p= rob >> >> >> was the rss feed. >> >> >> >> >> >> D. >> >> >> >> >> >> On Sat, Nov 6, 2010 at 9:16 AM, Vassil Dichev >> >> 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 doub= t >> >> >>> 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 wante= d >> 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 >> >> wrote: >> >> >>>> Dick, >> >> >>>> >> >> >>>> If you want to disable my actions to test, that's fine. I'm fair= ly >> >> >>>> confident my actions are responsible for the stack trace you sen= t. >> >> >>>> (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, b= ut >> I >> >> >>>> think there should be a second stack trace or a Lift error messa= ge >> >> >>>> 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 >> >> 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 i= s >> 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: >> >> >>>>>> >> >> >>>>>> =A0 1) =A0that someone anne follows is the culprit >> >> >>>>>> =A0 2) That the reason is some sort of an action that is calle= d >> every >> >> 5 >> >> >>>>>> minutes or so >> >> >>>>>> =A0 3) Checking the database shows that the most of these acti= ons >> 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 w= ell >> >> and >> >> >>>>>> my timeline is working. >> >> >>>>>> >> >> >>>>>> If you want, we can wait until I do this test before taking su= ch >> >> >>>>>> drastic "Big Brother" actions. >> >> >>>>>> >> >> >>>>>> D. >> >> >>>>>> >> >> >>>>>> >> >> >>>>>> >> >> >>>>>> On Fri, Nov 5, 2010 at 8:25 PM, Ethan Jewett > > >> >> wrote: >> >> >>>>>>> I knew I shouldn't have implied it might be me :-) >> >> >>>>>>> >> >> >>>>>>> I definitely have RSS actions, but I'm wondering what makes y= ou >> >> think it's >> >> >>>>>>> my actions that are breaking only Anne & Dave's timelines? Yo= u >> and >> >> several >> >> >>>>>>> others follow me, and your timelines are not broken. Before w= e >> 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 onl= y >> >> error. I >> >> >>>>>>> think the stack trace you found was the issue in Jira item >> >> >>>>>>> https://issues.apache.org/jira/browse/ESME-275 =A0This appear= s to >> >> still be >> >> >>>>>>> unresolved, but I don't think we ever linked it to an issue w= ith >> >> 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 shoul= d I >> do >> >> it >> >> >>>>>>>> via big brother ;-> >> >> >>>>>>>> >> >> >>>>>>>> D. >> >> >>>>>>>> >> >> >>>>>>>> On Fri, Nov 5, 2010 at 2:07 PM, Anne Kathrine Petter=F8e >> >> >>>>>>>> wrote: >> >> >>>>>>>> > LOL :-) >> >> >>>>>>>> > >> >> >>>>>>>> > >> >> >>>>>>>> > On 5 November 2010 13:29, Ethan Jewett >> >> wrote: >> >> >>>>>>>> > >> >> >>>>>>>> >> I hope it's not me. [Shakes in boots.] =A0 :-) >> >> >>>>>>>> >> >> >> >>>>>>>> >> 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= =F8e >> >> >>>>>>>> >> > 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 >> >> >>> >> >> >> >> >> > >> >> >> > >> > --=20 Twitter: http://twitter.com/vdichev Blog: http://speaking-my-language.blogspot.com