myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexey Shakov <alexey.sha...@menta.de>
Subject Unexpected behaviour of duplicate id check algorithm
Date Mon, 24 Nov 2014 09:15:37 GMT
Hi,

I have upgraded Myfaces version from 2.1.6 to 2.2.5 in my project and 
getting strange exception now, stating, that smth. wrong with ids on the 
page. Exception differs, depending on javax.faces.PARTIAL_STATE_SAVING 
parameter value.

With javax.faces.PARTIAL_STATE_SAVING set to false:

java.lang.IllegalStateException: Client-id : 
j_id_r_v_e_m_2_4_1_1_14_9_3_1c_1_2_0_1_1_6_1_1_2_0_1_2_2_1_2_0_4_2_1_2_1_1_0_0_1_0_2_0_3_0_4_0_5_0_6_0_7_0_8_0_9_0_10_0_11_0_12_0_13_0_14_0_15_0_16_0_17_0_18_0_19_0_20_0_21_0_22_0_23_0_24_0_25_0_26_0_27_0_28_0_29_0_30_0_31_0_32_0_33_0_34_0_35_0_36_0_37_0_38_0_39_0_40_0_41_0_42_0_43_0_44_0_45_0_46_0_47_0_1_1_1_6_1_1_2_0_0_1_0_2_1_1_6_2_1_1_2_4_4_2_1_2_1_1_0_0_1_0_2_0_3_0_4_0_5_0_6_0_7_0_8_0_9_0_10_0_11_0_12_0_13_0_14_0_15_0_16_0_17_0_18_0_19_0_20_0_21_0_22_0_23_0_24_0_25_0_26_0_27_0_28_0_29_0_30_0_31_0_32_0_33_0_34_0_35_0_36_0_37_0_38_0_39_0_40_0_41_0_42_0_43_0_44_0_45_0_46_0_47_0_48_0_49_0_50_0_51_0_52_0_53_0_54_0_55_0_56_0_57_0_58_0_59_0_60_0_61_0_62_0_63_0_64_0_65_0_66_0_67_0_68_0_69_0_70_0_71_0_72_0_73_0_74_0_75_0_76_0_77_0_78_0_79_0_80_0_81_0_82_0_83_0_84_0_85_0_86_0_87_0_88_0_89_0_90_0_91_0_92_0_93_0_94_0_95_0_96_0_97_0_98_0_99_0_100_0_101_0_102_0_103_0_104_0_105_0_106_0_107_0_108_0_109_0_110_0_111_0_112_0_113_0_114_0_115_0_116_0_117_0_118_0_119_0_120_0_121_0_122_0_123_0_124_0_125_0_126_0_127_0_128_0_129_0_130_0_131_0_132_0_133_0_134_0_135_0_136_0_137_0_138_0_139_0_140_0_141_0_142_0_143_0_144_0_145_0_146_0_147_0_148_0_149_0_150_0_151_0_152_0_153_0_154_0_155_0_156_0_157_0_158_0_159_0_160_0_161_0_162_0_163_0_164_0_165_0_166_0_167_0_168_0_169_0_170_0_171_0_172_0_173_0_174_0_175_0_176_0_177_0_178_0_179_0_180_0_181_0_182_0_183_0_184_0_185_0_186_0_187_0_188_0_189_0_2_1_1_6_1_1_2_0_1_1_6_2_1_1_2_0_4_1_1

