You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Joe Bohn (JIRA)" <de...@geronimo.apache.org> on 2006/03/02 20:32:44 UTC

[jira] Created: (GERONIMO-1674) Daytrader gets NullPointerException attempting to log in a user

Daytrader gets NullPointerException attempting to log in a user
---------------------------------------------------------------

         Key: GERONIMO-1674
         URL: http://issues.apache.org/jira/browse/GERONIMO-1674
     Project: Geronimo
        Type: Bug
  Components: sample apps  
    Versions: 1.x    
 Environment: Windows XP
    Reporter: Joe Bohn


Daytrader gets the following NPE exception when attempting to signon:

13:47:05,510 ERROR [Log] Error: TradeDirect:login -- error logging in user
        java.lang.NullPointerException
java.lang.NullPointerException
        at org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43)
        at org.apache.geronimo.samples.daytrader.MarketSummaryDataBean.<init>(MarketSummaryDataBean.java:54)
        at org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:151)
        at org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary(TradeAction.java:99)
        at org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:56)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
        at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
        at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
        at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
        at org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
        at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
        at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
        at org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
        at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319)
        at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357)
        at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132)
        at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
        at org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
        at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
        at org.mortbay.http.HttpServer.service(HttpServer.java:909)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
        at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
13:47:05,560 WARN  [/daytrader] /daytrader/app:
java.lang.NullPointerException
        at org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:63)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
        at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
        at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
        at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
        at org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
        at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
        at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
        at org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
        at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319)
        at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357)
        at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132)
        at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
        at org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
        at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
        at org.mortbay.http.HttpServer.service(HttpServer.java:909)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
        at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Re: [jira] Commented: (GERONIMO-1674) Daytrader gets NullPointerException attempting to log in a user

Posted by Radoslava Bakalova <rb...@yahoo.com>.
Hi Joe,

My name is Slava and I work with Trade on a daily
basis.  Recently, I started to look into Daytrader
because I would like to start contributing to the
Daytrader development.

When I first attempted to run Daytrader1.1 on
Geronimo1.1, I ran into the same NPE problem.  I agree
with you that the Daytrader code needs to be fixed.

Actually, I’ve already looked into the code and I
think that the problem is not in the marketSummary.jsp
itself but rather in the TradeBean that builds the
Market Summary object.  I am going to try a couple of
fixes.  I will keep you posted on my progress.

Slava


--- Matt Hogstrom <ma...@hogstrom.org> wrote:

> 
> 
> J. Stan Cox wrote:
> > 
> > So, at the very least the code needs to be fixed
> to support a smaller 
> > quote population.  Perhaps we could also provide 2
> basic settings on the 
> > configuration page:
> > 
> > 1) Default, out of box sample application (low
> number of users quotes)
> 
> Agreed...200 users and 400 quotes is acceptable for
> our internal testing and those using Derby.  I 
> think this is a fair number to kick the tires.
> 
> > 2) Performance test,  larger default values (e.g.
> 1000 quotes, 500 users)
> 
> Performance testing is so dependent on the
> configuration being tested I think we're better to
> offer 
> guidance in a FAQ rather than specifying a value.  
> I'd never recommend people simply compare 
> numbers based on population.   I think that is
> inviting trouble.
> 
> > 
> > It would be good to settle on specific values for
> performance testing so 
> > results will be comparable.
> > 
> > Stan.
> > 
> > Dain Sundstrom wrote:
> >> Chris,
> >>
> >> DayTrader has two uses to us.  One is clearly as
> a performance 
> >> benchmark, but DayTrader is also a very useful
> sample (test) 
> >> application that touches most parts of the J2EE
> specification.  We 
> >> dropped the default population sizes because
> Derby is so slow at 
> >> inserts it would take several minutes to
> repopulate.  Also, the 
> >> performance of Derby is so bad that you don't
> need much data to get 
> >> reliable results.  If you switch to a real
> database, you need a much 
> >> bigger data set.
> >>
> >> -dain
> >>
> >> On Jun 28, 2006, at 7:56 AM, Christopher Blythe
> wrote:
> >>
> >>> Joe...
> >>>
> >>> I've worked on Trade for quite some time and am
> slowly starting to 
> >>> dig into DayTrader. Anyway, just wanted to
> respond to your question 
> >>> since I think I know what the problem is.
> >>>
> >>> In order for the MarketSummary to be display, at
> least 200 quotes 
> >>> need to be populated in the database. If you
> look at the queries the 
> >>> MarketSummary uses (either the EJBQL or SQL in
> TradeDirect.java) you 
> >>> will see something like this...
> >>>
> >>> <ejb-ql>SELECT OBJECT(q) FROM Quote q WHERE
> q.symbol LIKE 's:1__' 
> >>> ORDER BY q.change DESC</ejb-ql>
> >>>
> >>> This indicates that the MarketSummary needs
> quotes between 100 and 
> >>> 199. If we are only populating 10 quotes by
> default, this query will 
> >>> return 0 results and I imagine the MarketSummary
> will throw an 
> >>> exception (as indicated by the stack traces).
> >>>
> >>> To get you up and running, I would re-populate
> your database with at 
> >>> least 200 quotes. The default for Trade was
> actually 1000.
> >>>
> >>> I also suggest that the default be changed from
> 10 to something more 
> >>> realistic for performance testing ( i.e. 1000 or
> even higher).
> >>>
> >>> Hope this helps...
> >>>
> >>> Chris Blythe
> >>>
> >>> On 6/27/06, Joe Bohn (JIRA)
> <dev@geronimo.apache.org > wrote:    [ 
> >>>
>
http://issues.apache.org/jira/browse/GERONIMO-1674?page=comments#action_12418036
> 
> >>> ]
> >>>
> >>> Joe Bohn commented on GERONIMO-1674:
> >>> ------------------------------------
> >>>
> >>> I still get this error.  I get it with tomcat as
> well as jetty.   I 
> >>> think I may very well be doing something wrong. 
> Here is my scenario 
> >>> after successfully deploying daytrader.
> >>>
> >>> 1)  select configuration->configure Daytrader
> runtime paramenters 
> >>> ...  and change the max users and max quotes to
> 10 each.   Note, I'm 
> >>> not really running daytrader for performance
> stats ... I was just 
> >>> using it to verify geronimo functions after
> making some substantial 
> >>> changes as a way to verify that I hadn't broken
> things too radically.
> >>> 2)  from confirguration select (Re)-populate
> Daytrader Database.  
> >>> This appears to be successful.
> >>> 3)  Next, from under Configuration utilities I
> select "Test DayTrader 
> >>> Scenario" and I get this attached exception.  
> It does seem strange 
> >>> that if I do this a number of time eventually
> things seem to start 
> >>> working.
> >>>
> >>> Here is another stack trace (unfortunately from
> jetty again but I do 
> >>> get it with tomcat as well) from a recent
> attempt on 1.1.
> >>>
> >>> ########## Trade configuration update. Current
> config:
> >>>
> >>>                 RunTimeMode:            Direct
> >>>                 OrderProcessingMode:   
> Synchronous
> >>>                 AcessMode:              Standard
> >>>                 Workload Mix:           Standard
> >>>                 Web Interface:          JSP
> >>>                 CachingType:            No
> Caching
> >>>                 #Trade  Users:          10
> >>>                 #Trade Quotes:          10
> >>>                 Long Run Enabled:              
> true
> >>>
> >>> 10:47:43,984 ERROR [Log] Error:
> TradeDirect:login -- error logging in 
> >>> user
> >>>         java.lang.NullPointerException
> >>> java.lang.NullPointerException
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43)
> 
> >>>
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.MarketSummaryDataBean
> 
> >>> .<init>(MarketSummaryDataBean.java:54)
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:152)
> 
> >>>
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary
> 
> >>> (TradeAction.java:100)
> >>>         at
>
jsp.marketSummary_jsp._jspService(marketSummary_jsp.java:55)
> >>>         at 
> >>>
>
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> >>>         at
> javax.servlet.http.HttpServlet.service
> (HttpServlet.java:688)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
> 
> >>> (WebApplicationHandler.java:830)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
> 
> >>> :821)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
> 
> >>>
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
> >>>         at
> org.apache.jasper.runtime.JspRuntimeLibrary.include 
> >>> (JspRuntimeLibrary.java:966)
> >>>         at
>
jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
> >>>         at 
> >>>
>
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> >>>         at
> javax.servlet.http.HttpServlet.service
> (HttpServlet.java:688)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
> 
> >>> (WebApplicationHandler.java:830)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
> 
> >>> :821)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
> 
> >>>
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch
> 
> >>> (TradeServletAction.java:730)
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:330)
> 
> >>>
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin
> 
> >>> (TradeServletAction.java:373)
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:127)
> 
> >>>
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java
> 
> >>> :78)
> >>>         at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
> >>>         at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java
> :428)
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
> 
> >>>
> >>>         at
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
> 
> >>> (WebApplicationHandler.java:471)
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask(TradeScenarioServlet.java:202)
> 
> >>>
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet
> 
> >>> (TradeScenarioServlet.java:75)
> >>>         at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
> >>>         at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >>>         at
> org.mortbay.jetty.servlet.ServletHolder.handle 
> >>> (ServletHolder.java:428)
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
> 
> >>> :830)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
> 
> >>>
> >>>         at
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
> 
> >>> (WebApplicationHandler.java:471)
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java
> 
> >>> :568)
> >>>         at
>
org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
> 
> >>>
> >>>         at org.mortbay.http.HttpContext.handle
> (HttpContext.java:1482)
> >>>         at
>
org.mortbay.http.HttpServer.service(HttpServer.java:909)
> >>>         at 
> >>>
>
org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
> >>>         at
> org.mortbay.http.HttpConnection.handleNext 
> >>> (HttpConnection.java:982)
> >>>         at 
> >>>
>
org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
> >>>         at 
> >>>
>
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
> 
> >>>
> >>>         at
> org.mortbay.util.ThreadedServer.handle 
> >>> (ThreadedServer.java:357)
> >>>         at 
> >>>
>
org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> >>> 10:47:44,015 WARN  [/daytrader]
> /daytrader/scenario:
> >>> java.lang.NullPointerException
> >>>         at jsp.marketSummary_jsp._jspService
> (marketSummary_jsp.java:58)
> >>>         at 
> >>>
>
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> >>>         at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >>>         at
> org.mortbay.jetty.servlet.ServletHolder.handle 
> >>> (ServletHolder.java:428)
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
> 
> >>> :830)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
> 
> >>>
> >>>         at
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
> 
> >>> (WebApplicationHandler.java:471)
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
> >>>         at 
> >>>
>
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
> 
> >>>
> >>>         at
>
jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
> >>>         at 
> >>>
>
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> >>>         at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java
> :428)
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
> 
> >>>
> >>>         at
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
> 
> >>> (WebApplicationHandler.java:471)
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
> 
> >>>
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome
> 
> >>> (TradeServletAction.java:330)
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:373)
> 
> >>>
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask
> 
> >>> (TradeAppServlet.java:127)
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java:78)
> 
> >>>
> >>>         at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
> >>>         at
> javax.servlet.http.HttpServlet.service
> (HttpServlet.java:688)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
> 
> >>> (WebApplicationHandler.java:830)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
> 
> >>> :821)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
> 
> >>>
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask
> 
> >>> (TradeScenarioServlet.java:202)
> >>>         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet(TradeScenarioServlet.java:75)
> 
> >>>
> >>>         at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
> >>>         at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
> >>>         at
> org.apache.geronimo.jetty.JettyServletHolder.handle 
> >>> (JettyServletHolder.java:97)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java
> :170)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
> 
> >>>
> >>>         at 
> >>>
>
org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
> >>>         at org.mortbay.http.HttpContext.handle
> (HttpContext.java:1530)
> >>>         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
> 
> >>>
> >>>         at
>
org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
> >>>         at org.mortbay.http.HttpServer.service
> (HttpServer.java:909)
> >>>         at 
> >>>
>
org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
> >>>         at 
> >>>
>
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
> >>>         at
> org.mortbay.http.HttpConnection.handle 
> >>> (HttpConnection.java:833)
> >>>         at 
> >>>
>
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
> 
> >>>
> >>>         at 
> >>>
>
org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
> >>>         at
> org.mortbay.util.ThreadPool$PoolThread.run 
> >>> (ThreadPool.java:534)
> >>>
> >>> > Daytrader gets NullPointerException attempting
> to log in a user
> >>> >
>
---------------------------------------------------------------
> >>> >
> >>> >          Key: GERONIMO-1674
> >>> >          URL:
> http://issues.apache.org/jira/browse/GERONIMO-1674
> >>> >      Project: Geronimo
> >>> >         Type: Bug
> >>> >     Security: public(Regular issues)
> >>> >   Components: sample apps
> >>> >     Versions: 1.x
> >>> >  Environment: Windows XP
> >>> >     Reporter: Joe Bohn
> >>>
> >>> >
> >>> > Daytrader gets the following NPE exception
> when attempting to signon:
> >>> > 13:47:05,510 ERROR [Log] Error:
> TradeDirect:login -- error logging 
> >>> in user
> >>> >         java.lang.NullPointerException
> >>> > java.lang.NullPointerException
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.MarketSummaryDataBean.<init>(MarketSummaryDataBean.java:54)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:151)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary(TradeAction.java:99)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:56)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> >>> >         at 
> >>>
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >>> >         at 
> >>>
>
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java
> 
> >>> :332)
> >>> >         at 
> >>>
>
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> >>> >         at 
> >>>
>
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> >>> >         at
> javax.servlet.http.HttpServlet.service 
> >>> (HttpServlet.java:688)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
> >>> >         at 
> >>>
>
org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
> 
> >>> (WebApplicationHandler.java:821)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java
> :283)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
> >>> >         at 
> >>>
>
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
> 
> >>>
> >>> >         at
> org.apache.jsp.tradehome_jsp._jspService 
> >>> (org.apache.jsp.tradehome_jsp:282)
> >>> >         at 
> >>>
>
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> >>> >         at 
> >>>
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >>> >         at
> org.apache.jasper.servlet.JspServletWrapper.service 
> >>> (JspServletWrapper.java:332)
> >>> >         at 
> >>>
>
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> >>> >         at 
> >>>
>
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> >>> >         at 
> >>>
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
> >>> >         at
> org.apache.geronimo.jetty.JettyServletHolder.handle 
> >>> (JettyServletHolder.java:99)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java
> :170)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java
> 
> >>> :471)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch
> 
> >>> (TradeServletAction.java:730)
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin
> 
> >>> (TradeServletAction.java:357)
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost
> 
> >>> (TradeAppServlet.java:94)
> >>> >         at 
> >>>
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
> >>> >         at 
> >>>
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >>> >         at
> org.mortbay.jetty.servlet.ServletHolder.handle 
> >>> (ServletHolder.java:428)
> >>> >         at 
> >>>
>
org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
> 
> >>> :830)
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
> 
> >>> :821)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
> >>> >         at org.mortbay.http.HttpContext.handle
> (HttpContext.java:1530)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
> 
> >>>
> >>> >         at
>
org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
> >>> >         at
>
org.mortbay.http.HttpServer.service(HttpServer.java:909)
> >>> >         at 
> >>>
>
org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
> >>> >         at 
> >>>
>
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java
> :982)
> >>> >         at 
> >>>
>
org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
> >>> >         at 
> >>>
>
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
> 
> >>>
> >>> >         at
> org.mortbay.util.ThreadedServer.handle 
> >>> (ThreadedServer.java:357)
> >>> >         at 
> >>>
>
org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> >>> > 13:47:05,560 WARN  [/daytrader]
> /daytrader/app:
> >>> > java.lang.NullPointerException
> >>> >         at 
> >>>
>
org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:63)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> >>> >         at
> javax.servlet.http.HttpServlet.service 
> >>> (HttpServlet.java:688)
> >>> >         at 
> >>>
>
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> >>> >         at 
> >>>
>
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> >>> >         at 
> >>>
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java
> :428)
> >>> >         at 
> >>>
>
org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
> >>> >         at
> org.mortbay.jetty.servlet.Dispatcher.include 
> >>> (Dispatcher.java:163)
> >>> >         at 
> >>>
>
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> >>> >         at 
> >>>
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >>> >         at 
> >>>
>
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java
> 
> >>> :332)
> >>> >         at 
> >>>
>
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> >>> >         at 
> >>>
>
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> >>> >         at
> javax.servlet.http.HttpServlet.service 
> >>> (HttpServlet.java:688)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
> >>> >         at 
> >>>
>
org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
> 
> >>> (WebApplicationHandler.java:821)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java
> :283)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94)
> 
> >>>
> >>> >         at 
> >>>
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
> >>> >         at 
> >>>
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java
> :428)
> >>> >         at 
> >>>
>
org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
> 
> >>>
> >>> >         at 
> >>>
>
org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
> 
> >>> :821)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
> 
> >>>
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
> >>> >         at org.mortbay.http.HttpContext.handle
> (HttpContext.java:1530)
> >>> >         at 
> >>>
>
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
> 
> >>>
> >>> >         at
>
org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
> >>> >         at
>
org.mortbay.http.HttpServer.service(HttpServer.java:909)
> >>> >         at 
> >>>
>
org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
> >>> >         at 
> >>>
>
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java
> :982)
> >>> >         at 
> >>>
>
org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
> >>> >         at 
> >>>
>
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
> 
> >>>
> >>> >         at
> org.mortbay.util.ThreadedServer.handle 
> >>> (ThreadedServer.java:357)
> >>> >         at 
> >>>
>
org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> >>>
> >>> -- 
> >>> This message is automatically generated by JIRA.
> >>> -
> >>> If you think it was sent incorrectly contact one
> of the administrators:
> >>>   
>
http://issues.apache.org/jira/secure/Administrators.jspa
> >>> -
> >>> For more information on JIRA, see:
> >>>    http://www.atlassian.com/software/jira
> >>>
> >>>
> >>
> >>
> > 
> > 
> > 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Re: [jira] Commented: (GERONIMO-1674) Daytrader gets NullPointerException attempting to log in a user

