ok, I switched from Safari to Firefox and installed Firebug and also Wireshark.
The stack overflow issue seems to be happening on the "home page", a custom page that lists a lot of items. This list grows a little each day so it may be that it has just become too large. On the other hand, it seems to display when the page is first loaded without a problem. In Firebug, I see a series of POST ajax_request requests resulting in 500 Internal Server Error responses. Under the Response tab, I see the cause of the errors is essentially the same stack overflow error I posted earlier. Under the Post tab, I see __lift__GCNodes (Very Large Data) and over to the right in blue there is a link labeled jquery.js (line 1080) that points into the jquery code. It could be that it is about time to revise my little app to page thru large data sets rather than just listing them all on one page but it's odd that it seemed to work fine until a day or so ago. In Wireshark I also did not see any JSON calls. I may not have been filtering correctly, tho, as it didn't show me anything when I filtered on the port I'm using, and so on. On Feb 15, 7:15 pm, David Pollak <[email protected]> wrote: > Paul, > Something is calling JSONParser with a parameter that's causing the stack > overflow. > > You can use Firebug to see what the browser is sending to the server. > That's a way to capture the JSON. > > Wireshark is a way of intercepting the HTTP traffic and you can see what the > client is sending to the server. > > If you can provide me with the String that's causing the JSON parsing > failure, I can add it to the test suite and fix the bug. > > Thanks, > > David > > On Sun, Feb 15, 2009 at 5:25 PM, Paul O'Rorke <[email protected]> wrote: > > > Hi, David: > > > I'm not using JSON directly myself and when I do a search on "json" it > > only shows up on one line in the default.html page: > > > <script id="json" src="/classpath/json.js" type="text/javascript"/ > > > Perhaps it is JSON that is being used under the hood? I am using > > CRUDIFY and the menu items for add, delete, and list operations and > > the associated pages. I'm also using some ajax checkboxes and > > textboxes like the ones in lift workshop examples (specifically: the > > todo example). > > > By the way, the app still seems to work, it just tends to slow down > > after a while. > > > On Feb 15, 4:01 pm, David Pollak <[email protected]> > > wrote: > > > Paul, > > > Please provide a sample of the JSON that caused the stack overflow. > > > > Thanks, > > > > David > > > > On Sun, Feb 15, 2009 at 1:24 PM, Paul O'Rorke <[email protected]> wrote: > > > > > Something odd has started to happen in the last day or two: I am > > > > starting to get stackoverflows in a small app that I use. I have not > > > > changed my classes for a week or so and use the app daily. > > > > It has been working ok up until today or last night. > > > > This seems to happen as soon as it starts up before I even start to > > > > use it. > > > > I am using Scala 2.7.3 and the following lift > > > > <version>0.11-SNAPSHOT</version> > > > > > [INFO] Starting jetty 6.1.15.rc2 ... > > > > 2009-02-15 13:03:37.799::INFO: jetty-6.1.15.rc2 > > > > 2009-02-15 13:03:37.994::INFO: No Transaction manager found - if your > > > > webapp requires one, please configure one. > > > > 2009-02-15 13:03:40.506::INFO: Started > > > > [email protected]:8080 > > > > [INFO] Started Jetty Server > > > > [INFO] Starting scanner at interval of 5 seconds. > > > > WARN - Request for /ajax_request failed null > > > > java.lang.StackOverflowError > > > > at > > net.liftweb.util.JSONParser$$anonfun$string$4$$anonfun$apply$14$ > > > > $anonfun$apply$15$$anonfun$apply$16.apply(JSON.scala:46) > > > > at > > net.liftweb.util.JSONParser$$anonfun$string$4$$anonfun$apply$14$ > > > > $anonfun$apply$15$$anonfun$apply$16.apply(JSON.scala:46) > > > > at scala.util.parsing.combinator.Parsers$$anonfun$not$1.apply > > > > (Parsers.scala:703) > > > > at scala.util.parsing.combinator.Parsers$$anonfun$not$1.apply > > > > (Parsers.scala:702) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap > > > > $1.apply(Parsers.scala:206) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap > > > > $1.apply(Parsers.scala:206) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at net.liftweb.util.SafeSeqParser$$anon$1.apply > > > > (CombParserHelpers.scala:169) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at > > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply > > > > (Parsers.scala:209) > > > > at > > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply > > > > (Parsers.scala:209) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at scala.util.parsing.combinator.Parsers$Success.flatMapWithNext > > > > (Parsers.scala:128) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap > > > > $1.apply(Parsers.scala:206) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap > > > > $1.apply(Parsers.scala:206) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap > > > > $1.apply(Parsers.scala:206) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap > > > > $1.apply(Parsers.scala:206) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at > > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply > > > > (Parsers.scala:209) > > > > at > > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply > > > > (Parsers.scala:209) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at > > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1$ > > > > $anonfun$apply$1.apply(Parsers.scala:214) > > > > at > > scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1$ > > > > $anonfun$apply$1.apply(Parsers.scala:214) > > > > at > > > > scala.util.parsing.combinator.Parsers$Failure.append(Parsers.scala: > > > > 168) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap > > > > $1.apply(Parsers.scala:206) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap > > > > $1.apply(Parsers.scala:206) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at > > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply > > > > (Parsers.scala:209) > > > > at > > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply > > > > (Parsers.scala:209) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at > > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply > > > > (Parsers.scala:209) > > > > at > > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply > > > > (Parsers.scala:209) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at scala.util.parsing.combinator.Parsers$Success.flatMapWithNext > > > > (Parsers.scala:128) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap > > > > $1.apply(Parsers.scala:206) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$flatMap > > > > $1.apply(Parsers.scala:206) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at > > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply > > > > (Parsers.scala:209) > > > > at > > scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply > > > > (Parsers.scala:209) > > > > at > > > > scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala: > > > > 188) > > > > at scala.util.parsing.combinator.Parsers$Parser$$anonfun$append > > > > $1.apply(Parsers.scala:214) > > > > at > > ... > > read more » --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---
