Description of problem: Using the german interface translation results in an internal server error. Version-Release number of selected component (if applicable): 5.0.1-11 How reproducible: Switch Browser to german. Try to schedule erratra for installation. Exception : 2008-04-04 16:36:08,351 [TP-Processor7] ERROR org.apache.struts.actions.LookupDispatchAction - Action[/systems/details/ErrataConfirmSubmit] missing resource in key method map 'Bestätigen' 2008-04-04 16:36:08,351 [TP-Processor7] WARN org.apache.struts.action.RequestProcessor - Unhandled Exception thrown: class javax.servlet.ServletException 2008-04-04 16:36:08,359 [TP-Processor7] ERROR com.redhat.rhn.frontend.servlets.SessionFilter - Error during transaction. Rolling back javax.servlet.ServletException: Action[/systems/details/ErrataConfirmSubmit] missing resource in key method map at org.apache.struts.actions.LookupDispatchAction.getLookupMapName(LookupDispatchAction.java:230) at org.apache.struts.actions.LookupDispatchAction.getMethodName(LookupDispatchAction.java:271) at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:173) at org.apache.struts.actions.LookupDispatchAction.execute(LookupDispatchAction.java:150) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at com.redhat.rhn.frontend.struts.RhnRequestProcessor.process(RhnRequestProcessor.java:78) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.redhat.rhn.frontend.servlets.AuthFilter.doFilter(AuthFilter.java:69) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:142) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:58) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.redhat.rhn.frontend.servlets.LocalizedEnvironmentFilter.doFilter(LocalizedEnvironmentFilter.java:63) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.redhat.rhn.frontend.servlets.EnvironmentFilter.doFilter(EnvironmentFilter.java:103) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:93) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:162) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675) at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:570)
Update: Apparently this happens in every language other than English. Everything works as expected if English is the language either by explicit choice or just as the browser default, but if a different language is selected it will throw an ISE when you try to schedule errata.
TEST PLAN: ========= * Set browser to English * Log in to RHN * Go to Your RHN\Locale Preferences * Set Preferences to "Use Browser Settings" Now, schedule an errata for a system: * https://headcrash.usersys.redhat.com/rhn/errata/Overview.do * https://headcrash.usersys.redhat.com/rhn/errata/details/Details.do?eid=6749 * Choose "Affected Systems" * https://headcrash.usersys.redhat.com/rhn/errata/details/SystemsAffected.do?eid=6749 * Check off serveal systems * Choose "Apply Errata" * On the "Confirm" page, choose "Confirm" EXPECTED: ======== Receive no ISEs during this process Now - change the browser locale preference to "French", and retry the above steps EXPECTED: ======== * RHN pages will show the French L10N * Errata will be scheduled w/out an ISE Now - Go back to Locale Preferences, and choose "German". Repeat the scheduling steps. EXPECTED: ======== * RHN pages will show the German L10N * Errata will be schedules w/out an ISE Reset your browser locale to English, and repeat. EXPECTED: ======== * RHN pages will still show the German L10N
Oops - replace headcrash.usersys.redhat.com with the machine for each environment - testing against a developer's workstation is fraught with peril...
Verified in Dev - SH