Posted by Matt Hogstrom <ma...@hogstrom.org>.

J. Stan Cox wrote:
> 
> So, at the very least the code needs to be fixed to support a smaller 
> quote population.  Perhaps we could also provide 2 basic settings on the 
> configuration page:
> 
> 1) Default, out of box sample application (low number of users quotes)

Agreed...200 users and 400 quotes is acceptable for our internal testing and those using Derby.  I 
think this is a fair number to kick the tires.

> 2) Performance test,  larger default values (e.g. 1000 quotes, 500 users)

Performance testing is so dependent on the configuration being tested I think we're better to offer 
guidance in a FAQ rather than specifying a value.   I'd never recommend people simply compare 
numbers based on population.   I think that is inviting trouble.

> 
> It would be good to settle on specific values for performance testing so 
> results will be comparable.
> 
> Stan.
> 
> Dain Sundstrom wrote:
>> Chris,
>>
>> DayTrader has two uses to us.  One is clearly as a performance 
>> benchmark, but DayTrader is also a very useful sample (test) 
>> application that touches most parts of the J2EE specification.  We 
>> dropped the default population sizes because Derby is so slow at 
>> inserts it would take several minutes to repopulate.  Also, the 
>> performance of Derby is so bad that you don't need much data to get 
>> reliable results.  If you switch to a real database, you need a much 
>> bigger data set.
>>
>> -dain
>>
>> On Jun 28, 2006, at 7:56 AM, Christopher Blythe wrote:
>>
>>> Joe...
>>>
>>> I've worked on Trade for quite some time and am slowly starting to 
>>> dig into DayTrader. Anyway, just wanted to respond to your question 
>>> since I think I know what the problem is.
>>>
>>> In order for the MarketSummary to be display, at least 200 quotes 
>>> need to be populated in the database. If you look at the queries the 
>>> MarketSummary uses (either the EJBQL or SQL in TradeDirect.java) you 
>>> will see something like this...
>>>
>>> <ejb-ql>SELECT OBJECT(q) FROM Quote q WHERE q.symbol LIKE 's:1__' 
>>> ORDER BY q.change DESC</ejb-ql>
>>>
>>> This indicates that the MarketSummary needs quotes between 100 and 
>>> 199. If we are only populating 10 quotes by default, this query will 
>>> return 0 results and I imagine the MarketSummary will throw an 
>>> exception (as indicated by the stack traces).
>>>
>>> To get you up and running, I would re-populate your database with at 
>>> least 200 quotes. The default for Trade was actually 1000.
>>>
>>> I also suggest that the default be changed from 10 to something more 
>>> realistic for performance testing ( i.e. 1000 or even higher).
>>>
>>> Hope this helps...
>>>
>>> Chris Blythe
>>>
>>> On 6/27/06, Joe Bohn (JIRA) <dev@geronimo.apache.org > wrote:    [ 
>>> http://issues.apache.org/jira/browse/GERONIMO-1674?page=comments#action_12418036 
>>> ]
>>>
>>> Joe Bohn commented on GERONIMO-1674:
>>> ------------------------------------
>>>
>>> I still get this error.  I get it with tomcat as well as jetty.   I 
>>> think I may very well be doing something wrong.  Here is my scenario 
>>> after successfully deploying daytrader.
>>>
>>> 1)  select configuration->configure Daytrader runtime paramenters 
>>> ...  and change the max users and max quotes to 10 each.   Note, I'm 
>>> not really running daytrader for performance stats ... I was just 
>>> using it to verify geronimo functions after making some substantial 
>>> changes as a way to verify that I hadn't broken things too radically.
>>> 2)  from confirguration select (Re)-populate Daytrader Database.  
>>> This appears to be successful.
>>> 3)  Next, from under Configuration utilities I select "Test DayTrader 
>>> Scenario" and I get this attached exception.   It does seem strange 
>>> that if I do this a number of time eventually things seem to start 
>>> working.
>>>
>>> Here is another stack trace (unfortunately from jetty again but I do 
>>> get it with tomcat as well) from a recent attempt on 1.1.
>>>
>>> ########## Trade configuration update. Current config:
>>>
>>>                 RunTimeMode:            Direct
>>>                 OrderProcessingMode:    Synchronous
>>>                 AcessMode:              Standard
>>>                 Workload Mix:           Standard
>>>                 Web Interface:          JSP
>>>                 CachingType:            No Caching
>>>                 #Trade  Users:          10
>>>                 #Trade Quotes:          10
>>>                 Long Run Enabled:               true
>>>
>>> 10:47:43,984 ERROR [Log] Error: TradeDirect:login -- error logging in 
>>> user
>>>         java.lang.NullPointerException
>>> java.lang.NullPointerException
>>>         at 
>>> org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43) 
>>>
>>>         at 
>>> org.apache.geronimo.samples.daytrader.MarketSummaryDataBean 
>>> .<init>(MarketSummaryDataBean.java:54)
>>>         at 
>>> org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:152) 
>>>
>>>         at 
>>> org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary 
>>> (TradeAction.java:100)
>>>         at jsp.marketSummary_jsp._jspService(marketSummary_jsp.java:55)
>>>         at 
>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>>         at javax.servlet.http.HttpServlet.service (HttpServlet.java:688)
>>>         at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>>         at 
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter 
>>> (WebApplicationHandler.java:830)
>>>         at 
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>> :821)
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>>         at 
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>>         at 
>>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>         at org.apache.jasper.runtime.JspRuntimeLibrary.include 
>>> (JspRuntimeLibrary.java:966)
>>>         at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
>>>         at 
>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>>         at javax.servlet.http.HttpServlet.service (HttpServlet.java:688)
>>>         at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>>         at 
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter 
>>> (WebApplicationHandler.java:830)
>>>         at 
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>> :821)
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>>         at 
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>>         at 
>>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch 
>>> (TradeServletAction.java:730)
>>>         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:330) 
>>>
>>>         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin 
>>> (TradeServletAction.java:373)
>>>         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:127) 
>>>
>>>         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java 
>>> :78)
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>         at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java :428)
>>>         at 
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
>>> (WebApplicationHandler.java:471)
>>>         at 
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>>         at 
>>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask(TradeScenarioServlet.java:202) 
>>>
>>>         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet 
>>> (TradeScenarioServlet.java:75)
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>         at org.mortbay.jetty.servlet.ServletHolder.handle 
>>> (ServletHolder.java:428)
>>>         at 
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>> :830)
>>>         at 
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
>>> (WebApplicationHandler.java:471)
>>>         at 
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java 
>>> :568)
>>>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>>
>>>         at org.mortbay.http.HttpContext.handle (HttpContext.java:1482)
>>>         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>>>         at 
>>> org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>>>         at org.mortbay.http.HttpConnection.handleNext 
>>> (HttpConnection.java:982)
>>>         at 
>>> org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>>>         at 
>>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>>
>>>         at org.mortbay.util.ThreadedServer.handle 
>>> (ThreadedServer.java:357)
>>>         at 
>>> org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>>> 10:47:44,015 WARN  [/daytrader] /daytrader/scenario:
>>> java.lang.NullPointerException
>>>         at jsp.marketSummary_jsp._jspService (marketSummary_jsp.java:58)
>>>         at 
>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>         at org.mortbay.jetty.servlet.ServletHolder.handle 
>>> (ServletHolder.java:428)
>>>         at 
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>> :830)
>>>         at 
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
>>> (WebApplicationHandler.java:471)
>>>         at 
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>>         at 
>>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>         at 
>>> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) 
>>>
>>>         at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
>>>         at 
>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>         at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java :428)
>>>         at 
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
>>> (WebApplicationHandler.java:471)
>>>         at 
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>>         at 
>>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730) 
>>>
>>>         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome 
>>> (TradeServletAction.java:330)
>>>         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:373) 
>>>
>>>         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask 
>>> (TradeAppServlet.java:127)
>>>         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java:78) 
>>>
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>>         at javax.servlet.http.HttpServlet.service (HttpServlet.java:688)
>>>         at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>>         at 
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter 
>>> (WebApplicationHandler.java:830)
>>>         at 
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>> :821)
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>>         at 
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>>         at 
>>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask 
>>> (TradeScenarioServlet.java:202)
>>>         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet(TradeScenarioServlet.java:75) 
>>>
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>         at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>>         at org.apache.geronimo.jetty.JettyServletHolder.handle 
>>> (JettyServletHolder.java:97)
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java :170)
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>>         at 
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>         at 
>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>>>         at org.mortbay.http.HttpContext.handle (HttpContext.java:1530)
>>>         at 
>>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>>
>>>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>>>         at org.mortbay.http.HttpServer.service (HttpServer.java:909)
>>>         at 
>>> org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>>>         at 
>>> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
>>>         at org.mortbay.http.HttpConnection.handle 
>>> (HttpConnection.java:833)
>>>         at 
>>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>>
>>>         at 
>>> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>>>         at org.mortbay.util.ThreadPool$PoolThread.run 
>>> (ThreadPool.java:534)
>>>
>>> > Daytrader gets NullPointerException attempting to log in a user
>>> > ---------------------------------------------------------------
>>> >
>>> >          Key: GERONIMO-1674
>>> >          URL: http://issues.apache.org/jira/browse/GERONIMO-1674
>>> >      Project: Geronimo
>>> >         Type: Bug
>>> >     Security: public(Regular issues)
>>> >   Components: sample apps
>>> >     Versions: 1.x
>>> >  Environment: Windows XP
>>> >     Reporter: Joe Bohn
>>>
>>> >
>>> > Daytrader gets the following NPE exception when attempting to signon:
>>> > 13:47:05,510 ERROR [Log] Error: TradeDirect:login -- error logging 
>>> in user
>>> >         java.lang.NullPointerException
>>> > java.lang.NullPointerException
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43) 
>>>
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.MarketSummaryDataBean.<init>(MarketSummaryDataBean.java:54) 
>>>
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:151) 
>>>
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary(TradeAction.java:99) 
>>>
>>> >         at 
>>> org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:56) 
>>>
>>> >         at 
>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>> >         at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>> >         at 
>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java 
>>> :332)
>>> >         at 
>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>> >         at 
>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>> >         at javax.servlet.http.HttpServlet.service 
>>> (HttpServlet.java:688)
>>> >         at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>> >         at 
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter 
>>> (WebApplicationHandler.java:821)
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java :283)
>>> >         at 
>>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>> >         at 
>>> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) 
>>>
>>> >         at org.apache.jsp.tradehome_jsp._jspService 
>>> (org.apache.jsp.tradehome_jsp:282)
>>> >         at 
>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>> >         at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>> >         at org.apache.jasper.servlet.JspServletWrapper.service 
>>> (JspServletWrapper.java:332)
>>> >         at 
>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>> >         at 
>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>> >         at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>> >         at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>> >         at org.apache.geronimo.jetty.JettyServletHolder.handle 
>>> (JettyServletHolder.java:99)
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java :170)
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java 
>>> :471)
>>> >         at 
>>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>> >         at 
>>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch 
>>> (TradeServletAction.java:730)
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319) 
>>>
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin 
>>> (TradeServletAction.java:357)
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132) 
>>>
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost 
>>> (TradeAppServlet.java:94)
>>> >         at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>>> >         at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>> >         at org.mortbay.jetty.servlet.ServletHolder.handle 
>>> (ServletHolder.java:428)
>>> >         at 
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>> :830)
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>> :821)
>>> >         at 
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>>> >         at org.mortbay.http.HttpContext.handle (HttpContext.java:1530)
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>>
>>> >         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>>> >         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>>> >         at 
>>> org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>>> >         at 
>>> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java :982)
>>> >         at 
>>> org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>>> >         at 
>>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>>
>>> >         at org.mortbay.util.ThreadedServer.handle 
>>> (ThreadedServer.java:357)
>>> >         at 
>>> org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>>> > 13:47:05,560 WARN  [/daytrader] /daytrader/app:
>>> > java.lang.NullPointerException
>>> >         at 
>>> org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:63) 
>>>
>>> >         at 
>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>> >         at javax.servlet.http.HttpServlet.service 
>>> (HttpServlet.java:688)
>>> >         at 
>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) 
>>>
>>> >         at 
>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>> >         at 
>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>> >         at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>> >         at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java :428)
>>> >         at 
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>> >         at org.mortbay.jetty.servlet.Dispatcher.include 
>>> (Dispatcher.java:163)
>>> >         at 
>>> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) 
>>>
>>> >         at 
>>> org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282) 
>>>
>>> >         at 
>>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>> >         at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>> >         at 
>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java 
>>> :332)
>>> >         at 
>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>> >         at 
>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>> >         at javax.servlet.http.HttpServlet.service 
>>> (HttpServlet.java:688)
>>> >         at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>> >         at 
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter 
>>> (WebApplicationHandler.java:821)
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java :283)
>>> >         at 
>>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730) 
>>>
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319) 
>>>
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357) 
>>>
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132) 
>>>
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94) 
>>>
>>> >         at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>>> >         at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>> >         at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java :428)
>>> >         at 
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>> >         at 
>>> org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>> :821)
>>> >         at 
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>> >         at 
>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>>> >         at org.mortbay.http.HttpContext.handle (HttpContext.java:1530)
>>> >         at 
>>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>>
>>> >         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>>> >         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>>> >         at 
>>> org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>>> >         at 
>>> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java :982)
>>> >         at 
>>> org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>>> >         at 
>>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>>
>>> >         at org.mortbay.util.ThreadedServer.handle 
>>> (ThreadedServer.java:357)
>>> >         at 
>>> org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>>>
>>> -- 
>>> This message is automatically generated by JIRA.
>>> -
>>> If you think it was sent incorrectly contact one of the administrators:
>>>    http://issues.apache.org/jira/secure/Administrators.jspa
>>> -
>>> For more information on JIRA, see:
>>>    http://www.atlassian.com/software/jira
>>>
>>>
>>
>>
> 
> 
> 

Re: [jira] Commented: (GERONIMO-1674) Daytrader gets NullPointerException attempting to log in a user

Posted by "J. Stan Cox" <js...@gmail.com>.
So, at the very least the code needs to be fixed to support a smaller 
quote population.  Perhaps we could also provide 2 basic settings on the 
configuration page:

1) Default, out of box sample application (low number of users quotes)
2) Performance test,  larger default values (e.g. 1000 quotes, 500 users)

It would be good to settle on specific values for performance testing so 
results will be comparable.

Stan.