is duplicated in the faces tree. Component : 
j_id_r_v_e_m_2_4_1_1_14_9_3_1c_1_2_0_1_1_6_1_1_2_0_1_2_2_1_2_0_4_2_1_2_1_1_0_0_1_0_2_0_3_0_4_0_5_0_6_0_7_0_8_0_9_0_10_0_11_0_12_0_13_0_14_0_15_0_16_0_17_0_18_0_19_0_20_0_21_0_22_0_23_0_24_0_25_0_26_0_27_0_28_0_29_0_30_0_31_0_32_0_33_0_34_0_35_0_36_0_37_0_38_0_39_0_40_0_41_0_42_0_43_0_44_0_45_0_46_0_47_0_1_1_1_6_1_1_2_0_0_1_0_2_1_1_6_2_1_1_2_4_4_2_1_2_1_1_0_0_1_0_2_0_3_0_4_0_5_0_6_0_7_0_8_0_9_0_10_0_11_0_12_0_13_0_14_0_15_0_16_0_17_0_18_0_19_0_20_0_21_0_22_0_23_0_24_0_25_0_26_0_27_0_28_0_29_0_30_0_31_0_32_0_33_0_34_0_35_0_36_0_37_0_38_0_39_0_40_0_41_0_42_0_43_0_44_0_45_0_46_0_47_0_48_0_49_0_50_0_51_0_52_0_53_0_54_0_55_0_56_0_57_0_58_0_59_0_60_0_61_0_62_0_63_0_64_0_65_0_66_0_67_0_68_0_69_0_70_0_71_0_72_0_73_0_74_0_75_0_76_0_77_0_78_0_79_0_80_0_81_0_82_0_83_0_84_0_85_0_86_0_87_0_88_0_89_0_90_0_91_0_92_0_93_0_94_0_95_0_96_0_97_0_98_0_99_0_100_0_101_0_102_0_103_0_104_0_105_0_106_0_107_0_108_0_109_0_110_0_111_0_112_0_113_0_114_0_115_0_116_0_117_0_118_0_119_0_120_0_121_0_122_0_123_0_124_0_125_0_126_0_127_0_128_0_129_0_130_0_131_0_132_0_133_0_134_0_135_0_136_0_137_0_138_0_139_0_140_0_141_0_142_0_143_0_144_0_145_0_146_0_147_0_148_0_149_0_150_0_151_0_152_0_153_0_154_0_155_0_156_0_157_0_158_0_159_0_160_0_161_0_162_0_163_0_164_0_165_0_166_0_167_0_168_0_169_0_170_0_171_0_172_0_173_0_174_0_175_0_176_0_177_0_178_0_179_0_180_0_181_0_182_0_183_0_184_0_185_0_186_0_187_0_188_0_189_0_2_1_1_6_1_1_2_0_1_1_6_2_1_1_2_0_4_1_1,

