[jira] [Commented] (WW-4841) Struts2.5.12 - NPE in DeligatingValidatorContext
[ https://issues.apache.org/jira/browse/WW-4841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16121373#comment-16121373 ] Prasann Grampurohit commented on WW-4841: - Hi [~yasser.zamani], I tried this, but my action class fails instantiation with the error: {color:red}Unable to instantiate Action, membersAction, defined for 'members' in namespace '/ins'com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException: No mapping found for dependency [type=com.opensymphony.xwork2.TextProviderFactory, name='default'] in public void com.my.acompany.web.action.mem.MembersAction.setTextProviderFactory(com.opensymphony.xwork2.TextProviderFactory).{color} Does this mean I am missing any configuration? Thanks. > Struts2.5.12 - NPE in DeligatingValidatorContext > > > Key: WW-4841 > URL: https://issues.apache.org/jira/browse/WW-4841 > Project: Struts 2 > Issue Type: Bug > Components: Core >Affects Versions: 2.5.12 >Reporter: Prasann Grampurohit > Labels: struts2.5.12 > > We are upgrading one of our project to Struts 2.5.12. My project setup is as > mentioned in the link: > https://stackoverflow.com/questions/45347478/struts2-5-12-npe-while-using-gettext-method-from-actionsupport > When I try to submit request to action on the first page, I see > NullPointerException as below. Debugged it and found that textProviderFactory > is null. Tried it a several times and I see that it is intermittent. > Approximately twice in 10 server restarts the textProviderFactory is > initialized. > Could you please check if I am missing any configuration? I have raised a > stackoverflow for this, but haven't got any response yet - > https://stackoverflow.com/questions/45483364/struts2-5-12-npe-in-deligatingvalidatorcontext > Exception: > {code:java} > java.lang.NullPointerException > at > com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeTextProvider(DelegatingValidatorContext.java:210) > at > com.opensymphony.xwork2.validator.DelegatingValidatorContext.(DelegatingValidatorContext.java:63) > at > com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:125) > at > com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:121) > at > com.opensymphony.xwork2.validator.ValidationInterceptor.doBeforeInvocation(ValidationInterceptor.java:224) > at > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:259) > at > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:52) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) > at > com.my.company.web.interceptor.ButtonPressedInterceptor.intercept(ButtonPressedInterceptor.java:40) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) > at > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:139) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:134) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) > at > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:199) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) > at > org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:88) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) > at > org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:246) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) > at > com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:99) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) > at > com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:157) > at >
[jira] [Commented] (WW-4827) Not fully initialized ObjectFactory tries to create beans
[ https://issues.apache.org/jira/browse/WW-4827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16122214#comment-16122214 ] ASF GitHub Bot commented on WW-4827: Github user lukaszlenart commented on the issue: https://github.com/apache/struts/pull/153 The case is that on second container initialisation we do not create singletons upfront ... I have tried to change that but got some problems, not sure why. I must re-think how we initialise Struts internals ... > Not fully initialized ObjectFactory tries to create beans > - > > Key: WW-4827 > URL: https://issues.apache.org/jira/browse/WW-4827 > Project: Struts 2 > Issue Type: Bug >Affects Versions: 2.5.12 >Reporter: Aleksandr Mashchenko >Assignee: Lukasz Lenart >Priority: Critical > Fix For: 2.5.13 > > > This leads to issues when properties aren't injected in some cases, for > example in custom type converters. > The problem happens when {{ObjectFactory}} tries to create a bean in the same > time not being fully initialized itself (e.g. {{ConverterFactory}} injected > before {{Container}}). > The issue happens more often under linux (all the time basically) than under > windows, so it cannot be reproduced 100%. This behavior boils down to the > fact that {{clazz.getDeclaredMethods()}} is used to get methods which needs > to be injected and {{clazz.getDeclaredMethods()}} returned elements are - > _The elements in the array returned are not sorted and are not in any > particular order._ > Proposed solution moves Container injection from method to constructor in > ObjectFactory - > https://github.com/aleksandr-m/struts/commit/6f91d0776a545c911ca4f2875ed9976614711ef9. > The downside is it isn't backward-compatible, custom object factories must be > updated. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (WW-4841) Struts2.5.12 - NPE in DeligatingValidatorContext
[ https://issues.apache.org/jira/browse/WW-4841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16122079#comment-16122079 ] Yasser Zamani edited comment on WW-4841 at 8/10/17 6:44 PM: :( strange! I have no idea now but could you please try this one: {code:title=.java|borderStyle=solid} ... import com.opensymphony.xwork2.validator.ActionValidatorManager; import com.opensymphony.xwork2.inject.Inject; ... private ActionValidatorManager actionValidatorManager; @Inject public void setActionValidatorManager(ActionValidatorManager actionValidatorManager) { this.actionValidatorManager = actionValidatorManager; } ... @Override public String input() { System.out.println("WW-4841: " + this.actionValidatorManager); return INPUT; } {code} Then put a break-point on {{return INPUT;}} and then see what of following properties of {{this.actionValidatorManager}} are null and what are not. Are all of them null? {noformat} validatorFactory validatorFileParser fileManager reloadingConfigs textProviderFactory {noformat} ALSO ... please add {{}} to your {{struts.xml}} and configure {{log4j2}} for your application and then run your application and review it's output for any warnings. I guess you should look for something like {{Unable to load config class X at Y probably due to a missing jar, which might be fine if you never plan to use the Z interceptor}}. was (Author: yasser.zamani): :( strange! I have no idea now but could you please try this one: {code:title=.java|borderStyle=solid} ... import com.opensymphony.xwork2.validator.ActionValidatorManager; import com.opensymphony.xwork2.inject.Inject; ... private ActionValidatorManager actionValidatorManager; @Inject public void setAnnotationActionValidatorManager(ActionValidatorManager actionValidatorManager) { this.actionValidatorManager = actionValidatorManager; } ... @Override public String input() { System.out.println("WW-4841: " + this.actionValidatorManager); return INPUT; } {code} Then put a break-point on {{return INPUT;}} and then see what of following properties of {{this.actionValidatorManager}} are null and what are not. Are all of them null? {noformat} validatorFactory validatorFileParser fileManager reloadingConfigs textProviderFactory {noformat} ALSO ... please add {{}} to your {{struts.xml}} and configure {{log4j2}} for your application and then run your application and review it's output for any warnings. I guess you should look for something like {{Unable to load config class X at Y probably due to a missing jar, which might be fine if you never plan to use the Z interceptor}}. > Struts2.5.12 - NPE in DeligatingValidatorContext > > > Key: WW-4841 > URL: https://issues.apache.org/jira/browse/WW-4841 > Project: Struts 2 > Issue Type: Bug > Components: Core >Affects Versions: 2.5.12 >Reporter: Prasann Grampurohit > Labels: struts2.5.12 > > We are upgrading one of our project to Struts 2.5.12. My project setup is as > mentioned in the link: > https://stackoverflow.com/questions/45347478/struts2-5-12-npe-while-using-gettext-method-from-actionsupport > When I try to submit request to action on the first page, I see > NullPointerException as below. Debugged it and found that textProviderFactory > is null. Tried it a several times and I see that it is intermittent. > Approximately twice in 10 server restarts the textProviderFactory is > initialized. > Could you please check if I am missing any configuration? I have raised a > stackoverflow for this, but haven't got any response yet - > https://stackoverflow.com/questions/45483364/struts2-5-12-npe-in-deligatingvalidatorcontext > Exception: > {code:java} > java.lang.NullPointerException > at > com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeTextProvider(DelegatingValidatorContext.java:210) > at > com.opensymphony.xwork2.validator.DelegatingValidatorContext.(DelegatingValidatorContext.java:63) > at > com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:125) > at > com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:121) > at > com.opensymphony.xwork2.validator.ValidationInterceptor.doBeforeInvocation(ValidationInterceptor.java:224) > at > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:259) > at > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:52) > at >
[jira] [Commented] (WW-4841) Struts2.5.12 - NPE in DeligatingValidatorContext
[ https://issues.apache.org/jira/browse/WW-4841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16122079#comment-16122079 ] Yasser Zamani commented on WW-4841: --- :( strange! I have no idea now but could you please try this one: {code:title=.java|borderStyle=solid} ... import com.opensymphony.xwork2.validator.ActionValidatorManager; import com.opensymphony.xwork2.inject.Inject; ... private ActionValidatorManager actionValidatorManager; @Inject public void setAnnotationActionValidatorManager(ActionValidatorManager actionValidatorManager) { this.actionValidatorManager = actionValidatorManager; } ... @Override public String input() { System.out.println("WW-4841: " + this.actionValidatorManager); return INPUT; } {code} Then put a break-point on {{return INPUT;}} and then see what of following properties of {{this.actionValidatorManager}} are null and what are not. Are all of them null? {noformat} validatorFactory validatorFileParser fileManager reloadingConfigs textProviderFactory {noformat} ALSO ... please add {{}} to your {{struts.xml}} and configure {{log4j2}} for your application and then run your application and review it's output for any warnings. I guess you should look for something like {{Unable to load config class X at Y probably due to a missing jar, which might be fine if you never plan to use the Z interceptor}}. > Struts2.5.12 - NPE in DeligatingValidatorContext > > > Key: WW-4841 > URL: https://issues.apache.org/jira/browse/WW-4841 > Project: Struts 2 > Issue Type: Bug > Components: Core >Affects Versions: 2.5.12 >Reporter: Prasann Grampurohit > Labels: struts2.5.12 > > We are upgrading one of our project to Struts 2.5.12. My project setup is as > mentioned in the link: > https://stackoverflow.com/questions/45347478/struts2-5-12-npe-while-using-gettext-method-from-actionsupport > When I try to submit request to action on the first page, I see > NullPointerException as below. Debugged it and found that textProviderFactory > is null. Tried it a several times and I see that it is intermittent. > Approximately twice in 10 server restarts the textProviderFactory is > initialized. > Could you please check if I am missing any configuration? I have raised a > stackoverflow for this, but haven't got any response yet - > https://stackoverflow.com/questions/45483364/struts2-5-12-npe-in-deligatingvalidatorcontext > Exception: > {code:java} > java.lang.NullPointerException > at > com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeTextProvider(DelegatingValidatorContext.java:210) > at > com.opensymphony.xwork2.validator.DelegatingValidatorContext.(DelegatingValidatorContext.java:63) > at > com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:125) > at > com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:121) > at > com.opensymphony.xwork2.validator.ValidationInterceptor.doBeforeInvocation(ValidationInterceptor.java:224) > at > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:259) > at > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:52) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) > at > com.my.company.web.interceptor.ButtonPressedInterceptor.intercept(ButtonPressedInterceptor.java:40) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) > at > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:139) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:134) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) > at > com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:199) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:247) > at >