Dain Sundstrom wrote:
> Chris,
>
> DayTrader has two uses to us.  One is clearly as a performance 
> benchmark, but DayTrader is also a very useful sample (test) 
> application that touches most parts of the J2EE specification.  We 
> dropped the default population sizes because Derby is so slow at 
> inserts it would take several minutes to repopulate.  Also, the 
> performance of Derby is so bad that you don't need much data to get 
> reliable results.  If you switch to a real database, you need a much 
> bigger data set.
>
> -dain
>
> On Jun 28, 2006, at 7:56 AM, Christopher Blythe wrote:
>
>> Joe...
>>
>> I've worked on Trade for quite some time and am slowly starting to 
>> dig into DayTrader. Anyway, just wanted to respond to your question 
>> since I think I know what the problem is.
>>
>> In order for the MarketSummary to be display, at least 200 quotes 
>> need to be populated in the database. If you look at the queries the 
>> MarketSummary uses (either the EJBQL or SQL in TradeDirect.java) you 
>> will see something like this...
>>
>> <ejb-ql>SELECT OBJECT(q) FROM Quote q WHERE q.symbol LIKE 's:1__' 
>> ORDER BY q.change DESC</ejb-ql>
>>
>> This indicates that the MarketSummary needs quotes between 100 and 
>> 199. If we are only populating 10 quotes by default, this query will 
>> return 0 results and I imagine the MarketSummary will throw an 
>> exception (as indicated by the stack traces).
>>
>> To get you up and running, I would re-populate your database with at 
>> least 200 quotes. The default for Trade was actually 1000.
>>
>> I also suggest that the default be changed from 10 to something more 
>> realistic for performance testing ( i.e. 1000 or even higher).
>>
>> Hope this helps...
>>
>> Chris Blythe
>>
>> On 6/27/06, Joe Bohn (JIRA) <dev@geronimo.apache.org > wrote:    [ 
>> http://issues.apache.org/jira/browse/GERONIMO-1674?page=comments#action_12418036 
>> ]
>>
>> Joe Bohn commented on GERONIMO-1674:
>> ------------------------------------
>>
>> I still get this error.  I get it with tomcat as well as jetty.   I 
>> think I may very well be doing something wrong.  Here is my scenario 
>> after successfully deploying daytrader.
>>
>> 1)  select configuration->configure Daytrader runtime paramenters 
>> ...  and change the max users and max quotes to 10 each.   Note, I'm 
>> not really running daytrader for performance stats ... I was just 
>> using it to verify geronimo functions after making some substantial 
>> changes as a way to verify that I hadn't broken things too radically.
>> 2)  from confirguration select (Re)-populate Daytrader Database.  
>> This appears to be successful.
>> 3)  Next, from under Configuration utilities I select "Test DayTrader 
>> Scenario" and I get this attached exception.   It does seem strange 
>> that if I do this a number of time eventually things seem to start 
>> working.
>>
>> Here is another stack trace (unfortunately from jetty again but I do 
>> get it with tomcat as well) from a recent attempt on 1.1.
>>
>> ########## Trade configuration update. Current config:
>>
>>                 RunTimeMode:            Direct
>>                 OrderProcessingMode:    Synchronous
>>                 AcessMode:              Standard
>>                 Workload Mix:           Standard
>>                 Web Interface:          JSP
>>                 CachingType:            No Caching
>>                 #Trade  Users:          10
>>                 #Trade Quotes:          10
>>                 Long Run Enabled:               true
>>
>> 10:47:43,984 ERROR [Log] Error: TradeDirect:login -- error logging in 
>> user
>>         java.lang.NullPointerException
>> java.lang.NullPointerException
>>         at 
>> org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43) 
>>
>>         at 
>> org.apache.geronimo.samples.daytrader.MarketSummaryDataBean 
>> .<init>(MarketSummaryDataBean.java:54)
>>         at 
>> org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:152) 
>>
>>         at 
>> org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary 
>> (TradeAction.java:100)
>>         at jsp.marketSummary_jsp._jspService(marketSummary_jsp.java:55)
>>         at 
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>         at javax.servlet.http.HttpServlet.service (HttpServlet.java:688)
>>         at 
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>         at 
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter 
>> (WebApplicationHandler.java:830)
>>         at 
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>> :821)
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>>         at 
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>         at 
>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>         at 
>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>         at org.apache.jasper.runtime.JspRuntimeLibrary.include 
>> (JspRuntimeLibrary.java:966)
>>         at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
>>         at 
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>         at javax.servlet.http.HttpServlet.service (HttpServlet.java:688)
>>         at 
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>         at 
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter 
>> (WebApplicationHandler.java:830)
>>         at 
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>> :821)
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>>         at 
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>         at 
>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>         at 
>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>         at 
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch 
>> (TradeServletAction.java:730)
>>         at 
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:330) 
>>
>>         at 
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin 
>> (TradeServletAction.java:373)
>>         at 
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:127) 
>>
>>         at 
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java 
>> :78)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>         at 
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java :428)
>>         at 
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>>         at 
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
>> (WebApplicationHandler.java:471)
>>         at 
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>         at 
>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>         at 
>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>         at 
>> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask(TradeScenarioServlet.java:202) 
>>
>>         at 
>> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet 
>> (TradeScenarioServlet.java:75)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>         at org.mortbay.jetty.servlet.ServletHolder.handle 
>> (ServletHolder.java:428)
>>         at 
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>> :830)
>>         at 
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
>> (WebApplicationHandler.java:471)
>>         at 
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>         at 
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java 
>> :568)
>>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>
>>         at org.mortbay.http.HttpContext.handle (HttpContext.java:1482)
>>         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>>         at 
>> org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>>         at org.mortbay.http.HttpConnection.handleNext 
>> (HttpConnection.java:982)
>>         at 
>> org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>>         at 
>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>
>>         at org.mortbay.util.ThreadedServer.handle 
>> (ThreadedServer.java:357)
>>         at 
>> org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>> 10:47:44,015 WARN  [/daytrader] /daytrader/scenario:
>> java.lang.NullPointerException
>>         at jsp.marketSummary_jsp._jspService (marketSummary_jsp.java:58)
>>         at 
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>         at org.mortbay.jetty.servlet.ServletHolder.handle 
>> (ServletHolder.java:428)
>>         at 
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>> :830)
>>         at 
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
>> (WebApplicationHandler.java:471)
>>         at 
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>         at 
>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>         at 
>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>         at 
>> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) 
>>
>>         at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
>>         at 
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>         at 
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java :428)
>>         at 
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>>         at 
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
>> (WebApplicationHandler.java:471)
>>         at 
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>         at 
>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>         at 
>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>         at 
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730) 
>>
>>         at 
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome 
>> (TradeServletAction.java:330)
>>         at 
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:373) 
>>
>>         at 
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask 
>> (TradeAppServlet.java:127)
>>         at 
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java:78) 
>>
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>         at javax.servlet.http.HttpServlet.service (HttpServlet.java:688)
>>         at 
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>         at 
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter 
>> (WebApplicationHandler.java:830)
>>         at 
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>> :821)
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>>         at 
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>         at 
>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>         at 
>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>         at 
>> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask 
>> (TradeScenarioServlet.java:202)
>>         at 
>> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet(TradeScenarioServlet.java:75) 
>>
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>         at 
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>         at org.apache.geronimo.jetty.JettyServletHolder.handle 
>> (JettyServletHolder.java:97)
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>>         at 
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java :170)
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>>         at 
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>         at 
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>>         at org.mortbay.http.HttpContext.handle (HttpContext.java:1530)
>>         at 
>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>
>>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>>         at org.mortbay.http.HttpServer.service (HttpServer.java:909)
>>         at 
>> org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>>         at 
>> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
>>         at org.mortbay.http.HttpConnection.handle 
>> (HttpConnection.java:833)
>>         at 
>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>
>>         at 
>> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>>         at org.mortbay.util.ThreadPool$PoolThread.run 
>> (ThreadPool.java:534)
>>
>> > Daytrader gets NullPointerException attempting to log in a user
>> > ---------------------------------------------------------------
>> >
>> >          Key: GERONIMO-1674
>> >          URL: http://issues.apache.org/jira/browse/GERONIMO-1674
>> >      Project: Geronimo
>> >         Type: Bug
>> >     Security: public(Regular issues)
>> >   Components: sample apps
>> >     Versions: 1.x
>> >  Environment: Windows XP
>> >     Reporter: Joe Bohn
>>
>> >
>> > Daytrader gets the following NPE exception when attempting to signon:
>> > 13:47:05,510 ERROR [Log] Error: TradeDirect:login -- error logging 
>> in user
>> >         java.lang.NullPointerException
>> > java.lang.NullPointerException
>> >         at 
>> org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43) 
>>
>> >         at 
>> org.apache.geronimo.samples.daytrader.MarketSummaryDataBean.<init>(MarketSummaryDataBean.java:54) 
>>
>> >         at 
>> org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:151) 
>>
>> >         at 
>> org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary(TradeAction.java:99) 
>>
>> >         at 
>> org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:56) 
>>
>> >         at 
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>> >         at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>> >         at 
>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java 
>> :332)
>> >         at 
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>> >         at 
>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>> >         at javax.servlet.http.HttpServlet.service 
>> (HttpServlet.java:688)
>> >         at 
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>> >         at 
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter 
>> (WebApplicationHandler.java:821)
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java :283)
>> >         at 
>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>> >         at 
>> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) 
>>
>> >         at org.apache.jsp.tradehome_jsp._jspService 
>> (org.apache.jsp.tradehome_jsp:282)
>> >         at 
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>> >         at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>> >         at org.apache.jasper.servlet.JspServletWrapper.service 
>> (JspServletWrapper.java:332)
>> >         at 
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>> >         at 
>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>> >         at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>> >         at 
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>> >         at org.apache.geronimo.jetty.JettyServletHolder.handle 
>> (JettyServletHolder.java:99)
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java :170)
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java 
>> :471)
>> >         at 
>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>> >         at 
>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>> >         at 
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch 
>> (TradeServletAction.java:730)
>> >         at 
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319) 
>>
>> >         at 
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin 
>> (TradeServletAction.java:357)
>> >         at 
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132) 
>>
>> >         at 
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost 
>> (TradeAppServlet.java:94)
>> >         at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>> >         at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>> >         at org.mortbay.jetty.servlet.ServletHolder.handle 
>> (ServletHolder.java:428)
>> >         at 
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>> :830)
>> >         at 
>> org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>> :821)
>> >         at 
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>> >         at org.mortbay.http.HttpContext.handle (HttpContext.java:1530)
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>
>> >         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>> >         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>> >         at 
>> org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>> >         at 
>> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java :982)
>> >         at 
>> org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>> >         at 
>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>
>> >         at org.mortbay.util.ThreadedServer.handle 
>> (ThreadedServer.java:357)
>> >         at 
>> org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>> > 13:47:05,560 WARN  [/daytrader] /daytrader/app:
>> > java.lang.NullPointerException
>> >         at 
>> org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:63) 
>>
>> >         at 
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>> >         at javax.servlet.http.HttpServlet.service 
>> (HttpServlet.java:688)
>> >         at 
>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) 
>>
>> >         at 
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>> >         at 
>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>> >         at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>> >         at 
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java :428)
>> >         at 
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>> >         at org.mortbay.jetty.servlet.Dispatcher.include 
>> (Dispatcher.java:163)
>> >         at 
>> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) 
>>
>> >         at 
>> org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282) 
>>
>> >         at 
>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>> >         at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>> >         at 
>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java 
>> :332)
>> >         at 
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>> >         at 
>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>> >         at javax.servlet.http.HttpServlet.service 
>> (HttpServlet.java:688)
>> >         at 
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>> >         at 
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter 
>> (WebApplicationHandler.java:821)
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java :283)
>> >         at 
>> org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>> >         at 
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730) 
>>
>> >         at 
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319) 
>>
>> >         at 
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357) 
>>
>> >         at 
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132) 
>>
>> >         at 
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94) 
>>
>> >         at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>> >         at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>> >         at 
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java :428)
>> >         at 
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>> >         at 
>> org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>> :821)
>> >         at 
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>> >         at 
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>> >         at org.mortbay.http.HttpContext.handle (HttpContext.java:1530)
>> >         at 
>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>
>> >         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>> >         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>> >         at 
>> org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>> >         at 
>> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java :982)
>> >         at 
>> org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>> >         at 
>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>
>> >         at org.mortbay.util.ThreadedServer.handle 
>> (ThreadedServer.java:357)
>> >         at 
>> org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>>
>> -- 
>> This message is automatically generated by JIRA.
>> -
>> If you think it was sent incorrectly contact one of the administrators:
>>    http://issues.apache.org/jira/secure/Administrators.jspa
>> -
>> For more information on JIRA, see:
>>    http://www.atlassian.com/software/jira
>>
>>
>
>

Re: [jira] Commented: (GERONIMO-1674) Daytrader gets NullPointerException attempting to log in a user

Posted by Dain Sundstrom <da...@iq80.com>.
Chris,

DayTrader has two uses to us.  One is clearly as a performance  
benchmark, but DayTrader is also a very useful sample (test)  
application that touches most parts of the J2EE specification.  We  
dropped the default population sizes because Derby is so slow at  
inserts it would take several minutes to repopulate.  Also, the  
performance of Derby is so bad that you don't need much data to get  
reliable results.  If you switch to a real database, you need a much  
bigger data set.

-dain

On Jun 28, 2006, at 7:56 AM, Christopher Blythe wrote:

