Hi The only change that could cause like that between 2.1.x and 2.2.x is:
https://issues.apache.org/jira/browse/MYFACES-3811 Fix c:forEach behavior once for all The previous algorithm (in 2.1.x) caused problems when you try combinations of c:forEach and ui:include and other tags, so in that sense the new algorithm is more stable. The new algorithm is activated when c:forEach iterates over a Serializable collection, so one way to use the old algorithm from 2.1.x is use a non Serializable collection. The stack trace shows that you are doing something very unusual in you page. The id shouln'd be that long: 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 .... It should be something that cause the id to be generated in that way, maybe a hidden exception or something inside the iterated components. I see that do the iteration by c:forEach should be surrounded by a try{...} finally{...} block to avoid that situation. I suggest you to check with a debugger how c:forEach is being called. I have created this issue: https://issues.apache.org/jira/browse/MYFACES-3944 - Calls to fcc.startComponentUniqueIdSection(...) and fcc.endComponentUniqueIdSection(...) should be surrounded in a try finally block To deal with this, but that small fix will not solve the real cause of the problem you have. regards, Leonardo Uribe 2014-11-24 4:15 GMT-05:00 Alexey Shakov <alexey.sha...@menta.de>: > 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 >