path: {Component-Path : [Class: 
org.apache.myfaces.extensions.validator.core.factory.ExtValViewRoot,ViewId: 
/pages/query/query_main.xhtml][Class: 
javax.faces.component.html.HtmlBody,Id: j_id_j][Class: 
javax.faces.component.html.HtmlForm,Id: _form][Class: 
org.richfaces.component.UIPanelMenu,Id: 
j_id_r_v_e_m_2_4_1_1_14_9_3_1c_1_1][Class: 
org.richfaces.component.UIPanelMenuGroup,Id: ai7444645][Class: 
org.richfaces.component.UIPanelMenu,Id: 
j_id_r_v_e_m_2_4_1_1_14_9_3_1c_1_2_0_1_1_6_1_1_2_0_1_2_2_1_2_0_4_2_1_2_1_1_0_0_1_0_2_0_3_0_4_0_5_0_6_0_7_0_8_0_9_0_10_0_11_0_12_0_13_0_14_0_15_0_16_0_17_0_18_0_19_0_20_0_21_0_22_0_23_0_24_0_25_0_26_0_27_0_28_0_29_0_30_0_31_0_32_0_33_0_34_0_35_0_36_0_37_0_38_0_39_0_40_0_41_0_42_0_43_0_44_0_45_0_46_0_47_0_1_1_1_6_1_1_2_0_0_1_0_2_1_1_6_2_1_1_2_4_4_2_1_2_1_1_0_0_1_0_2_0_3_0_4_0_5_0_6_0_7_0_8_0_9_0_10_0_11_0_12_0_13_0_14_0_15_0_16_0_17_0_18_0_19_0_20_0_21_0_22_0_23_0_24_0_25_0_26_0_27_0_28_0_29_0_30_0_31_0_32_0_33_0_34_0_35_0_36_0_37_0_38_0_39_0_40_0_41_0_42_0_43_0_44_0_45_0_46_0_47_0_48_0_49_0_50_0_51_0_52_0_53_0_54_0_55_0_56_0_57_0_58_0_59_0_60_0_61_0_62_0_63_0_64_0_65_0_66_0_67_0_68_0_69_0_70_0_71_0_72_0_73_0_74_0_75_0_76_0_77_0_78_0_79_0_80_0_81_0_82_0_83_0_84_0_85_0_86_0_87_0_88_0_89_0_90_0_91_0_92_0_93_0_94_0_95_0_96_0_97_0_98_0_99_0_100_0_101_0_102_0_103_0_104_0_105_0_106_0_107_0_108_0_109_0_110_0_111_0_112_0_113_0_114_0_115_0_116_0_117_0_118_0_119_0_120_0_121_0_122_0_123_0_124_0_125_0_126_0_127_0_128_0_129_0_130_0_131_0_132_0_133_0_134_0_135_0_136_0_137_0_138_0_139_0_140_0_141_0_142_0_143_0_144_0_145_0_146_0_147_0_148_0_149_0_150_0_151_0_152_0_153_0_154_0_155_0_156_0_157_0_158_0_159_0_160_0_161_0_162_0_163_0_164_0_165_0_166_0_167_0_168_0_169_0_170_0_171_0_172_0_173_0_174_0_175_0_176_0_177_0_178_0_179_0_180_0_181_0_182_0_183_0_184_0_185_0_186_0_187_0_188_0_189_0_2_1_1_6_1_1_1][Class:

org.richfaces.component.UIPanelMenuGroup,Id: ai4609038][Class: 
javax.faces.component.html.HtmlPanelGrid,Id: 
j_id_r_v_e_m_2_4_1_1_14_9_3_1c_1_2_0_1_1_6_1_1_2_0_1_2_2_1_2_0_4_2_1_2_1_1_0_0_1_0_2_0_3_0_4_0_5_0_6_0_7_0_8_0_9_0_10_0_11_0_12_0_13_0_14_0_15_0_16_0_17_0_18_0_19_0_20_0_21_0_22_0_23_0_24_0_25_0_26_0_27_0_28_0_29_0_30_0_31_0_32_0_33_0_34_0_35_0_36_0_37_0_38_0_39_0_40_0_41_0_42_0_43_0_44_0_45_0_46_0_47_0_1_1_1_6_1_1_2_0_0_1_0_2_1_1_6_2_1_1_2_4_4_2_1_2_1_1_0_0_1_0_2_0_3_0_4_0_5_0_6_0_7_0_8_0_9_0_10_0_11_0_12_0_13_0_14_0_15_0_16_0_17_0_18_0_19_0_20_0_21_0_22_0_23_0_24_0_25_0_26_0_27_0_28_0_29_0_30_0_31_0_32_0_33_0_34_0_35_0_36_0_37_0_38_0_39_0_40_0_41_0_42_0_43_0_44_0_45_0_46_0_47_0_48_0_49_0_50_0_51_0_52_0_53_0_54_0_55_0_56_0_57_0_58_0_59_0_60_0_61_0_62_0_63_0_64_0_65_0_66_0_67_0_68_0_69_0_70_0_71_0_72_0_73_0_74_0_75_0_76_0_77_0_78_0_79_0_80_0_81_0_82_0_83_0_84_0_85_0_86_0_87_0_88_0_89_0_90_0_91_0_92_0_93_0_94_0_95_0_96_0_97_0_98_0_99_0_100_0_101_0_102_0_103_0_104_0_105_0_106_0_107_0_108_0_109_0_110_0_111_0_112_0_113_0_114_0_115_0_116_0_117_0_118_0_119_0_120_0_121_0_122_0_123_0_124_0_125_0_126_0_127_0_128_0_129_0_130_0_131_0_132_0_133_0_134_0_135_0_136_0_137_0_138_0_139_0_140_0_141_0_142_0_143_0_144_0_145_0_146_0_147_0_148_0_149_0_150_0_151_0_152_0_153_0_154_0_155_0_156_0_157_0_158_0_159_0_160_0_161_0_162_0_163_0_164_0_165_0_166_0_167_0_168_0_169_0_170_0_171_0_172_0_173_0_174_0_175_0_176_0_177_0_178_0_179_0_180_0_181_0_182_0_183_0_184_0_185_0_186_0_187_0_188_0_189_0_2_1_1_6_1_1_2_0_1_1_6_2_1_1_1][Class:

javax.faces.component.html.HtmlColumn,Id: 
j_id_r_v_e_m_2_4_1_1_14_9_3_1c_1_2_0_1_1_6_1_1_2_0_1_2_2_1_2_0_4_2_1_2_1_1_0_0_1_0_2_0_3_0_4_0_5_0_6_0_7_0_8_0_9_0_10_0_11_0_12_0_13_0_14_0_15_0_16_0_17_0_18_0_19_0_20_0_21_0_22_0_23_0_24_0_25_0_26_0_27_0_28_0_29_0_30_0_31_0_32_0_33_0_34_0_35_0_36_0_37_0_38_0_39_0_40_0_41_0_42_0_43_0_44_0_45_0_46_0_47_0_1_1_1_6_1_1_2_0_0_1_0_2_1_1_6_2_1_1_2_4_4_2_1_2_1_1_0_0_1_0_2_0_3_0_4_0_5_0_6_0_7_0_8_0_9_0_10_0_11_0_12_0_13_0_14_0_15_0_16_0_17_0_18_0_19_0_20_0_21_0_22_0_23_0_24_0_25_0_26_0_27_0_28_0_29_0_30_0_31_0_32_0_33_0_34_0_35_0_36_0_37_0_38_0_39_0_40_0_41_0_42_0_43_0_44_0_45_0_46_0_47_0_48_0_49_0_50_0_51_0_52_0_53_0_54_0_55_0_56_0_57_0_58_0_59_0_60_0_61_0_62_0_63_0_64_0_65_0_66_0_67_0_68_0_69_0_70_0_71_0_72_0_73_0_74_0_75_0_76_0_77_0_78_0_79_0_80_0_81_0_82_0_83_0_84_0_85_0_86_0_87_0_88_0_89_0_90_0_91_0_92_0_93_0_94_0_95_0_96_0_97_0_98_0_99_0_100_0_101_0_102_0_103_0_104_0_105_0_106_0_107_0_108_0_109_0_110_0_111_0_112_0_113_0_114_0_115_0_116_0_117_0_118_0_119_0_120_0_121_0_122_0_123_0_124_0_125_0_126_0_127_0_128_0_129_0_130_0_131_0_132_0_133_0_134_0_135_0_136_0_137_0_138_0_139_0_140_0_141_0_142_0_143_0_144_0_145_0_146_0_147_0_148_0_149_0_150_0_151_0_152_0_153_0_154_0_155_0_156_0_157_0_158_0_159_0_160_0_161_0_162_0_163_0_164_0_165_0_166_0_167_0_168_0_169_0_170_0_171_0_172_0_173_0_174_0_175_0_176_0_177_0_178_0_179_0_180_0_181_0_182_0_183_0_184_0_185_0_186_0_187_0_188_0_189_0_2_1_1_6_1_1_2_0_1_1_6_2_1_1_2_0_4_1_1]}
     at 
org.apache.myfaces.application.StateManagerImpl.checkForDuplicateIds(StateManagerImpl.java:303)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.application.StateManagerImpl.checkForDuplicateIds(StateManagerImpl.java:325)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.application.StateManagerImpl.checkForDuplicateIds(StateManagerImpl.java:325)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.application.StateManagerImpl.checkForDuplicateIds(StateManagerImpl.java:325)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.application.StateManagerImpl.checkForDuplicateIds(StateManagerImpl.java:325)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.application.StateManagerImpl.checkForDuplicateIds(StateManagerImpl.java:325)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.application.StateManagerImpl.checkForDuplicateIds(StateManagerImpl.java:325)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.application.StateManagerImpl.checkForDuplicateIds(StateManagerImpl.java:325)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.application.StateManagerImpl.checkForDuplicateIds(StateManagerImpl.java:325)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.application.StateManagerImpl.saveView(StateManagerImpl.java:241) 
~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1962)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:313) 
~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:58) 
~[myfaces-api-2.2.5.jar:2.2.5]
     at 
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:58) 
~[myfaces-api-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:169)

~[tomahawk21-1.1.14.jar:1.1.14]
     at 
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:116)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:267) ~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.extensions.validator.core.startup.ExtValLifecycleWrapper.render(ExtValLifecycleWrapper.java:77)

[myfaces-extval-core-2.0.8.jar:2.0.8]
     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:200) 
[myfaces-api-2.2.5.jar:2.2.5]



With javax.faces.PARTIAL_STATE_SAVING set to true:

java.lang.NullPointerException: null
     at 
org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.createAndQueueException(CheckDuplicateIdFaceletUtils.java:139)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIds(CheckDuplicateIdFaceletUtils.java:107)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIds(CheckDuplicateIdFaceletUtils.java:124)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIds(CheckDuplicateIdFaceletUtils.java:124)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIds(CheckDuplicateIdFaceletUtils.java:124)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIds(CheckDuplicateIdFaceletUtils.java:124)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIds(CheckDuplicateIdFaceletUtils.java:124)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIds(CheckDuplicateIdFaceletUtils.java:124)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIds(CheckDuplicateIdFaceletUtils.java:124)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIds(CheckDuplicateIdFaceletUtils.java:124)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIds(CheckDuplicateIdFaceletUtils.java:89)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.saveView(DefaultFaceletsStateManagementStrategy.java:688)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.application.StateManagerImpl.saveView(StateManagerImpl.java:213) 
~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1962)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:313) 
~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:58) 
~[myfaces-api-2.2.5.jar:2.2.5]
     at 
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:58) 
~[myfaces-api-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:169)

~[tomahawk21-1.1.14.jar:1.1.14]
     at 
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:116)

~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:267) ~[myfaces-impl-2.2.5.jar:2.2.5]
     at 
org.apache.myfaces.extensions.validator.core.startup.ExtValLifecycleWrapper.render(ExtValLifecycleWrapper.java:77)

[myfaces-extval-core-2.0.8.jar:2.0.8]
     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:200) 
[myfaces-api-2.2.5.jar:2.2.5]


The same problem exists also in 2.2.6 (may be, it was introduced since 
2.2.0 ?)

My application works fine with Myfaces 2.1.* and Mojarra 2.1.* (2.2.*)

What is wrong with Myfaces 2.2.* ?

Thanks for any help in advance!

Best Regards,

Alexey


Mime
View raw message