> Joe...
>
> I've worked on Trade for quite some time and am slowly starting to  
> dig into DayTrader. Anyway, just wanted to respond to your question  
> since I think I know what the problem is.
>
> In order for the MarketSummary to be display, at least 200 quotes  
> need to be populated in the database. If you look at the queries  
> the MarketSummary uses (either the EJBQL or SQL in  
> TradeDirect.java) you will see something like this...
>
> <ejb-ql>SELECT OBJECT(q) FROM Quote q WHERE q.symbol LIKE 's:1__'  
> ORDER BY q.change DESC</ejb-ql>
>
> This indicates that the MarketSummary needs quotes between 100 and  
> 199. If we are only populating 10 quotes by default, this query  
> will return 0 results and I imagine the MarketSummary will throw an  
> exception (as indicated by the stack traces).
>
> To get you up and running, I would re-populate your database with  
> at least 200 quotes. The default for Trade was actually 1000.
>
> I also suggest that the default be changed from 10 to something  
> more realistic for performance testing ( i.e. 1000 or even higher).
>
> Hope this helps...
>
> Chris Blythe
>
> On 6/27/06, Joe Bohn (JIRA) <dev@geronimo.apache.org > wrote:     
> [ http://issues.apache.org/jira/browse/GERONIMO-1674? 
> page=comments#action_12418036 ]
>
> Joe Bohn commented on GERONIMO-1674:
> ------------------------------------
>
> I still get this error.  I get it with tomcat as well as jetty.   I  
> think I may very well be doing something wrong.  Here is my  
> scenario after successfully deploying daytrader.
>
> 1)  select configuration->configure Daytrader runtime  
> paramenters ...  and change the max users and max quotes to 10  
> each.   Note, I'm not really running daytrader for performance  
> stats ... I was just using it to verify geronimo functions after  
> making some substantial changes as a way to verify that I hadn't  
> broken things too radically.
> 2)  from confirguration select (Re)-populate Daytrader Database.   
> This appears to be successful.
> 3)  Next, from under Configuration utilities I select "Test  
> DayTrader Scenario" and I get this attached exception.   It does  
> seem strange that if I do this a number of time eventually things  
> seem to start working.
>
> Here is another stack trace (unfortunately from jetty again but I  
> do get it with tomcat as well) from a recent attempt on 1.1.
>
> ########## Trade configuration update. Current config:
>
>                 RunTimeMode:            Direct
>                 OrderProcessingMode:    Synchronous
>                 AcessMode:              Standard
>                 Workload Mix:           Standard
>                 Web Interface:          JSP
>                 CachingType:            No Caching
>                 #Trade  Users:          10
>                 #Trade Quotes:          10
>                 Long Run Enabled:               true
>
> 10:47:43,984 ERROR [Log] Error: TradeDirect:login -- error logging  
> in user
>         java.lang.NullPointerException
> java.lang.NullPointerException
>         at  
> org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainP 
> ercent(FinancialUtils.java:43)
>         at  
> org.apache.geronimo.samples.daytrader.MarketSummaryDataBean .<init> 
> (MarketSummaryDataBean.java:54)
>         at  
> org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSumm 
> ary(TradeDirect.java:152)
>         at  
> org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary  
> (TradeAction.java:100)
>         at jsp.marketSummary_jsp._jspService(marketSummary_jsp.java: 
> 55)
>         at org.apache.jasper.runtime.HttpJspBase.service 
> (HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service (HttpServlet.java: 
> 688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle 
> (JettyServletHolder.java:97)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter (WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter 
> (JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java :821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
> (WebApplicationHandler.java:471)
>         at  
> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch 
> (JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch 
> (Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include 
> (Dispatcher.java:163)
>         at org.apache.jasper.runtime.JspRuntimeLibrary.include  
> (JspRuntimeLibrary.java:966)
>         at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
>         at org.apache.jasper.runtime.HttpJspBase.service 
> (HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service (HttpServlet.java: 
> 688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle 
> (JettyServletHolder.java:97)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter (WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter 
> (JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java :821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
> (WebApplicationHandler.java:471)
>         at  
> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch 
> (JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch 
> (Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include 
> (Dispatcher.java:163)
>         at  
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDi 
> spatch (TradeServletAction.java:730)
>         at  
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome 
> (TradeServletAction.java:330)
>         at  
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin ( 
> TradeServletAction.java:373)
>         at  
> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask( 
> TradeAppServlet.java:127)
>         at  
> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet 
> (TradeAppServlet.java :78)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
> 595)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
> 688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java :428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle 
> (JettyServletHolder.java:97)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter 
> (JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch  
> (WebApplicationHandler.java:471)
>         at  
> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch 
> (JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch 
> (Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include 
> (Dispatcher.java:163)
>         at  
> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.perform 
> Task(TradeScenarioServlet.java:202)
>         at  
> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet ( 
> TradeScenarioServlet.java:75)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
> 595)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
> 688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle  
> (ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle 
> (JettyServletHolder.java:97)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java :830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter 
> (JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch  
> (WebApplicationHandler.java:471)
>         at  
> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch 
> (JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.ServletHandler.handle 
> (ServletHandler.java :568)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>         at org.mortbay.jetty.servlet.WebApplicationContext.handle 
> (WebApplicationContext.java:633)
>         at org.mortbay.http.HttpContext.handle (HttpContext.java:1482)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>         at org.mortbay.http.HttpConnection.service 
> (HttpConnection.java:816)
>         at org.mortbay.http.HttpConnection.handleNext  
> (HttpConnection.java:982)
>         at org.mortbay.http.HttpConnection.handle 
> (HttpConnection.java:833)
>         at org.mortbay.http.SocketListener.handleConnection 
> (SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle  
> (ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run 
> (ThreadPool.java:534)
> 10:47:44,015 WARN  [/daytrader] /daytrader/scenario:
> java.lang.NullPointerException
>         at jsp.marketSummary_jsp._jspService  
> (marketSummary_jsp.java:58)
>         at org.apache.jasper.runtime.HttpJspBase.service 
> (HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
> 688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle  
> (ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle 
> (JettyServletHolder.java:97)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java :830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter 
> (JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch  
> (WebApplicationHandler.java:471)
>         at  
> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch 
> (JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch 
> (Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include 
> (Dispatcher.java:163)
>         at org.apache.jasper.runtime.JspRuntimeLibrary.include 
> (JspRuntimeLibrary.java:966)
>         at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
>         at org.apache.jasper.runtime.HttpJspBase.service 
> (HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
> 688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java :428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle 
> (JettyServletHolder.java:97)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter 
> (JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch  
> (WebApplicationHandler.java:471)
>         at  
> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch 
> (JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch 
> (Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include 
> (Dispatcher.java:163)
>         at  
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDi 
> spatch(TradeServletAction.java:730)
>         at  
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome  
> (TradeServletAction.java:330)
>         at  
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin 
> (TradeServletAction.java:373)
>         at  
> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask  
> (TradeAppServlet.java:127)
>         at  
> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet 
> (TradeAppServlet.java:78)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
> 595)
>         at javax.servlet.http.HttpServlet.service (HttpServlet.java: 
> 688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle 
> (JettyServletHolder.java:97)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter (WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter 
> (JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java :821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
> (WebApplicationHandler.java:471)
>         at  
> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch 
> (JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch 
> (Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include 
> (Dispatcher.java:163)
>         at  
> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.perform 
> Task (TradeScenarioServlet.java:202)
>         at  
> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet 
> (TradeScenarioServlet.java:75)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
> 595)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
> 688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle  
> (JettyServletHolder.java:97)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter 
> (JSR154Filter.java :170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
> (WebApplicationHandler.java:471)
>         at  
> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch 
> (JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.ServletHandler.handle 
> (ServletHandler.java:568)
>         at org.mortbay.http.HttpContext.handle (HttpContext.java:1530)
>         at org.mortbay.jetty.servlet.WebApplicationContext.handle 
> (WebApplicationContext.java:633)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>         at org.mortbay.http.HttpServer.service (HttpServer.java:909)
>         at org.mortbay.http.HttpConnection.service 
> (HttpConnection.java:816)
>         at org.mortbay.http.HttpConnection.handleNext 
> (HttpConnection.java:982)
>         at org.mortbay.http.HttpConnection.handle  
> (HttpConnection.java:833)
>         at org.mortbay.http.SocketListener.handleConnection 
> (SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle 
> (ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run  
> (ThreadPool.java:534)
>
> > Daytrader gets NullPointerException attempting to log in a user
> > ---------------------------------------------------------------
> >
> >          Key: GERONIMO-1674
> >          URL: http://issues.apache.org/jira/browse/GERONIMO-1674
> >      Project: Geronimo
> >         Type: Bug
> >     Security: public(Regular issues)
> >   Components: sample apps
> >     Versions: 1.x
> >  Environment: Windows XP
> >     Reporter: Joe Bohn
>
> >
> > Daytrader gets the following NPE exception when attempting to  
> signon:
> > 13:47:05,510 ERROR [Log] Error: TradeDirect:login -- error  
> logging in user
> >         java.lang.NullPointerException
> > java.lang.NullPointerException
> >         at  
> org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainP 
> ercent(FinancialUtils.java:43)
> >         at  
> org.apache.geronimo.samples.daytrader.MarketSummaryDataBean.<init> 
> (MarketSummaryDataBean.java:54)
> >         at  
> org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSumm 
> ary(TradeDirect.java:151)
> >         at  
> org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary 
> (TradeAction.java:99)
> >         at org.apache.jsp.marketSummary_jsp._jspService 
> (org.apache.jsp.marketSummary_jsp:56)
> >         at org.apache.jasper.runtime.HttpJspBase.service 
> (HttpJspBase.java:97)
> >         at javax.servlet.http.HttpServlet.service 
> (HttpServlet.java:688)
> >         at org.apache.jasper.servlet.JspServletWrapper.service 
> (JspServletWrapper.java :332)
> >         at org.apache.jasper.servlet.JspServlet.serviceJspFile 
> (JspServlet.java:314)
> >         at org.apache.jasper.servlet.JspServlet.service 
> (JspServlet.java:264)
> >         at javax.servlet.http.HttpServlet.service  
> (HttpServlet.java:688)
> >         at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java:428)
> >         at org.apache.geronimo.jetty.JettyServletHolder.handle 
> (JettyServletHolder.java:99)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:830)
> >         at org.mortbay.jetty.servlet.JSR154Filter.doFilter 
> (JSR154Filter.java:170)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter (WebApplicationHandler.java:821)
> >         at  
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
> (WebApplicationHandler.java:471)
> >         at org.mortbay.jetty.servlet.Dispatcher.dispatch 
> (Dispatcher.java :283)
> >         at org.mortbay.jetty.servlet.Dispatcher.include 
> (Dispatcher.java:163)
> >         at org.apache.jasper.runtime.JspRuntimeLibrary.include 
> (JspRuntimeLibrary.java:966)
> >         at org.apache.jsp.tradehome_jsp._jspService  
> (org.apache.jsp.tradehome_jsp:282)
> >         at org.apache.jasper.runtime.HttpJspBase.service 
> (HttpJspBase.java:97)
> >         at javax.servlet.http.HttpServlet.service 
> (HttpServlet.java:688)
> >         at org.apache.jasper.servlet.JspServletWrapper.service  
> (JspServletWrapper.java:332)
> >         at org.apache.jasper.servlet.JspServlet.serviceJspFile 
> (JspServlet.java:314)
> >         at org.apache.jasper.servlet.JspServlet.service 
> (JspServlet.java:264)
> >         at javax.servlet.http.HttpServlet.service 
> (HttpServlet.java:688)
> >         at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java:428)
> >         at org.apache.geronimo.jetty.JettyServletHolder.handle  
> (JettyServletHolder.java:99)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:830)
> >         at org.mortbay.jetty.servlet.JSR154Filter.doFilter 
> (JSR154Filter.java :170)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:821)
> >         at  
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
> (WebApplicationHandler.java :471)
> >         at org.mortbay.jetty.servlet.Dispatcher.dispatch 
> (Dispatcher.java:283)
> >         at org.mortbay.jetty.servlet.Dispatcher.include 
> (Dispatcher.java:163)
> >         at  
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDi 
> spatch (TradeServletAction.java:730)
> >         at  
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome 
> (TradeServletAction.java:319)
> >         at  
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin ( 
> TradeServletAction.java:357)
> >         at  
> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask( 
> TradeAppServlet.java:132)
> >         at  
> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost  
> (TradeAppServlet.java:94)
> >         at javax.servlet.http.HttpServlet.service 
> (HttpServlet.java:615)
> >         at javax.servlet.http.HttpServlet.service 
> (HttpServlet.java:688)
> >         at org.mortbay.jetty.servlet.ServletHolder.handle  
> (ServletHolder.java:428)
> >         at org.apache.geronimo.jetty.JettyServletHolder.handle 
> (JettyServletHolder.java:99)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java :830)
> >         at  
> org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter 
> (OrdersAlertFilter.java:92)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java :821)
> >         at org.mortbay.jetty.servlet.JSR154Filter.doFilter 
> (JSR154Filter.java:170)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:821)
> >         at  
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
> (WebApplicationHandler.java:471)
> >         at org.mortbay.jetty.servlet.ServletHandler.handle 
> (ServletHandler.java:568)
> >         at org.mortbay.http.HttpContext.handle (HttpContext.java: 
> 1530)
> >         at org.mortbay.jetty.servlet.WebApplicationContext.handle 
> (WebApplicationContext.java:633)
> >         at org.mortbay.http.HttpContext.handle(HttpContext.java: 
> 1482)
> >         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
> >         at org.mortbay.http.HttpConnection.service 
> (HttpConnection.java:816)
> >         at org.mortbay.http.HttpConnection.handleNext 
> (HttpConnection.java :982)
> >         at org.mortbay.http.HttpConnection.handle 
> (HttpConnection.java:833)
> >         at org.mortbay.http.SocketListener.handleConnection 
> (SocketListener.java:244)
> >         at org.mortbay.util.ThreadedServer.handle  
> (ThreadedServer.java:357)
> >         at org.mortbay.util.ThreadPool$PoolThread.run 
> (ThreadPool.java:534)
> > 13:47:05,560 WARN  [/daytrader] /daytrader/app:
> > java.lang.NullPointerException
> >         at org.apache.jsp.marketSummary_jsp._jspService 
> (org.apache.jsp.marketSummary_jsp:63)
> >         at org.apache.jasper.runtime.HttpJspBase.service 
> (HttpJspBase.java:97)
> >         at javax.servlet.http.HttpServlet.service  
> (HttpServlet.java:688)
> >         at org.apache.jasper.servlet.JspServletWrapper.service 
> (JspServletWrapper.java:332)
> >         at org.apache.jasper.servlet.JspServlet.serviceJspFile 
> (JspServlet.java:314)
> >         at org.apache.jasper.servlet.JspServlet.service 
> (JspServlet.java:264)
> >         at javax.servlet.http.HttpServlet.service 
> (HttpServlet.java:688)
> >         at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java :428)
> >         at org.apache.geronimo.jetty.JettyServletHolder.handle 
> (JettyServletHolder.java:99)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:830)
> >         at org.mortbay.jetty.servlet.JSR154Filter.doFilter 
> (JSR154Filter.java:170)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:821)
> >         at  
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
> (WebApplicationHandler.java:471)
> >         at org.mortbay.jetty.servlet.Dispatcher.dispatch 
> (Dispatcher.java:283)
> >         at org.mortbay.jetty.servlet.Dispatcher.include  
> (Dispatcher.java:163)
> >         at org.apache.jasper.runtime.JspRuntimeLibrary.include 
> (JspRuntimeLibrary.java:966)
> >         at org.apache.jsp.tradehome_jsp._jspService 
> (org.apache.jsp.tradehome_jsp:282)
> >         at org.apache.jasper.runtime.HttpJspBase.service 
> (HttpJspBase.java:97)
> >         at javax.servlet.http.HttpServlet.service 
> (HttpServlet.java:688)
> >         at org.apache.jasper.servlet.JspServletWrapper.service 
> (JspServletWrapper.java :332)
> >         at org.apache.jasper.servlet.JspServlet.serviceJspFile 
> (JspServlet.java:314)
> >         at org.apache.jasper.servlet.JspServlet.service 
> (JspServlet.java:264)
> >         at javax.servlet.http.HttpServlet.service  
> (HttpServlet.java:688)
> >         at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java:428)
> >         at org.apache.geronimo.jetty.JettyServletHolder.handle 
> (JettyServletHolder.java:99)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:830)
> >         at org.mortbay.jetty.servlet.JSR154Filter.doFilter 
> (JSR154Filter.java:170)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter (WebApplicationHandler.java:821)
> >         at  
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
> (WebApplicationHandler.java:471)
> >         at org.mortbay.jetty.servlet.Dispatcher.dispatch 
> (Dispatcher.java :283)
> >         at org.mortbay.jetty.servlet.Dispatcher.include 
> (Dispatcher.java:163)
> >         at  
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDi 
> spatch(TradeServletAction.java:730)
> >         at  
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome 
> (TradeServletAction.java:319)
> >         at  
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin 
> (TradeServletAction.java:357)
> >         at  
> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask( 
> TradeAppServlet.java:132)
> >         at  
> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost 
> (TradeAppServlet.java:94)
> >         at javax.servlet.http.HttpServlet.service 
> (HttpServlet.java:615)
> >         at javax.servlet.http.HttpServlet.service 
> (HttpServlet.java:688)
> >         at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java :428)
> >         at org.apache.geronimo.jetty.JettyServletHolder.handle 
> (JettyServletHolder.java:99)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:830)
> >         at  
> org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter 
> (OrdersAlertFilter.java:92)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java :821)
> >         at org.mortbay.jetty.servlet.JSR154Filter.doFilter 
> (JSR154Filter.java:170)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler 
> $CachedChain.doFilter(WebApplicationHandler.java:821)
> >         at  
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch 
> (WebApplicationHandler.java:471)
> >         at org.mortbay.jetty.servlet.ServletHandler.handle 
> (ServletHandler.java:568)
> >         at org.mortbay.http.HttpContext.handle (HttpContext.java: 
> 1530)
> >         at org.mortbay.jetty.servlet.WebApplicationContext.handle 
> (WebApplicationContext.java:633)
> >         at org.mortbay.http.HttpContext.handle(HttpContext.java: 
> 1482)
> >         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
> >         at org.mortbay.http.HttpConnection.service 
> (HttpConnection.java:816)
> >         at org.mortbay.http.HttpConnection.handleNext 
> (HttpConnection.java :982)
> >         at org.mortbay.http.HttpConnection.handle 
> (HttpConnection.java:833)
> >         at org.mortbay.http.SocketListener.handleConnection 
> (SocketListener.java:244)
> >         at org.mortbay.util.ThreadedServer.handle  
> (ThreadedServer.java:357)
> >         at org.mortbay.util.ThreadPool$PoolThread.run 
> (ThreadPool.java:534)
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the  
> administrators:
>    http://issues.apache.org/jira/secure/Administrators.jspa
> -
> For more information on JIRA, see:
>    http://www.atlassian.com/software/jira
>
>


Re: [jira] Commented: (GERONIMO-1674) Daytrader gets NullPointerException attempting to log in a user

Posted by Matt Hogstrom <ma...@hogstrom.org>.
So I think the defaults should be 200 Users and 400 quotes to follow the original intent.  The 
number was lowered because population took too long.  We should probably allow for a batch insert to 
speed things up.

As far as the NPE...who originally wrote that naughty code...oh...Stan...I think it was you :)

My bad for letting it slip through the cracks.  Was busy with other things and forgot to raise the 
value as I'm testing with 5000 users and 10000 quotes in the performance tests.

J. Stan Cox wrote:
> 
> Good thoughts Joe.   I think both need to be fixed.
> 
> 1) The default values for users and quotes should be increased to a 
> realistic value for performance work.  I agree with Chris that quotes 
> should be default to 1000 and I think users should default to 500.
> 
> 2) Setting these to a much lower value is great for debugging especially 
> when there is a problem with populating the database.  So the code 
> should be fixed to support the case when less then 200 quotes are 
> populated.  I don't think it would be a complicated fix. I'll look at 
> the code and get back.
> 
> Stan.
> 
> Joe Bohn wrote:
>> Thanks for your response Chris.
>>
>> So are you saying that even the defaults for Daytrader are 
>> insufficient?     What's confusing is that it always returns a "login 
>> error" even though it appears that login succeeds and this is really 
>> related to the initial display(s).  I get the same error if I select 
>> "Trade & Portfolios" and then log in.
>>
>> I also noticed that even if I return the settings to the defaults of 
>> 50 users and 100 max quotes I still get the error.   You are correct 
>> that making the max quotes 1000 resolves the problem.
>>
>> So, I guess the next question is "what needs to change?".   It seems 
>> that we should not ship the sample with default values that don't work 
>> well with the application.  We also should not allow the user to set 
>> values that can cause a failure.
>>
>> However, I'm not clear if the correct fix should be changing the 
>> defaults (and validating settings to ensure they are not "too small") 
>> or changing the display code to deal with the range of values that can 
>> be set.  What is the recommendation of the Daytrader experts?
>>
>> Joe
>>
>> Christopher Blythe wrote:
>>> Joe...
>>>
>>> I've worked on Trade for quite some time and am slowly starting to 
>>> dig into DayTrader. Anyway, just wanted to respond to your question 
>>> since I think I know what the problem is.
>>>
>>> In order for the MarketSummary to be display, at least 200 quotes 
>>> need to be populated in the database. If you look at the queries the 
>>> MarketSummary uses (either the EJBQL or SQL in TradeDirect.java) you 
>>> will see something like this...
>>>
>>> <ejb-ql>SELECT OBJECT(q) FROM Quote q WHERE q.symbol LIKE 's:1__' 
>>> ORDER BY q.change DESC</ejb-ql>
>>>
>>> This indicates that the MarketSummary needs quotes between 100 and 
>>> 199. If we are only populating 10 quotes by default, this query will 
>>> return 0 results and I imagine the MarketSummary will throw an 
>>> exception (as indicated by the stack traces).
>>>
>>> To get you up and running, I would re-populate your database with at 
>>> least 200 quotes. The default for Trade was actually 1000.
>>>
>>> I also suggest that the default be changed from 10 to something more 
>>> realistic for performance testing ( i.e. 1000 or even higher).
>>>
>>> Hope this helps...
>>>
>>> Chris Blythe
>>>
>>> On 6/27/06, *Joe Bohn (JIRA)* <dev@geronimo.apache.org 
>>> <ma...@geronimo.apache.org>> wrote:
>>>
>>>         [
>>>     
>>> http://issues.apache.org/jira/browse/GERONIMO-1674?page=comments#action_12418036 
>>>
>>>     ]
>>>
>>>     Joe Bohn commented on GERONIMO-1674:
>>>     ------------------------------------
>>>
>>>     I still get this error.  I get it with tomcat as well as jetty.   I
>>>     think I may very well be doing something wrong.  Here is my scenario
>>>     after successfully deploying daytrader.
>>>
>>>     1)  select configuration->configure Daytrader runtime paramenters
>>>     ...  and change the max users and max quotes to 10 each.   Note, I'm
>>>     not really running daytrader for performance stats ... I was just
>>>     using it to verify geronimo functions after making some substantial
>>>     changes as a way to verify that I hadn't broken things too 
>>> radically.
>>>     2)  from confirguration select (Re)-populate Daytrader
>>>     Database.  This appears to be successful.
>>>     3)  Next, from under Configuration utilities I select "Test
>>>     DayTrader Scenario" and I get this attached exception.   It does
>>>     seem strange that if I do this a number of time eventually things
>>>     seem to start working.
>>>
>>>     Here is another stack trace (unfortunately from jetty again but I do
>>>     get it with tomcat as well) from a recent attempt on 1.1.
>>>
>>>     ########## Trade configuration update. Current config:
>>>
>>>                     RunTimeMode:            Direct
>>>                     OrderProcessingMode:    Synchronous
>>>                     AcessMode:              Standard
>>>                     Workload Mix:           Standard
>>>                     Web Interface:          JSP
>>>                     CachingType:            No Caching
>>>                     #Trade  Users:          10
>>>                     #Trade Quotes:          10
>>>                     Long Run Enabled:               true
>>>
>>>     10:47:43,984 ERROR [Log] Error: TradeDirect:login -- error logging
>>>     in user
>>>             java.lang.NullPointerException
>>>     java.lang.NullPointerException
>>>             at
>>>     
>>> org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43) 
>>>
>>>             at
>>>     org.apache.geronimo.samples.daytrader.MarketSummaryDataBean
>>>     .<init>(MarketSummaryDataBean.java:54)
>>>             at
>>>     
>>> org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:152) 
>>>
>>>             at
>>>     org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary
>>>     (TradeAction.java:100)
>>>             at 
>>> jsp.marketSummary_jsp._jspService(marketSummary_jsp.java:55)
>>>             at
>>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>>             at javax.servlet.http.HttpServlet.service 
>>> (HttpServlet.java:688)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>>
>>>             at
>>>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>>>     (WebApplicationHandler.java:830)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>>
>>>     :821)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>             at
>>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>>             at
>>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>             at org.apache.jasper.runtime.JspRuntimeLibrary.include
>>>     (JspRuntimeLibrary.java:966)
>>>             at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
>>>             at
>>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>>             at javax.servlet.http.HttpServlet.service 
>>> (HttpServlet.java:688)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>>
>>>             at
>>>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>>>     (WebApplicationHandler.java:830)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>>
>>>     :821)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>             at
>>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>>             at
>>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>             at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch 
>>>
>>>     (TradeServletAction.java:730)
>>>             at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:330) 
>>>
>>>             at
>>>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin
>>>     (TradeServletAction.java:373)
>>>             at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:127) 
>>>
>>>             at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java 
>>>
>>>     :78)
>>>             at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>>             at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>             at
>>>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java 
>>> :428)
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>>
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>>             at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
>>>     (WebApplicationHandler.java:471)
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>             at
>>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>>             at
>>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>             at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask(TradeScenarioServlet.java:202) 
>>>
>>>             at
>>>     org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet
>>>     (TradeScenarioServlet.java:75)
>>>             at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>>             at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>             at org.mortbay.jetty.servlet.ServletHolder.handle
>>>     (ServletHolder.java:428)
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>>
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>>
>>>     :830)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>>             at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
>>>     (WebApplicationHandler.java:471)
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>             at
>>>     org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java
>>>     :568)
>>>             at 
>>> org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>>
>>>             at org.mortbay.http.HttpContext.handle 
>>> (HttpContext.java:1482)
>>>             at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>>>             at
>>>     org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>>>             at org.mortbay.http.HttpConnection.handleNext
>>>     (HttpConnection.java:982)
>>>             at
>>>     org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>>>             at
>>>     
>>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>>
>>>             at org.mortbay.util.ThreadedServer.handle
>>>     (ThreadedServer.java:357)
>>>             at
>>>     org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>>>     10:47:44,015 WARN  [/daytrader] /daytrader/scenario:
>>>     java.lang.NullPointerException
>>>             at jsp.marketSummary_jsp._jspService 
>>> (marketSummary_jsp.java:58)
>>>             at
>>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>>             at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>             at org.mortbay.jetty.servlet.ServletHolder.handle
>>>     (ServletHolder.java:428)
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>>
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>>
>>>     :830)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>>             at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
>>>     (WebApplicationHandler.java:471)
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>             at
>>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>>             at
>>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>             at
>>>     
>>> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) 
>>>
>>>             at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
>>>             at
>>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>>             at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>             at
>>>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java 
>>> :428)
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>>
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>>             at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
>>>     (WebApplicationHandler.java:471)
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>             at
>>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>>             at
>>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>             at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730) 
>>>
>>>             at
>>>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome
>>>     (TradeServletAction.java:330)
>>>             at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:373) 
>>>
>>>             at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask
>>>     (TradeAppServlet.java:127)
>>>             at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java:78) 
>>>
>>>             at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>>             at javax.servlet.http.HttpServlet.service 
>>> (HttpServlet.java:688)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>>
>>>             at
>>>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>>>     (WebApplicationHandler.java:830)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>>
>>>     :821)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>             at
>>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>>             at
>>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>             at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask 
>>>
>>>     (TradeScenarioServlet.java:202)
>>>             at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet(TradeScenarioServlet.java:75) 
>>>
>>>             at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>>             at 
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>>             at org.apache.geronimo.jetty.JettyServletHolder.handle
>>>     (JettyServletHolder.java:97)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>>             at
>>>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java 
>>> :170)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>>
>>>             at
>>>     
>>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>>
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>>>             at org.mortbay.http.HttpContext.handle 
>>> (HttpContext.java:1530)
>>>             at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>>
>>>             at 
>>> org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>>>             at org.mortbay.http.HttpServer.service (HttpServer.java:909)
>>>             at
>>>     org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>>>             at
>>>     org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
>>>             at org.mortbay.http.HttpConnection.handle
>>>     (HttpConnection.java:833)
>>>             at
>>>     
>>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>>
>>>             at
>>>     org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>>>             at org.mortbay.util.ThreadPool$PoolThread.run
>>>     (ThreadPool.java:534)
>>>
>>>      > Daytrader gets NullPointerException attempting to log in a user
>>>      > ---------------------------------------------------------------
>>>      >
>>>      >          Key: GERONIMO-1674
>>>      >          URL: http://issues.apache.org/jira/browse/GERONIMO-1674
>>>      >      Project: Geronimo
>>>      >         Type: Bug
>>>      >     Security: public(Regular issues)
>>>      >   Components: sample apps
>>>      >     Versions: 1.x
>>>      >  Environment: Windows XP
>>>      >     Reporter: Joe Bohn
>>>
>>>      >
>>>      > Daytrader gets the following NPE exception when attempting to 
>>> signon:
>>>      > 13:47:05,510 ERROR [Log] Error: TradeDirect:login -- error
>>>     logging in user
>>>      >         java.lang.NullPointerException
>>>      > java.lang.NullPointerException
>>>      >         at
>>>     
>>> org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43) 
>>>
>>>      >         at
>>>     
>>> org.apache.geronimo.samples.daytrader.MarketSummaryDataBean.<init>(MarketSummaryDataBean.java:54) 
>>>
>>>      >         at
>>>     
>>> org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:151) 
>>>
>>>      >         at
>>>     
>>> org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary(TradeAction.java:99) 
>>>
>>>      >         at
>>>     
>>> org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:56) 
>>>
>>>      >         at
>>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>>      >         at
>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>      >         at
>>>     
>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java 
>>>
>>>     :332)
>>>      >         at
>>>     
>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>>      >         at
>>>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>>      >         at javax.servlet.http.HttpServlet.service
>>>     (HttpServlet.java:688)
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>>      >         at
>>>     
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>      >         at
>>>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>>>     (WebApplicationHandler.java:821)
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>>      >         at
>>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java :283)
>>>      >         at
>>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>      >         at
>>>     
>>> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) 
>>>
>>>      >         at org.apache.jsp.tradehome_jsp._jspService
>>>     (org.apache.jsp.tradehome_jsp:282)
>>>      >         at
>>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>>      >         at
>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>      >         at org.apache.jasper.servlet.JspServletWrapper.service
>>>     (JspServletWrapper.java:332)
>>>      >         at
>>>     
>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>>      >         at
>>>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>>      >         at
>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>>      >         at org.apache.geronimo.jetty.JettyServletHolder.handle
>>>     (JettyServletHolder.java:99)
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>>      >         at
>>>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java 
>>> :170)
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java 
>>>
>>>     :471)
>>>      >         at
>>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>>      >         at
>>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>      >         at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch 
>>>
>>>     (TradeServletAction.java:730)
>>>      >         at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319) 
>>>
>>>      >         at
>>>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin
>>>     (TradeServletAction.java:357)
>>>      >         at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132) 
>>>
>>>      >         at
>>>     org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost
>>>     (TradeAppServlet.java:94)
>>>      >         at
>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>>>      >         at
>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>      >         at org.mortbay.jetty.servlet.ServletHolder.handle
>>>     (ServletHolder.java:428)
>>>      >         at
>>>     
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>>
>>>     :830)
>>>      >         at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>>
>>>     :821)
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>>>      >         at org.mortbay.http.HttpContext.handle
>>>     (HttpContext.java:1530)
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>>
>>>      >         at 
>>> org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>>>      >         at 
>>> org.mortbay.http.HttpServer.service(HttpServer.java:909)
>>>      >         at
>>>     org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>>>      >         at
>>>     org.mortbay.http.HttpConnection.handleNext(HttpConnection.java :982)
>>>      >         at
>>>     org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>>>      >         at
>>>     
>>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>>
>>>      >         at org.mortbay.util.ThreadedServer.handle
>>>     (ThreadedServer.java:357)
>>>      >         at
>>>     org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>>>      > 13:47:05,560 WARN  [/daytrader] /daytrader/app:
>>>      > java.lang.NullPointerException
>>>      >         at
>>>     
>>> org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:63) 
>>>
>>>      >         at
>>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>>      >         at javax.servlet.http.HttpServlet.service
>>>     (HttpServlet.java:688)
>>>      >         at
>>>     
>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) 
>>>
>>>      >         at
>>>     
>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>>      >         at
>>>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>>      >         at
>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>      >         at
>>>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java 
>>> :428)
>>>      >         at
>>>     
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>>      >         at
>>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>>      >         at org.mortbay.jetty.servlet.Dispatcher.include
>>>     (Dispatcher.java:163)
>>>      >         at
>>>     
>>> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) 
>>>
>>>      >         at
>>>     
>>> org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282) 
>>>
>>>      >         at
>>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>>      >         at
>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>      >         at
>>>     
>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java 
>>>
>>>     :332)
>>>      >         at
>>>     
>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>>      >         at
>>>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>>      >         at javax.servlet.http.HttpServlet.service
>>>     (HttpServlet.java:688)
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>>      >         at
>>>     
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>      >         at
>>>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>>>     (WebApplicationHandler.java:821)
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>>      >         at
>>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java :283)
>>>      >         at
>>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>>      >         at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730) 
>>>
>>>      >         at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319) 
>>>
>>>      >         at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357) 
>>>
>>>      >         at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132) 
>>>
>>>      >         at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94) 
>>>
>>>      >         at
>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>>>      >         at
>>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>>      >         at
>>>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java 
>>> :428)
>>>      >         at
>>>     
>>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>>
>>>
>>>      >         at
>>>     
>>> org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>>
>>>     :821)
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>>
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>>>      >         at org.mortbay.http.HttpContext.handle
>>>     (HttpContext.java:1530)
>>>      >         at
>>>     
>>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>>
>>>      >         at 
>>> org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>>>      >         at 
>>> org.mortbay.http.HttpServer.service(HttpServer.java:909)
>>>      >         at
>>>     org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>>>      >         at
>>>     org.mortbay.http.HttpConnection.handleNext(HttpConnection.java :982)
>>>      >         at
>>>     org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>>>      >         at
>>>     
>>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>>
>>>      >         at org.mortbay.util.ThreadedServer.handle
>>>     (ThreadedServer.java:357)
>>>      >         at
>>>     org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>>>
>>>     --
>>>     This message is automatically generated by JIRA.
>>>     -
>>>     If you think it was sent incorrectly contact one of the 
>>> administrators:
>>>        http://issues.apache.org/jira/secure/Administrators.jspa
>>>     -
>>>     For more information on JIRA, see:
>>>        http://www.atlassian.com/software/jira
>>>
>>>
>>
> 
> 
> 

