[ https://issues.apache.org/jira/browse/OFBIZ-4599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jacques Le Roux closed OFBIZ-4599. ---------------------------------- Resolution: Fixed Fix Version/s: SVN trunk Release Branch 11.04 Assignee: Jacques Le Roux Thanks Mike, Indeed Michael, it was pretty obvious as soon as I looked at the code :) Mike your patch is in trunk r1296597 R11.04 r1296599 > Product NOTFOUND causes java.lang.NullPointerException, ugly screen, and > excessive logging > ------------------------------------------------------------------------------------------ > > Key: OFBIZ-4599 > URL: https://issues.apache.org/jira/browse/OFBIZ-4599 > Project: OFBiz > Issue Type: Bug > Components: specialpurpose/ecommerce > Affects Versions: Release Branch 11.04, SVN trunk > Environment: Any > Reporter: mz4wheeler > Assignee: Jacques Le Roux > Priority: Minor > Fix For: Release Branch 11.04, SVN trunk > > Attachments: OFBIZ-4599.patch > > > If you manually enter a URL (or via search engine) for a non-existing > product, the following (annoying) long java exception is logged. > 2011-11-30 20:56:35,431 (TP-Processor3) [ ModelScreen.java:401:ERROR] > Error rendering screen > [component://ecommerce/widget/CatalogScreens.xml#product]: > java.lang.NullPointerException: Cannot get property 'isVirtual' on null > object. Rolling back transaction. > 2011-11-30 20:56:35,436 (TP-Processor3) [ TransactionUtil.java:349:INFO ] > [TransactionUtil.rollback] transaction rolled back > 2011-11-30 20:56:35,437 (TP-Processor3) [ TransactionUtil.java:274:WARN ] > [TransactionUtil.commit] Not committing transaction, status is No Transaction > (6) > 2011-11-30 20:56:35,446 (TP-Processor3) [ ControlServlet.java:227:ERROR] > ---- exception report > ---------------------------------------------------------- > Error in request handler: > Exception: org.ofbiz.widget.screen.ScreenRenderException > Message: Error rendering screen > [component://ecommerce/widget/CatalogScreens.xml#product]: > java.lang.NullPointerException: Cannot get property 'isVirtual' on null > object (Cannot get property 'isVirtual' on null object) > ---- cause > --------------------------------------------------------------------- > Exception: java.lang.NullPointerException > Message: Cannot get property 'isVirtual' on null object > ---- stack trace > --------------------------------------------------------------- > java.lang.NullPointerException: Cannot get property 'isVirtual' on null object > org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:56) > org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:156) > org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:44) > org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:235) > Product.run(Product.groovy:48) > .... etc ... etc ... etc ... > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) > java.lang.Thread.run(Thread.java:662) > -------------------------------------------------------------------------------- > 2011-11-30 20:56:35,449 (TP-Processor3) [ ControlServlet.java:243:ERROR] > An error occurred, going to the errorPage: /error/error.jsp > 2011-11-30 20:56:35,450 (TP-Processor3) [ ControlServlet.java:250:ERROR] > Including errorPage: /error/error.jsp > 2011-11-30 20:56:37,437 (TP-Processor3) [ ControlServlet.java:324:INFO ] > [[[product] Request Done- total:6.14,since last([product] Request...):6.14]] > On top of this, the following (BIG RED) error screen is shown to the user: > :ERROR MESSAGE: > org.ofbiz.widget.screen.ScreenRenderException: Error rendering screen > [component://ecommerce/widget/CatalogScreens.xml#product]: > java.lang.NullPointerException: Cannot get property 'isVirtual' on null > object (Cannot get property 'isVirtual' on null object) > This is caused by Product.groovy performing a search for a product (which > fails) and then trying to reference "product.isVariant", which doesn't exist. > After the simple patch, the store now shows the default ecommerce screen, > with the following message in the main ecommerce area: > RESULT: "Product not found for Product ID 1001JAPANCROS!" > Much better. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira