[jira] [Commented] (BEANUTILS-421) NullPointerException in BeanUtilsBean.setProperty
[ https://issues.apache.org/jira/browse/BEANUTILS-421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13824937#comment-13824937 ] Thomas Neidhart commented on BEANUTILS-421: --- This looks like a regression in the JDK as the attached unit test succeeds with JDK 5 while failing for JDK 7. NullPointerException in BeanUtilsBean.setProperty - Key: BEANUTILS-421 URL: https://issues.apache.org/jira/browse/BEANUTILS-421 Project: Commons BeanUtils Issue Type: Bug Components: Bean / Property Utils Affects Versions: 1.8.3 Reporter: Maxim Kramarenko Assignee: Benedikt Ritter Priority: Blocker Fix For: 1.8.4 Attachments: src.zip I got the following exception on some servers: javax.servlet.ServletException: BeanUtils.populate at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:475) at org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:50) at org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:60) at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) Caused by: java.lang.NullPointerException at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:982) at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830) at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433) at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:473) -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (BEANUTILS-421) NullPointerException in BeanUtilsBean.setProperty
[ https://issues.apache.org/jira/browse/BEANUTILS-421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13667687#comment-13667687 ] Jochen Flaig commented on BEANUTILS-421: We also experienced a NullPointerException in BeanUtils.populate(). I not sure, whether our problem is related to this one, but I’d like to give you the information in case it might be useful. The problem occurred to us for the first time after upgrading our JRE from 1.7.0_09 to 1.7.0_11. In our application, we have a bean class that derives another bean class, and the latter provides an indexed property. If the first access to that indexed property (after starting the JVM) is made via the derived class, everything is fine (see test case DerivedFirstTest). But if we access that indexed property for the first time via the base class, it’s impossible to set the property in the derived class (see BaseFirstTest). It seems that a call to PropertyUtilsBean.getPropertyDescriptors() on the base class “ruins” the property descriptors for the derived class (see IntrospectionTest). May be the work-around for bug 28358 modifies the descriptors received form java.beans.BeanInfo in a way, that is not compatible with the caching of the property descriptors inside the JRE classes. Wouldn’t it be safer to work on a copy of the property descriptor when modifying it? NullPointerException in BeanUtilsBean.setProperty - Key: BEANUTILS-421 URL: https://issues.apache.org/jira/browse/BEANUTILS-421 Project: Commons BeanUtils Issue Type: Bug Components: Bean / Property Utils Affects Versions: 1.8.3 Reporter: Maxim Kramarenko Assignee: Benedikt Ritter Priority: Blocker Fix For: 1.8.4 Attachments: src.zip I got the following exception on some servers: javax.servlet.ServletException: BeanUtils.populate at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:475) at org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:50) at org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:60) at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) Caused by: java.lang.NullPointerException at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:982) at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830) at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433) at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:473) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (BEANUTILS-421) NullPointerException in BeanUtilsBean.setProperty
[ https://issues.apache.org/jira/browse/BEANUTILS-421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13591717#comment-13591717 ] Benedikt Ritter commented on BEANUTILS-421: --- Hi Maxim, your patch will cause failures in the test environment (see below). I still don't understand what exactly is causing the failures in your application. It would helpful to have some example code that reproduces the failure. TIA! Benedikt {code} --- Test set: org.apache.commons.beanutils.BeanUtilsTestCase --- Tests run: 55, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.402 sec FAILURE! testPopulateArrayElements(org.apache.commons.beanutils.BeanUtilsTestCase) Time elapsed: 0.04 sec ERROR! java.lang.NullPointerException at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:984) at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830) at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433) at org.apache.commons.beanutils.BeanUtilsTestCase.testPopulateArrayElements(BeanUtilsTestCase.java:633) --- Test set: org.apache.commons.beanutils.BeanUtils2TestCase --- Tests run: 55, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.44 sec FAILURE! testPopulateArrayElements(org.apache.commons.beanutils.BeanUtils2TestCase) Time elapsed: 0.002 sec ERROR! java.lang.NullPointerException at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:984) at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830) at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433) at org.apache.commons.beanutils.BeanUtilsTestCase.testPopulateArrayElements(BeanUtilsTestCase.java:633) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:95) at org.apache.maven.surefire.junit.JUnit3Provider.executeTestSet(JUnit3Provider.java:132) at org.apache.maven.surefire.junit.JUnit3Provider.invoke(JUnit3Provider.java:109) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208) at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:158) at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:95) {code} NullPointerException in BeanUtilsBean.setProperty - Key: BEANUTILS-421 URL: https://issues.apache.org/jira/browse/BEANUTILS-421 Project: Commons BeanUtils Issue Type: Bug Components: Bean / Property Utils Affects Versions: 1.8.3 Reporter: Maxim Kramarenko Assignee: Benedikt Ritter Priority: Blocker Fix For: 1.8.4 I got the following exception on some servers:
[jira] [Commented] (BEANUTILS-421) NullPointerException in BeanUtilsBean.setProperty
[ https://issues.apache.org/jira/browse/BEANUTILS-421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13583395#comment-13583395 ] Benedikt Ritter commented on BEANUTILS-421: --- Hi Maxim, can you provide a svn patch including a JUnit test and the fix against trunk? Regards, Benedikt NullPointerException in BeanUtilsBean.setProperty - Key: BEANUTILS-421 URL: https://issues.apache.org/jira/browse/BEANUTILS-421 Project: Commons BeanUtils Issue Type: Bug Affects Versions: 1.8.3 Reporter: Maxim Kramarenko Priority: Blocker I got the following exception on some servers: javax.servlet.ServletException: BeanUtils.populate at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:475) at org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:50) at org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:60) at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) Caused by: java.lang.NullPointerException at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:982) at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830) at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433) at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:473) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (BEANUTILS-421) NullPointerException in BeanUtilsBean.setProperty
[ https://issues.apache.org/jira/browse/BEANUTILS-421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13583467#comment-13583467 ] Maxim Kramarenko commented on BEANUTILS-421: No, I cannot - just fixed it locally and have no patch file or test case. NullPointerException in BeanUtilsBean.setProperty - Key: BEANUTILS-421 URL: https://issues.apache.org/jira/browse/BEANUTILS-421 Project: Commons BeanUtils Issue Type: Bug Components: Bean / Property Utils Affects Versions: 1.8.3 Reporter: Maxim Kramarenko Assignee: Benedikt Ritter Priority: Blocker Fix For: 1.8.4 I got the following exception on some servers: javax.servlet.ServletException: BeanUtils.populate at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:475) at org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:50) at org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:60) at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) Caused by: java.lang.NullPointerException at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:982) at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830) at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433) at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:473) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (BEANUTILS-421) NullPointerException in BeanUtilsBean.setProperty
[ https://issues.apache.org/jira/browse/BEANUTILS-421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13566465#comment-13566465 ] Maxim Kramarenko commented on BEANUTILS-421: To fix it please replace type = ((IndexedPropertyDescriptor) descriptor). getIndexedPropertyType(); with type = descriptor.getPropertyType(); NullPointerException in BeanUtilsBean.setProperty - Key: BEANUTILS-421 URL: https://issues.apache.org/jira/browse/BEANUTILS-421 Project: Commons BeanUtils Issue Type: Bug Affects Versions: 1.8.3 Reporter: Maxim Kramarenko Priority: Blocker I got the following exception on some servers: javax.servlet.ServletException: BeanUtils.populate at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:475) at org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:50) at org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:60) at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) Caused by: java.lang.NullPointerException at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:982) at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830) at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433) at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:473) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (BEANUTILS-421) NullPointerException in BeanUtilsBean.setProperty
[ https://issues.apache.org/jira/browse/BEANUTILS-421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13565313#comment-13565313 ] Maxim Kramarenko commented on BEANUTILS-421: Here is the log: 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.BeanUtils:populate:814 - BeanUtils.populate(com.trackstudio.form.TaskForm@d4afbb, {id=[Ljava.lang.String;@15d2cc6, session=[Ljava.lang.String;@26a3de, description=[Ljava.lang.String;@d07c51, workflowId=[Ljava.lang.String;@191bfcc, name=[Ljava.lang.String;@1c71a12, method=[Ljava.lang.String;@8099c8, parentForCancel=[Ljava.lang.String;@f03880, file[0]=}) 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.ConvertUtils:convert:460 - Convert string 'ff8080812bd3d88d012bd3e2f5320076' to class 'java.lang.String' 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.converters.StringConverter:convert:127 - Converting 'String' value 'ff8080812bd3d88d012bd3e2f5320076' to type 'String' 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.ConvertUtils:convert:460 - Convert string 'session' to class 'java.lang.String' 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.converters.StringConverter:convert:127 - Converting 'String' value 'session' to type 'String' 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.ConvertUtils:convert:460 - Convert string 'div style=color: #00; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ff; margin: 8px; ... /div' to class 'java.lang.String' 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.converters.StringConverter:convert:127 - Converting 'String' value 'div style=color: #00; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ff; margin: 8px; ... /div' to type 'String' 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.ConvertUtils:convert:460 - Convert string '4028808a192e43e801192e527cee013f' to class 'java.lang.String' 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.converters.StringConverter:convert:127 - Converting 'String' value '4028808a192e43e801192e527cee013f' to type 'String' 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.ConvertUtils:convert:460 - Convert string 'Dashboard' to class 'java.lang.String' 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.converters.StringConverter:convert:127 - Converting 'String' value 'Dashboard' to type 'String' 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.ConvertUtils:convert:460 - Convert string 'saveDocument' to class 'java.lang.String' 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.converters.StringConverter:convert:127 - Converting 'String' value 'saveDocument' to type 'String' 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.ConvertUtils:convert:460 - Convert string '4028808a192e43e801192e4dc70f013a' to class 'java.lang.String' 2013-01-29 03:19:05,857 DEBUG org.apache.commons.beanutils.converters.StringConverter:convert:127 - Converting 'String' value '4028808a192e43e801192e4dc70f013a' to type 'String' 2013-01-29 03:19:05,867 WARN org.apache.struts.chain.commands.AbstractExceptionHandler:execute:95 - Unhandled exception javax.servlet.ServletException: BeanUtils.populate at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:475) at org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:50) at org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:60) at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) So, it looks like it cannot process file attachment. NullPointerException in BeanUtilsBean.setProperty - Key: BEANUTILS-421 URL: https://issues.apache.org/jira/browse/BEANUTILS-421 Project: Commons BeanUtils Issue Type: Bug Affects Versions: 1.8.3 Reporter: Maxim Kramarenko Priority: Blocker I got the following exception on some servers: javax.servlet.ServletException: BeanUtils.populate at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:475) at org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:50) at org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:60) at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) at