Re: [jira] Commented: (GERONIMO-1674) Daytrader gets NullPointerException attempting to log in a user

Posted by "J. Stan Cox" <js...@gmail.com>.
Good thoughts Joe.   I think both need to be fixed.

1) The default values for users and quotes should be increased to a 
realistic value for performance work.  I agree with Chris that quotes 
should be default to 1000 and I think users should default to 500.

2) Setting these to a much lower value is great for debugging especially 
when there is a problem with populating the database.  So the code 
should be fixed to support the case when less then 200 quotes are 
populated.  I don't think it would be a complicated fix. I'll look at 
the code and get back.

Stan.

Joe Bohn wrote:
> Thanks for your response Chris.
>
> So are you saying that even the defaults for Daytrader are 
> insufficient?     What's confusing is that it always returns a "login 
> error" even though it appears that login succeeds and this is really 
> related to the initial display(s).  I get the same error if I select 
> "Trade & Portfolios" and then log in.
>
> I also noticed that even if I return the settings to the defaults of 
> 50 users and 100 max quotes I still get the error.   You are correct 
> that making the max quotes 1000 resolves the problem.
>
> So, I guess the next question is "what needs to change?".   It seems 
> that we should not ship the sample with default values that don't work 
> well with the application.  We also should not allow the user to set 
> values that can cause a failure.
>
> However, I'm not clear if the correct fix should be changing the 
> defaults (and validating settings to ensure they are not "too small") 
> or changing the display code to deal with the range of values that can 
> be set.  What is the recommendation of the Daytrader experts?
>
> Joe
>
> Christopher Blythe wrote:
>> Joe...
>>
>> I've worked on Trade for quite some time and am slowly starting to 
>> dig into DayTrader. Anyway, just wanted to respond to your question 
>> since I think I know what the problem is.
>>
>> In order for the MarketSummary to be display, at least 200 quotes 
>> need to be populated in the database. If you look at the queries the 
>> MarketSummary uses (either the EJBQL or SQL in TradeDirect.java) you 
>> will see something like this...
>>
>> <ejb-ql>SELECT OBJECT(q) FROM Quote q WHERE q.symbol LIKE 's:1__' 
>> ORDER BY q.change DESC</ejb-ql>
>>
>> This indicates that the MarketSummary needs quotes between 100 and 
>> 199. If we are only populating 10 quotes by default, this query will 
>> return 0 results and I imagine the MarketSummary will throw an 
>> exception (as indicated by the stack traces).
>>
>> To get you up and running, I would re-populate your database with at 
>> least 200 quotes. The default for Trade was actually 1000.
>>
>> I also suggest that the default be changed from 10 to something more 
>> realistic for performance testing ( i.e. 1000 or even higher).
>>
>> Hope this helps...
>>
>> Chris Blythe
>>
>> On 6/27/06, *Joe Bohn (JIRA)* <dev@geronimo.apache.org 
>> <ma...@geronimo.apache.org>> wrote:
>>
>>         [
>>     
>> http://issues.apache.org/jira/browse/GERONIMO-1674?page=comments#action_12418036 
>>
>>     ]
>>
>>     Joe Bohn commented on GERONIMO-1674:
>>     ------------------------------------
>>
>>     I still get this error.  I get it with tomcat as well as jetty.   I
>>     think I may very well be doing something wrong.  Here is my scenario
>>     after successfully deploying daytrader.
>>
>>     1)  select configuration->configure Daytrader runtime paramenters
>>     ...  and change the max users and max quotes to 10 each.   Note, I'm
>>     not really running daytrader for performance stats ... I was just
>>     using it to verify geronimo functions after making some substantial
>>     changes as a way to verify that I hadn't broken things too 
>> radically.
>>     2)  from confirguration select (Re)-populate Daytrader
>>     Database.  This appears to be successful.
>>     3)  Next, from under Configuration utilities I select "Test
>>     DayTrader Scenario" and I get this attached exception.   It does
>>     seem strange that if I do this a number of time eventually things
>>     seem to start working.
>>
>>     Here is another stack trace (unfortunately from jetty again but I do
>>     get it with tomcat as well) from a recent attempt on 1.1.
>>
>>     ########## Trade configuration update. Current config:
>>
>>                     RunTimeMode:            Direct
>>                     OrderProcessingMode:    Synchronous
>>                     AcessMode:              Standard
>>                     Workload Mix:           Standard
>>                     Web Interface:          JSP
>>                     CachingType:            No Caching
>>                     #Trade  Users:          10
>>                     #Trade Quotes:          10
>>                     Long Run Enabled:               true
>>
>>     10:47:43,984 ERROR [Log] Error: TradeDirect:login -- error logging
>>     in user
>>             java.lang.NullPointerException
>>     java.lang.NullPointerException
>>             at
>>     
>> org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43) 
>>
>>             at
>>     org.apache.geronimo.samples.daytrader.MarketSummaryDataBean
>>     .<init>(MarketSummaryDataBean.java:54)
>>             at
>>     
>> org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:152) 
>>
>>             at
>>     org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary
>>     (TradeAction.java:100)
>>             at 
>> jsp.marketSummary_jsp._jspService(marketSummary_jsp.java:55)
>>             at
>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>             at javax.servlet.http.HttpServlet.service 
>> (HttpServlet.java:688)
>>             at
>>     
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>             at
>>     
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>
>>             at
>>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>>     (WebApplicationHandler.java:830)
>>             at
>>     
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>
>>     :821)
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>>             at
>>     
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>             at
>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>             at
>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>             at org.apache.jasper.runtime.JspRuntimeLibrary.include
>>     (JspRuntimeLibrary.java:966)
>>             at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
>>             at
>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>             at javax.servlet.http.HttpServlet.service 
>> (HttpServlet.java:688)
>>             at
>>     
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>             at
>>     
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>
>>             at
>>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>>     (WebApplicationHandler.java:830)
>>             at
>>     
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>
>>     :821)
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>>             at
>>     
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>             at
>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>             at
>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>             at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch 
>>
>>     (TradeServletAction.java:730)
>>             at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:330) 
>>
>>             at
>>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin
>>     (TradeServletAction.java:373)
>>             at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:127) 
>>
>>             at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java 
>>
>>     :78)
>>             at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>             at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>             at
>>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java 
>> :428)
>>             at
>>     
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>>             at
>>     
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>>             at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
>>     (WebApplicationHandler.java:471)
>>             at
>>     
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>             at
>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>             at
>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>             at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask(TradeScenarioServlet.java:202) 
>>
>>             at
>>     org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet
>>     (TradeScenarioServlet.java:75)
>>             at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>             at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>             at org.mortbay.jetty.servlet.ServletHolder.handle
>>     (ServletHolder.java:428)
>>             at
>>     
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>
>>     :830)
>>             at
>>     
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>>             at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
>>     (WebApplicationHandler.java:471)
>>             at
>>     
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>             at
>>     org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java
>>     :568)
>>             at 
>> org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>
>>             at org.mortbay.http.HttpContext.handle 
>> (HttpContext.java:1482)
>>             at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>>             at
>>     org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>>             at org.mortbay.http.HttpConnection.handleNext
>>     (HttpConnection.java:982)
>>             at
>>     org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>>             at
>>     
>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>
>>             at org.mortbay.util.ThreadedServer.handle
>>     (ThreadedServer.java:357)
>>             at
>>     org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>>     10:47:44,015 WARN  [/daytrader] /daytrader/scenario:
>>     java.lang.NullPointerException
>>             at jsp.marketSummary_jsp._jspService 
>> (marketSummary_jsp.java:58)
>>             at
>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>             at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>             at org.mortbay.jetty.servlet.ServletHolder.handle
>>     (ServletHolder.java:428)
>>             at
>>     
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>
>>     :830)
>>             at
>>     
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>>             at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
>>     (WebApplicationHandler.java:471)
>>             at
>>     
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>             at
>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>             at
>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>             at
>>     
>> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) 
>>
>>             at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
>>             at
>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>             at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>             at
>>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java 
>> :428)
>>             at
>>     
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>>             at
>>     
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>>             at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
>>     (WebApplicationHandler.java:471)
>>             at
>>     
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>             at
>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>             at
>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>             at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730) 
>>
>>             at
>>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome
>>     (TradeServletAction.java:330)
>>             at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:373) 
>>
>>             at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask
>>     (TradeAppServlet.java:127)
>>             at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java:78) 
>>
>>             at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>             at javax.servlet.http.HttpServlet.service 
>> (HttpServlet.java:688)
>>             at
>>     
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>             at
>>     
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97) 
>>
>>             at
>>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>>     (WebApplicationHandler.java:830)
>>             at
>>     
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>
>>     :821)
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>>             at
>>     
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>             at
>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>             at
>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>             at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask 
>>
>>     (TradeScenarioServlet.java:202)
>>             at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet(TradeScenarioServlet.java:75) 
>>
>>             at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>>             at 
>> javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>             at
>>     
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>             at org.apache.geronimo.jetty.JettyServletHolder.handle
>>     (JettyServletHolder.java:97)
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>>             at
>>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java 
>> :170)
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>>
>>             at
>>     
>> org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58) 
>>
>>             at
>>     
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>>             at org.mortbay.http.HttpContext.handle 
>> (HttpContext.java:1530)
>>             at
>>     
>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>
>>             at 
>> org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>>             at org.mortbay.http.HttpServer.service (HttpServer.java:909)
>>             at
>>     org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>>             at
>>     org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
>>             at org.mortbay.http.HttpConnection.handle
>>     (HttpConnection.java:833)
>>             at
>>     
>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>
>>             at
>>     org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>>             at org.mortbay.util.ThreadPool$PoolThread.run
>>     (ThreadPool.java:534)
>>
>>      > Daytrader gets NullPointerException attempting to log in a user
>>      > ---------------------------------------------------------------
>>      >
>>      >          Key: GERONIMO-1674
>>      >          URL: http://issues.apache.org/jira/browse/GERONIMO-1674
>>      >      Project: Geronimo
>>      >         Type: Bug
>>      >     Security: public(Regular issues)
>>      >   Components: sample apps
>>      >     Versions: 1.x
>>      >  Environment: Windows XP
>>      >     Reporter: Joe Bohn
>>
>>      >
>>      > Daytrader gets the following NPE exception when attempting to 
>> signon:
>>      > 13:47:05,510 ERROR [Log] Error: TradeDirect:login -- error
>>     logging in user
>>      >         java.lang.NullPointerException
>>      > java.lang.NullPointerException
>>      >         at
>>     
>> org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43) 
>>
>>      >         at
>>     
>> org.apache.geronimo.samples.daytrader.MarketSummaryDataBean.<init>(MarketSummaryDataBean.java:54) 
>>
>>      >         at
>>     
>> org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:151) 
>>
>>      >         at
>>     
>> org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary(TradeAction.java:99) 
>>
>>      >         at
>>     
>> org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:56) 
>>
>>      >         at
>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>      >         at
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>      >         at
>>     
>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java 
>>
>>     :332)
>>      >         at
>>     
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>      >         at
>>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>      >         at javax.servlet.http.HttpServlet.service
>>     (HttpServlet.java:688)
>>      >         at
>>     
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>      >         at
>>     
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>      >         at
>>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>>     (WebApplicationHandler.java:821)
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>>      >         at
>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java :283)
>>      >         at
>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>      >         at
>>     
>> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) 
>>
>>      >         at org.apache.jsp.tradehome_jsp._jspService
>>     (org.apache.jsp.tradehome_jsp:282)
>>      >         at
>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>      >         at
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>      >         at org.apache.jasper.servlet.JspServletWrapper.service
>>     (JspServletWrapper.java:332)
>>      >         at
>>     
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>      >         at
>>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>      >         at
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>      >         at
>>     
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>      >         at org.apache.geronimo.jetty.JettyServletHolder.handle
>>     (JettyServletHolder.java:99)
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>>      >         at
>>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java 
>> :170)
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java 
>>
>>     :471)
>>      >         at
>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>      >         at
>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>      >         at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch 
>>
>>     (TradeServletAction.java:730)
>>      >         at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319) 
>>
>>      >         at
>>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin
>>     (TradeServletAction.java:357)
>>      >         at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132) 
>>
>>      >         at
>>     org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost
>>     (TradeAppServlet.java:94)
>>      >         at
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>>      >         at
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>      >         at org.mortbay.jetty.servlet.ServletHolder.handle
>>     (ServletHolder.java:428)
>>      >         at
>>     
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>
>>     :830)
>>      >         at
>>     
>> org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>
>>     :821)
>>      >         at
>>     
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>>      >         at org.mortbay.http.HttpContext.handle
>>     (HttpContext.java:1530)
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>
>>      >         at 
>> org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>>      >         at 
>> org.mortbay.http.HttpServer.service(HttpServer.java:909)
>>      >         at
>>     org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>>      >         at
>>     org.mortbay.http.HttpConnection.handleNext(HttpConnection.java :982)
>>      >         at
>>     org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>>      >         at
>>     
>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>
>>      >         at org.mortbay.util.ThreadedServer.handle
>>     (ThreadedServer.java:357)
>>      >         at
>>     org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>>      > 13:47:05,560 WARN  [/daytrader] /daytrader/app:
>>      > java.lang.NullPointerException
>>      >         at
>>     
>> org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:63) 
>>
>>      >         at
>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>      >         at javax.servlet.http.HttpServlet.service
>>     (HttpServlet.java:688)
>>      >         at
>>     
>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) 
>>
>>      >         at
>>     
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>      >         at
>>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>      >         at
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>      >         at
>>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java 
>> :428)
>>      >         at
>>     
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>>      >         at
>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>>      >         at org.mortbay.jetty.servlet.Dispatcher.include
>>     (Dispatcher.java:163)
>>      >         at
>>     
>> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) 
>>
>>      >         at
>>     
>> org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282) 
>>
>>      >         at
>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>>      >         at
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>      >         at
>>     
>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java 
>>
>>     :332)
>>      >         at
>>     
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>      >         at
>>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>      >         at javax.servlet.http.HttpServlet.service
>>     (HttpServlet.java:688)
>>      >         at
>>     
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>>      >         at
>>     
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>      >         at
>>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>>     (WebApplicationHandler.java:821)
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>>      >         at
>>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java :283)
>>      >         at
>>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>>      >         at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730) 
>>
>>      >         at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319) 
>>
>>      >         at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357) 
>>
>>      >         at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132) 
>>
>>      >         at
>>     
>> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94) 
>>
>>      >         at
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>>      >         at
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>>      >         at
>>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java 
>> :428)
>>      >         at
>>     
>> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) 
>>
>>
>>      >         at
>>     
>> org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java 
>>
>>     :821)
>>      >         at
>>     
>> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) 
>>
>>      >         at
>>     
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>>      >         at org.mortbay.http.HttpContext.handle
>>     (HttpContext.java:1530)
>>      >         at
>>     
>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) 
>>
>>      >         at 
>> org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>>      >         at 
>> org.mortbay.http.HttpServer.service(HttpServer.java:909)
>>      >         at
>>     org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>>      >         at
>>     org.mortbay.http.HttpConnection.handleNext(HttpConnection.java :982)
>>      >         at
>>     org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>>      >         at
>>     
>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) 
>>
>>      >         at org.mortbay.util.ThreadedServer.handle
>>     (ThreadedServer.java:357)
>>      >         at
>>     org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>>
>>     --
>>     This message is automatically generated by JIRA.
>>     -
>>     If you think it was sent incorrectly contact one of the 
>> administrators:
>>        http://issues.apache.org/jira/secure/Administrators.jspa
>>     -
>>     For more information on JIRA, see:
>>        http://www.atlassian.com/software/jira
>>
>>
>

