[jira] [Created] (OFBIZ-4599) Product NOTFOUND causes java.lang.NullPointerException, ugly screen, and excessive logging

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (OFBIZ-4599) Product NOTFOUND causes java.lang.NullPointerException, ugly screen, and excessive logging

Nicolas Malin (Jira)
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
            Priority: Minor


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

       
Reply | Threaded
Open this post in threaded view
|

[jira] [Updated] (OFBIZ-4599) Product NOTFOUND causes java.lang.NullPointerException, ugly screen, and excessive logging

Nicolas Malin (Jira)

     [ https://issues.apache.org/jira/browse/OFBIZ-4599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

mz4wheeler updated OFBIZ-4599:
------------------------------

    Attachment: OFBIZ-4599.patch
   

> 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
>            Priority: Minor
>         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

       
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (OFBIZ-4599) Product NOTFOUND causes java.lang.NullPointerException, ugly screen, and excessive logging

Nicolas Malin (Jira)
In reply to this post by Nicolas Malin (Jira)

    [ https://issues.apache.org/jira/browse/OFBIZ-4599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13161425#comment-13161425 ]

Jacques Le Roux commented on OFBIZ-4599:
----------------------------------------

Hi Mike,

Your patch looks good. But before I apply I'd like to reproduce the error you stumbled upon. Could you give me an example url or steps for the search engine?
               

> 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
>            Priority: Minor
>         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

       
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (OFBIZ-4599) Product NOTFOUND causes java.lang.NullPointerException, ugly screen, and excessive logging

Nicolas Malin (Jira)
In reply to this post by Nicolas Malin (Jira)

    [ https://issues.apache.org/jira/browse/OFBIZ-4599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13161487#comment-13161487 ]

mz4wheeler commented on OFBIZ-4599:
-----------------------------------

It looks like trunk and 11.04 act differently when a non-existent product is accessed.  Trunk shows:

404. That's an error.

The requested URL /ecommerce/dropship1-dropShip1-px was not found on this server. That's all we know.

11.04 shows the red rectangle with the java error.  I seem to remember a recent Jira related to /error which may have not been pushed to 11.04.

Even so, Product.groovy should be fixed to handle the java.lang.NullPointerException exception.  Less logging will occur (saves disk IO).

               

> 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
>            Priority: Minor
>         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

       
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (OFBIZ-4599) Product NOTFOUND causes java.lang.NullPointerException, ugly screen, and excessive logging

Nicolas Malin (Jira)
In reply to this post by Nicolas Malin (Jira)

    [ https://issues.apache.org/jira/browse/OFBIZ-4599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13219465#comment-13219465 ]

Michael Brohl commented on OFBIZ-4599:
--------------------------------------

Hi Jacques,

I just wanted to provide a similar patch and found this existing one. It fixes an obviously possible npe so please apply the patch.

Thanks and regards,

Michael
               

> 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
>            Priority: Minor
>         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

       
Reply | Threaded
Open this post in threaded view
|

[jira] [Closed] (OFBIZ-4599) Product NOTFOUND causes java.lang.NullPointerException, ugly screen, and excessive logging

Nicolas Malin (Jira)
In reply to this post by Nicolas Malin (Jira)

     [ 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