Re: [jira] Commented: (GERONIMO-1674) Daytrader gets NullPointerException attempting to log in a user

Posted by Joe Bohn <jo...@earthlink.net>.
Thanks for your response Chris.

So are you saying that even the defaults for Daytrader are insufficient? 
     What's confusing is that it always returns a "login error" even 
though it appears that login succeeds and this is really related to the 
initial display(s).  I get the same error if I select "Trade & 
Portfolios" and then log in.

I also noticed that even if I return the settings to the defaults of 50 
users and 100 max quotes I still get the error.   You are correct that 
making the max quotes 1000 resolves the problem.

So, I guess the next question is "what needs to change?".   It seems 
that we should not ship the sample with default values that don't work 
well with the application.  We also should not allow the user to set 
values that can cause a failure.

However, I'm not clear if the correct fix should be changing the 
defaults (and validating settings to ensure they are not "too small") or 
changing the display code to deal with the range of values that can be 
set.  What is the recommendation of the Daytrader experts?

Joe

Christopher Blythe wrote:
> Joe...
> 
> I've worked on Trade for quite some time and am slowly starting to dig 
> into DayTrader. Anyway, just wanted to respond to your question since I 
> think I know what the problem is.
> 
> In order for the MarketSummary to be display, at least 200 quotes need 
> to be populated in the database. If you look at the queries the 
> MarketSummary uses (either the EJBQL or SQL in TradeDirect.java) you 
> will see something like this...
> 
> <ejb-ql>SELECT OBJECT(q) FROM Quote q WHERE q.symbol LIKE 's:1__' ORDER 
> BY q.change DESC</ejb-ql>
> 
> This indicates that the MarketSummary needs quotes between 100 and 199. 
> If we are only populating 10 quotes by default, this query will return 0 
> results and I imagine the MarketSummary will throw an exception (as 
> indicated by the stack traces).
> 
> To get you up and running, I would re-populate your database with at 
> least 200 quotes. The default for Trade was actually 1000.
> 
> I also suggest that the default be changed from 10 to something more 
> realistic for performance testing ( i.e. 1000 or even higher).
> 
> Hope this helps...
> 
> Chris Blythe
> 
> On 6/27/06, *Joe Bohn (JIRA)* <dev@geronimo.apache.org 
> <ma...@geronimo.apache.org>> wrote:
> 
>         [
>     http://issues.apache.org/jira/browse/GERONIMO-1674?page=comments#action_12418036
>     ]
> 
>     Joe Bohn commented on GERONIMO-1674:
>     ------------------------------------
> 
>     I still get this error.  I get it with tomcat as well as jetty.   I
>     think I may very well be doing something wrong.  Here is my scenario
>     after successfully deploying daytrader.
> 
>     1)  select configuration->configure Daytrader runtime paramenters
>     ...  and change the max users and max quotes to 10 each.   Note, I'm
>     not really running daytrader for performance stats ... I was just
>     using it to verify geronimo functions after making some substantial
>     changes as a way to verify that I hadn't broken things too radically.
>     2)  from confirguration select (Re)-populate Daytrader
>     Database.  This appears to be successful.
>     3)  Next, from under Configuration utilities I select "Test
>     DayTrader Scenario" and I get this attached exception.   It does
>     seem strange that if I do this a number of time eventually things
>     seem to start working.
> 
>     Here is another stack trace (unfortunately from jetty again but I do
>     get it with tomcat as well) from a recent attempt on 1.1.
> 
>     ########## Trade configuration update. Current config:
> 
>                     RunTimeMode:            Direct
>                     OrderProcessingMode:    Synchronous
>                     AcessMode:              Standard
>                     Workload Mix:           Standard
>                     Web Interface:          JSP
>                     CachingType:            No Caching
>                     #Trade  Users:          10
>                     #Trade Quotes:          10
>                     Long Run Enabled:               true
> 
>     10:47:43,984 ERROR [Log] Error: TradeDirect:login -- error logging
>     in user
>             java.lang.NullPointerException
>     java.lang.NullPointerException
>             at
>     org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43)
>             at
>     org.apache.geronimo.samples.daytrader.MarketSummaryDataBean
>     .<init>(MarketSummaryDataBean.java:54)
>             at
>     org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:152)
>             at
>     org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary
>     (TradeAction.java:100)
>             at jsp.marketSummary_jsp._jspService(marketSummary_jsp.java:55)
>             at
>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>             at javax.servlet.http.HttpServlet.service (HttpServlet.java:688)
>             at
>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>             at
>     org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>     (WebApplicationHandler.java:830)
>             at
>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
>     :821)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>             at
>     org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
>             at
>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>             at
>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>             at org.apache.jasper.runtime.JspRuntimeLibrary.include
>     (JspRuntimeLibrary.java:966)
>             at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
>             at
>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>             at javax.servlet.http.HttpServlet.service (HttpServlet.java:688)
>             at
>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>             at
>     org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>     (WebApplicationHandler.java:830)
>             at
>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
>     :821)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>             at
>     org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
>             at
>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>             at
>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>             at
>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch
>     (TradeServletAction.java:730)
>             at
>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:330)
>             at
>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin
>     (TradeServletAction.java:373)
>             at
>     org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:127)
>             at
>     org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java
>     :78)
>             at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>             at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>             at
>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java :428)
>             at
>     org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>             at
>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>             at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
>     (WebApplicationHandler.java:471)
>             at
>     org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
>             at
>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>             at
>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>             at
>     org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask(TradeScenarioServlet.java:202)
>             at
>     org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet
>     (TradeScenarioServlet.java:75)
>             at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>             at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>             at org.mortbay.jetty.servlet.ServletHolder.handle
>     (ServletHolder.java:428)
>             at
>     org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
>     :830)
>             at
>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>             at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
>     (WebApplicationHandler.java:471)
>             at
>     org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
>             at
>     org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java
>     :568)
>             at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>             at
>     org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
>             at org.mortbay.http.HttpContext.handle (HttpContext.java:1482)
>             at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>             at
>     org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>             at org.mortbay.http.HttpConnection.handleNext
>     (HttpConnection.java:982)
>             at
>     org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>             at
>     org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>             at org.mortbay.util.ThreadedServer.handle
>     (ThreadedServer.java:357)
>             at
>     org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>     10:47:44,015 WARN  [/daytrader] /daytrader/scenario:
>     java.lang.NullPointerException
>             at jsp.marketSummary_jsp._jspService (marketSummary_jsp.java:58)
>             at
>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>             at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>             at org.mortbay.jetty.servlet.ServletHolder.handle
>     (ServletHolder.java:428)
>             at
>     org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
>     :830)
>             at
>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>             at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
>     (WebApplicationHandler.java:471)
>             at
>     org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
>             at
>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>             at
>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>             at
>     org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
>             at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
>             at
>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>             at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>             at
>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java :428)
>             at
>     org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>             at
>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>             at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
>     (WebApplicationHandler.java:471)
>             at
>     org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
>             at
>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>             at
>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>             at
>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
>             at
>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome
>     (TradeServletAction.java:330)
>             at
>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:373)
>             at
>     org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask
>     (TradeAppServlet.java:127)
>             at
>     org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java:78)
>             at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>             at javax.servlet.http.HttpServlet.service (HttpServlet.java:688)
>             at
>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>             at
>     org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>     (WebApplicationHandler.java:830)
>             at
>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
>     :821)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>             at
>     org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
>             at
>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>             at
>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>             at
>     org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask
>     (TradeScenarioServlet.java:202)
>             at
>     org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet(TradeScenarioServlet.java:75)
>             at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>             at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>             at
>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>             at org.apache.geronimo.jetty.JettyServletHolder.handle
>     (JettyServletHolder.java:97)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>             at
>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java :170)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>             at
>     org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
> 
>             at
>     org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
>             at
>     org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>             at org.mortbay.http.HttpContext.handle (HttpContext.java:1530)
>             at
>     org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
>             at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>             at org.mortbay.http.HttpServer.service (HttpServer.java:909)
>             at
>     org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>             at
>     org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
>             at org.mortbay.http.HttpConnection.handle
>     (HttpConnection.java:833)
>             at
>     org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>             at
>     org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>             at org.mortbay.util.ThreadPool$PoolThread.run
>     (ThreadPool.java:534)
> 
>      > Daytrader gets NullPointerException attempting to log in a user
>      > ---------------------------------------------------------------
>      >
>      >          Key: GERONIMO-1674
>      >          URL: http://issues.apache.org/jira/browse/GERONIMO-1674
>      >      Project: Geronimo
>      >         Type: Bug
>      >     Security: public(Regular issues)
>      >   Components: sample apps
>      >     Versions: 1.x
>      >  Environment: Windows XP
>      >     Reporter: Joe Bohn
> 
>      >
>      > Daytrader gets the following NPE exception when attempting to signon:
>      > 13:47:05,510 ERROR [Log] Error: TradeDirect:login -- error
>     logging in user
>      >         java.lang.NullPointerException
>      > java.lang.NullPointerException
>      >         at
>     org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43)
>      >         at
>     org.apache.geronimo.samples.daytrader.MarketSummaryDataBean.<init>(MarketSummaryDataBean.java:54)
>      >         at
>     org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:151)
>      >         at
>     org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary(TradeAction.java:99)
>      >         at
>     org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:56)
>      >         at
>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at
>     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java
>     :332)
>      >         at
>     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>      >         at
>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>      >         at javax.servlet.http.HttpServlet.service
>     (HttpServlet.java:688)
>      >         at
>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>      >         at
>     org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>      >         at
>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>     (WebApplicationHandler.java:821)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>      >         at
>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java :283)
>      >         at
>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>      >         at
>     org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
>      >         at org.apache.jsp.tradehome_jsp._jspService
>     (org.apache.jsp.tradehome_jsp:282)
>      >         at
>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at org.apache.jasper.servlet.JspServletWrapper.service
>     (JspServletWrapper.java:332)
>      >         at
>     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>      >         at
>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at
>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>      >         at org.apache.geronimo.jetty.JettyServletHolder.handle
>     (JettyServletHolder.java:99)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>      >         at
>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java :170)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java
>     :471)
>      >         at
>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>      >         at
>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>      >         at
>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch
>     (TradeServletAction.java:730)
>      >         at
>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319)
>      >         at
>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin
>     (TradeServletAction.java:357)
>      >         at
>     org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132)
>      >         at
>     org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost
>     (TradeAppServlet.java:94)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at org.mortbay.jetty.servlet.ServletHolder.handle
>     (ServletHolder.java:428)
>      >         at
>     org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
>     :830)
>      >         at
>     org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
>     :821)
>      >         at
>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>      >         at
>     org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>      >         at org.mortbay.http.HttpContext.handle
>     (HttpContext.java:1530)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
>      >         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>      >         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>      >         at
>     org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>      >         at
>     org.mortbay.http.HttpConnection.handleNext(HttpConnection.java :982)
>      >         at
>     org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>      >         at
>     org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>      >         at org.mortbay.util.ThreadedServer.handle
>     (ThreadedServer.java:357)
>      >         at
>     org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>      > 13:47:05,560 WARN  [/daytrader] /daytrader/app:
>      > java.lang.NullPointerException
>      >         at
>     org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:63)
>      >         at
>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>      >         at javax.servlet.http.HttpServlet.service
>     (HttpServlet.java:688)
>      >         at
>     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>      >         at
>     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>      >         at
>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at
>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java :428)
>      >         at
>     org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
> 
>      >         at
>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>      >         at
>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>      >         at org.mortbay.jetty.servlet.Dispatcher.include
>     (Dispatcher.java:163)
>      >         at
>     org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
>      >         at
>     org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282)
>      >         at
>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at
>     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java
>     :332)
>      >         at
>     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>      >         at
>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>      >         at javax.servlet.http.HttpServlet.service
>     (HttpServlet.java:688)
>      >         at
>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>      >         at
>     org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>      >         at
>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter
>     (WebApplicationHandler.java:821)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>      >         at
>     org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java :283)
>      >         at
>     org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>      >         at
>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
>      >         at
>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319)
>      >         at
>     org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357)
>      >         at
>     org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132)
>      >         at
>     org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>      >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>      >         at
>     org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java :428)
>      >         at
>     org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
> 
>      >         at
>     org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java
>     :821)
>      >         at
>     org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>      >         at
>     org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>      >         at org.mortbay.http.HttpContext.handle
>     (HttpContext.java:1530)
>      >         at
>     org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
>      >         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>      >         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>      >         at
>     org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>      >         at
>     org.mortbay.http.HttpConnection.handleNext(HttpConnection.java :982)
>      >         at
>     org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>      >         at
>     org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>      >         at org.mortbay.util.ThreadedServer.handle
>     (ThreadedServer.java:357)
>      >         at
>     org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> 
>     --
>     This message is automatically generated by JIRA.
>     -
>     If you think it was sent incorrectly contact one of the administrators:
>        http://issues.apache.org/jira/secure/Administrators.jspa
>     -
>     For more information on JIRA, see:
>        http://www.atlassian.com/software/jira
> 
> 

-- 
Joe Bohn
joe.bohn at earthlink.net

"He is no fool who gives what he cannot keep, to gain what he cannot 
lose."   -- Jim Elliot

Re: [jira] Commented: (GERONIMO-1674) Daytrader gets NullPointerException attempting to log in a user

Posted by Christopher Blythe <cj...@gmail.com>.
Joe...

I've worked on Trade for quite some time and am slowly starting to dig into
DayTrader. Anyway, just wanted to respond to your question since I think I
know what the problem is.

In order for the MarketSummary to be display, at least 200 quotes need to be
populated in the database. If you look at the queries the MarketSummary uses
(either the EJBQL or SQL in TradeDirect.java) you will see something like
this...

<ejb-ql>SELECT OBJECT(q) FROM Quote q WHERE q.symbol LIKE 's:1__' ORDER BY
q.change DESC</ejb-ql>

This indicates that the MarketSummary needs quotes between 100 and 199. If
we are only populating 10 quotes by default, this query will return 0
results and I imagine the MarketSummary will throw an exception (as
indicated by the stack traces).

To get you up and running, I would re-populate your database with at least
200 quotes. The default for Trade was actually 1000.

I also suggest that the default be changed from 10 to something more
realistic for performance testing (i.e. 1000 or even higher).

Hope this helps...

Chris Blythe

On 6/27/06, Joe Bohn (JIRA) <de...@geronimo.apache.org> wrote:
>
>     [
> http://issues.apache.org/jira/browse/GERONIMO-1674?page=comments#action_12418036]
>
> Joe Bohn commented on GERONIMO-1674:
> ------------------------------------
>
> I still get this error.  I get it with tomcat as well as jetty.   I think
> I may very well be doing something wrong.  Here is my scenario after
> successfully deploying daytrader.
>
> 1)  select configuration->configure Daytrader runtime paramenters ...  and
> change the max users and max quotes to 10 each.   Note, I'm not really
> running daytrader for performance stats ... I was just using it to verify
> geronimo functions after making some substantial changes as a way to verify
> that I hadn't broken things too radically.
> 2)  from confirguration select (Re)-populate Daytrader Database.  This
> appears to be successful.
> 3)  Next, from under Configuration utilities I select "Test DayTrader
> Scenario" and I get this attached exception.   It does seem strange that if
> I do this a number of time eventually things seem to start working.
>
> Here is another stack trace (unfortunately from jetty again but I do get
> it with tomcat as well) from a recent attempt on 1.1.
>
> ########## Trade configuration update. Current config:
>
>                 RunTimeMode:            Direct
>                 OrderProcessingMode:    Synchronous
>                 AcessMode:              Standard
>                 Workload Mix:           Standard
>                 Web Interface:          JSP
>                 CachingType:            No Caching
>                 #Trade  Users:          10
>                 #Trade Quotes:          10
>                 Long Run Enabled:               true
>
> 10:47:43,984 ERROR [Log] Error: TradeDirect:login -- error logging in user
>         java.lang.NullPointerException
> java.lang.NullPointerException
>         at
> org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent
> (FinancialUtils.java:43)
>         at org.apache.geronimo.samples.daytrader.MarketSummaryDataBean
> .<init>(MarketSummaryDataBean.java:54)
>         at
> org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(
> TradeDirect.java:152)
>         at
> org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary(
> TradeAction.java:100)
>         at jsp.marketSummary_jsp._jspService(marketSummary_jsp.java:55)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java
> :97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(
> JettyServletHolder.java:97)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(
> JSR154Filter.java:170)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:471)
>         at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(
> JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java
> :283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java
> :163)
>         at org.apache.jasper.runtime.JspRuntimeLibrary.include(
> JspRuntimeLibrary.java:966)
>         at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java
> :97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(
> JettyServletHolder.java:97)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(
> JSR154Filter.java:170)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:471)
>         at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(
> JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java
> :283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java
> :163)
>         at
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch
> (TradeServletAction.java:730)
>         at
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(
> TradeServletAction.java:330)
>         at
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(
> TradeServletAction.java:373)
>         at
> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(
> TradeAppServlet.java:127)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet
> (TradeAppServlet.java:78)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(
> JettyServletHolder.java:97)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(
> JSR154Filter.java:170)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:471)
>         at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(
> JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java
> :283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java
> :163)
>         at
> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask
> (TradeScenarioServlet.java:202)
>         at
> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet(
> TradeScenarioServlet.java:75)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(
> JettyServletHolder.java:97)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(
> JSR154Filter.java:170)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:471)
>         at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(
> JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(
> ServletHandler.java:568)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>         at org.mortbay.jetty.servlet.WebApplicationContext.handle(
> WebApplicationContext.java:633)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java
> :816)
>         at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java
> :982)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>         at org.mortbay.http.SocketListener.handleConnection(
> SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> 10:47:44,015 WARN  [/daytrader] /daytrader/scenario:
> java.lang.NullPointerException
>         at jsp.marketSummary_jsp._jspService(marketSummary_jsp.java:58)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java
> :97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(
> JettyServletHolder.java:97)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(
> JSR154Filter.java:170)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:471)
>         at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(
> JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java
> :283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java
> :163)
>         at org.apache.jasper.runtime.JspRuntimeLibrary.include(
> JspRuntimeLibrary.java:966)
>         at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java
> :97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(
> JettyServletHolder.java:97)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(
> JSR154Filter.java:170)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:471)
>         at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(
> JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java
> :283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java
> :163)
>         at
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch
> (TradeServletAction.java:730)
>         at
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(
> TradeServletAction.java:330)
>         at
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(
> TradeServletAction.java:373)
>         at
> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(
> TradeAppServlet.java:127)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet
> (TradeAppServlet.java:78)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(
> JettyServletHolder.java:97)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(
> JSR154Filter.java:170)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:471)
>         at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(
> JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java
> :283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java
> :163)
>         at
> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask
> (TradeScenarioServlet.java:202)
>         at
> org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet(
> TradeScenarioServlet.java:75)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(
> JettyServletHolder.java:97)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(
> JSR154Filter.java:170)
>         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:471)
>         at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(
> JettyWebApplicationHandler.java:58)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(
> ServletHandler.java:568)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>         at org.mortbay.jetty.servlet.WebApplicationContext.handle(
> WebApplicationContext.java:633)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java
> :816)
>         at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java
> :982)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>         at org.mortbay.http.SocketListener.handleConnection(
> SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>
> > Daytrader gets NullPointerException attempting to log in a user
> > ---------------------------------------------------------------
> >
> >          Key: GERONIMO-1674
> >          URL: http://issues.apache.org/jira/browse/GERONIMO-1674
> >      Project: Geronimo
> >         Type: Bug
> >     Security: public(Regular issues)
> >   Components: sample apps
> >     Versions: 1.x
> >  Environment: Windows XP
> >     Reporter: Joe Bohn
>
> >
> > Daytrader gets the following NPE exception when attempting to signon:
> > 13:47:05,510 ERROR [Log] Error: TradeDirect:login -- error logging in
> user
> >         java.lang.NullPointerException
> > java.lang.NullPointerException
> >         at
> org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent
> (FinancialUtils.java:43)
> >         at org.apache.geronimo.samples.daytrader.MarketSummaryDataBean
> .<init>(MarketSummaryDataBean.java:54)
> >         at
> org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(
> TradeDirect.java:151)
> >         at
> org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary(
> TradeAction.java:99)
> >         at org.apache.jsp.marketSummary_jsp._jspService(
> org.apache.jsp.marketSummary_jsp:56)
> >         at org.apache.jasper.runtime.HttpJspBase.service(
> HttpJspBase.java:97)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >         at org.apache.jasper.servlet.JspServletWrapper.service(
> JspServletWrapper.java:332)
> >         at org.apache.jasper.servlet.JspServlet.serviceJspFile(
> JspServlet.java:314)
> >         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java
> :264)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >         at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
> >         at org.apache.geronimo.jetty.JettyServletHolder.handle(
> JettyServletHolder.java:99)
> >         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:830)
> >         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(
> JSR154Filter.java:170)
> >         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:471)
> >         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java
> :283)
> >         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java
> :163)
> >         at org.apache.jasper.runtime.JspRuntimeLibrary.include(
> JspRuntimeLibrary.java:966)
> >         at org.apache.jsp.tradehome_jsp._jspService(
> org.apache.jsp.tradehome_jsp:282)
> >         at org.apache.jasper.runtime.HttpJspBase.service(
> HttpJspBase.java:97)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >         at org.apache.jasper.servlet.JspServletWrapper.service(
> JspServletWrapper.java:332)
> >         at org.apache.jasper.servlet.JspServlet.serviceJspFile(
> JspServlet.java:314)
> >         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java
> :264)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >         at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
> >         at org.apache.geronimo.jetty.JettyServletHolder.handle(
> JettyServletHolder.java:99)
> >         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:830)
> >         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(
> JSR154Filter.java:170)
> >         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:471)
> >         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java
> :283)
> >         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java
> :163)
> >         at
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch
> (TradeServletAction.java:730)
> >         at
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(
> TradeServletAction.java:319)
> >         at
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(
> TradeServletAction.java:357)
> >         at
> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(
> TradeAppServlet.java:132)
> >         at
> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(
> TradeAppServlet.java:94)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >         at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
> >         at org.apache.geronimo.jetty.JettyServletHolder.handle(
> JettyServletHolder.java:99)
> >         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:830)
> >         at
> org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(
> OrdersAlertFilter.java:92)
> >         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
> >         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(
> JSR154Filter.java:170)
> >         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:471)
> >         at org.mortbay.jetty.servlet.ServletHandler.handle(
> ServletHandler.java:568)
> >         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
> >         at org.mortbay.jetty.servlet.WebApplicationContext.handle(
> WebApplicationContext.java:633)
> >         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
> >         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
> >         at org.mortbay.http.HttpConnection.service(HttpConnection.java
> :816)
> >         at org.mortbay.http.HttpConnection.handleNext(
> HttpConnection.java:982)
> >         at org.mortbay.http.HttpConnection.handle(HttpConnection.java
> :833)
> >         at org.mortbay.http.SocketListener.handleConnection(
> SocketListener.java:244)
> >         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java
> :357)
> >         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java
> :534)
> > 13:47:05,560 WARN  [/daytrader] /daytrader/app:
> > java.lang.NullPointerException
> >         at org.apache.jsp.marketSummary_jsp._jspService(
> org.apache.jsp.marketSummary_jsp:63)
> >         at org.apache.jasper.runtime.HttpJspBase.service(
> HttpJspBase.java:97)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >         at org.apache.jasper.servlet.JspServletWrapper.service(
> JspServletWrapper.java:332)
> >         at org.apache.jasper.servlet.JspServlet.serviceJspFile(
> JspServlet.java:314)
> >         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java
> :264)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >         at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
> >         at org.apache.geronimo.jetty.JettyServletHolder.handle(
> JettyServletHolder.java:99)
> >         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:830)
> >         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(
> JSR154Filter.java:170)
> >         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:471)
> >         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java
> :283)
> >         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java
> :163)
> >         at org.apache.jasper.runtime.JspRuntimeLibrary.include(
> JspRuntimeLibrary.java:966)
> >         at org.apache.jsp.tradehome_jsp._jspService(
> org.apache.jsp.tradehome_jsp:282)
> >         at org.apache.jasper.runtime.HttpJspBase.service(
> HttpJspBase.java:97)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >         at org.apache.jasper.servlet.JspServletWrapper.service(
> JspServletWrapper.java:332)
> >         at org.apache.jasper.servlet.JspServlet.serviceJspFile(
> JspServlet.java:314)
> >         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java
> :264)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >         at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
> >         at org.apache.geronimo.jetty.JettyServletHolder.handle(
> JettyServletHolder.java:99)
> >         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:830)
> >         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(
> JSR154Filter.java:170)
> >         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:471)
> >         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java
> :283)
> >         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java
> :163)
> >         at
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch
> (TradeServletAction.java:730)
> >         at
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(
> TradeServletAction.java:319)
> >         at
> org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(
> TradeServletAction.java:357)
> >         at
> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(
> TradeAppServlet.java:132)
> >         at
> org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(
> TradeAppServlet.java:94)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >         at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
> >         at org.apache.geronimo.jetty.JettyServletHolder.handle(
> JettyServletHolder.java:99)
> >         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:830)
> >         at
> org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(
> OrdersAlertFilter.java:92)
> >         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
> >         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(
> JSR154Filter.java:170)
> >         at
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(
> WebApplicationHandler.java:821)
> >         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:471)
> >         at org.mortbay.jetty.servlet.ServletHandler.handle(
> ServletHandler.java:568)
> >         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
> >         at org.mortbay.jetty.servlet.WebApplicationContext.handle(
> WebApplicationContext.java:633)
> >         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
> >         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
> >         at org.mortbay.http.HttpConnection.service(HttpConnection.java
> :816)
> >         at org.mortbay.http.HttpConnection.handleNext(
> HttpConnection.java:982)
> >         at org.mortbay.http.HttpConnection.handle(HttpConnection.java
> :833)
> >         at org.mortbay.http.SocketListener.handleConnection(
> SocketListener.java:244)
> >         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java
> :357)
> >         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java
> :534)
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
>    http://issues.apache.org/jira/secure/Administrators.jspa
> -
> For more information on JIRA, see:
>    http://www.atlassian.com/software/jira
>
>

[jira] Commented: (GERONIMO-1674) Daytrader gets NullPointerException attempting to log in a user

Posted by "Joe Bohn (JIRA)" <de...@geronimo.apache.org>.
    [ http://issues.apache.org/jira/browse/GERONIMO-1674?page=comments#action_12418036 ] 

Joe Bohn commented on GERONIMO-1674:
------------------------------------

I still get this error.  I get it with tomcat as well as jetty.   I think I may very well be doing something wrong.  Here is my scenario after successfully deploying daytrader.

1)  select configuration->configure Daytrader runtime paramenters ...  and change the max users and max quotes to 10 each.   Note, I'm not really running daytrader for performance stats ... I was just using it to verify geronimo functions after making some substantial changes as a way to verify that I hadn't broken things too radically.
2)  from confirguration select (Re)-populate Daytrader Database.  This appears to be successful.
3)  Next, from under Configuration utilities I select "Test DayTrader Scenario" and I get this attached exception.   It does seem strange that if I do this a number of time eventually things seem to start working.

Here is another stack trace (unfortunately from jetty again but I do get it with tomcat as well) from a recent attempt on 1.1.

########## Trade configuration update. Current config:

                RunTimeMode:            Direct
                OrderProcessingMode:    Synchronous
                AcessMode:              Standard
                Workload Mix:           Standard
                Web Interface:          JSP
                CachingType:            No Caching
                #Trade  Users:          10
                #Trade Quotes:          10
                Long Run Enabled:               true

10:47:43,984 ERROR [Log] Error: TradeDirect:login -- error logging in user
        java.lang.NullPointerException
java.lang.NullPointerException
        at org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43)
        at org.apache.geronimo.samples.daytrader.MarketSummaryDataBean.<init>(MarketSummaryDataBean.java:54)
        at org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:152)
        at org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary(TradeAction.java:100)
        at jsp.marketSummary_jsp._jspService(marketSummary_jsp.java:55)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
        at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
        at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
        at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
        at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
        at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
        at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
        at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
        at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
        at org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
        at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:330)
        at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:373)
        at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:127)
        at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java:78)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
        at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
        at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
        at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
        at org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask(TradeScenarioServlet.java:202)
        at org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet(TradeScenarioServlet.java:75)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
        at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
        at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
        at org.mortbay.http.HttpServer.service(HttpServer.java:909)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
        at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
10:47:44,015 WARN  [/daytrader] /daytrader/scenario:
java.lang.NullPointerException
        at jsp.marketSummary_jsp._jspService(marketSummary_jsp.java:58)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
        at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
        at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
        at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
        at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
        at jsp.tradehome_jsp._jspService(tradehome_jsp.java:151)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
        at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
        at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
        at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
        at org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
        at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:330)
        at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:373)
        at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:127)
        at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doGet(TradeAppServlet.java:78)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
        at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
        at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
        at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
        at org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.performTask(TradeScenarioServlet.java:202)
        at org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet.doGet(TradeScenarioServlet.java:75)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
        at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:97)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
        at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
        at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
        at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:58)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
        at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
        at org.mortbay.http.HttpServer.service(HttpServer.java:909)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
        at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

> Daytrader gets NullPointerException attempting to log in a user
> ---------------------------------------------------------------
>
>          Key: GERONIMO-1674
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1674
>      Project: Geronimo
>         Type: Bug
>     Security: public(Regular issues) 
>   Components: sample apps
>     Versions: 1.x
>  Environment: Windows XP
>     Reporter: Joe Bohn

>
> Daytrader gets the following NPE exception when attempting to signon:
> 13:47:05,510 ERROR [Log] Error: TradeDirect:login -- error logging in user
>         java.lang.NullPointerException
> java.lang.NullPointerException
>         at org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43)
>         at org.apache.geronimo.samples.daytrader.MarketSummaryDataBean.<init>(MarketSummaryDataBean.java:54)
>         at org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:151)
>         at org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary(TradeAction.java:99)
>         at org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:56)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
>         at org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>         at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>         at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>         at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> 13:47:05,560 WARN  [/daytrader] /daytrader/app:
> java.lang.NullPointerException
>         at org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:63)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
>         at org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>         at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>         at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>         at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (GERONIMO-1674) Daytrader gets NullPointerException attempting to log in a user

Posted by "Bryan Noll (JIRA)" <de...@geronimo.apache.org>.
    [ http://issues.apache.org/jira/browse/GERONIMO-1674?page=comments#action_12414459 ] 

Bryan Noll commented on GERONIMO-1674:
--------------------------------------

Can you please give some specifics on what exact action you are taking in the gui to get this to occur?  Are you running a scenario?  I ask because I've sucessfully run scenarios, which logs a user in.  I did it with a Tomcat assembly on a recent 1.1 SNAPSHOT, and I see by your stacktrace that you were doing it with Jetty.  If you can tell me exactly what you're doing, I'll try that in the Tomcat assembly to see if I have the same issue.

> Daytrader gets NullPointerException attempting to log in a user
> ---------------------------------------------------------------
>
>          Key: GERONIMO-1674
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1674
>      Project: Geronimo
>         Type: Bug
>     Security: public(Regular issues) 
>   Components: sample apps
>     Versions: 1.x
>  Environment: Windows XP
>     Reporter: Joe Bohn

>
> Daytrader gets the following NPE exception when attempting to signon:
> 13:47:05,510 ERROR [Log] Error: TradeDirect:login -- error logging in user
>         java.lang.NullPointerException
> java.lang.NullPointerException
>         at org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43)
>         at org.apache.geronimo.samples.daytrader.MarketSummaryDataBean.<init>(MarketSummaryDataBean.java:54)
>         at org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:151)
>         at org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary(TradeAction.java:99)
>         at org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:56)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
>         at org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>         at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>         at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>         at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> 13:47:05,560 WARN  [/daytrader] /daytrader/app:
> java.lang.NullPointerException
>         at org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:63)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
>         at org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>         at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>         at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>         at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (GERONIMO-1674) Daytrader gets NullPointerException attempting to log in a user

Posted by "Matt Hogstrom (JIRA)" <de...@geronimo.apache.org>.
    [ http://issues.apache.org/jira/browse/GERONIMO-1674?page=comments#action_12418287 ] 

Matt Hogstrom commented on GERONIMO-1674:
-----------------------------------------

Updated User default from 50 and quotes of 100 to users 200 and quotes 400.  

This circumvents the problem for the initial install.

Remaining the MarketSummary.jsp needs to be updated to not throw and NPE.

Sending        WEB-INF/web.xml
Transmitting file data .
Committed revision 417832.


> Daytrader gets NullPointerException attempting to log in a user
> ---------------------------------------------------------------
>
>          Key: GERONIMO-1674
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1674
>      Project: Geronimo
>         Type: Bug
>     Security: public(Regular issues) 
>   Components: sample apps
>     Versions: 1.x
>  Environment: Windows XP
>     Reporter: Joe Bohn

>
> Daytrader gets the following NPE exception when attempting to signon:
> 13:47:05,510 ERROR [Log] Error: TradeDirect:login -- error logging in user
>         java.lang.NullPointerException
> java.lang.NullPointerException
>         at org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43)
>         at org.apache.geronimo.samples.daytrader.MarketSummaryDataBean.<init>(MarketSummaryDataBean.java:54)
>         at org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:151)
>         at org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary(TradeAction.java:99)
>         at org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:56)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
>         at org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>         at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>         at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>         at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> 13:47:05,560 WARN  [/daytrader] /daytrader/app:
> java.lang.NullPointerException
>         at org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:63)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
>         at org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>         at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>         at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>         at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (GERONIMO-1674) Daytrader gets NullPointerException attempting to log in a user

Posted by "Kevan Miller (JIRA)" <de...@geronimo.apache.org>.
    [ http://issues.apache.org/jira/browse/GERONIMO-1674?page=comments#action_12414470 ] 

Kevan Miller commented on GERONIMO-1674:
----------------------------------------

I recall getting an NPE if I forgot to initialize Daytrader (create the DB, setup the users, # of issues, etc). I believe some of this behavior has changed. So, it's quite possible that the problem no longer exists. I don't know if Joe's problem is the same as the one I saw...

> Daytrader gets NullPointerException attempting to log in a user
> ---------------------------------------------------------------
>
>          Key: GERONIMO-1674
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1674
>      Project: Geronimo
>         Type: Bug
>     Security: public(Regular issues) 
>   Components: sample apps
>     Versions: 1.x
>  Environment: Windows XP
>     Reporter: Joe Bohn

>
> Daytrader gets the following NPE exception when attempting to signon:
> 13:47:05,510 ERROR [Log] Error: TradeDirect:login -- error logging in user
>         java.lang.NullPointerException
> java.lang.NullPointerException
>         at org.apache.geronimo.samples.daytrader.util.FinancialUtils.computeGainPercent(FinancialUtils.java:43)
>         at org.apache.geronimo.samples.daytrader.MarketSummaryDataBean.<init>(MarketSummaryDataBean.java:54)
>         at org.apache.geronimo.samples.daytrader.direct.TradeDirect.getMarketSummary(TradeDirect.java:151)
>         at org.apache.geronimo.samples.daytrader.TradeAction.getMarketSummary(TradeAction.java:99)
>         at org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:56)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
>         at org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>         at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>         at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>         at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> 13:47:05,560 WARN  [/daytrader] /daytrader/app:
> java.lang.NullPointerException
>         at org.apache.jsp.marketSummary_jsp._jspService(org.apache.jsp.marketSummary_jsp:63)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
>         at org.apache.jsp.tradehome_jsp._jspService(org.apache.jsp.tradehome_jsp:282)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:283)
>         at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:163)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.requestDispatch(TradeServletAction.java:730)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doHome(TradeServletAction.java:319)
>         at org.apache.geronimo.samples.daytrader.web.TradeServletAction.doLogin(TradeServletAction.java:357)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.performTask(TradeAppServlet.java:132)
>         at org.apache.geronimo.samples.daytrader.web.TradeAppServlet.doPost(TradeAppServlet.java:94)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
>         at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:99)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
>         at org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter.doFilter(OrdersAlertFilter.java:92)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
>         at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
>         at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>         at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
>         at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
>         at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira