Bug 34033 - Cannot delete users using Administration Tool webapp (HTTP 500 error)
Cannot delete users using Administration Tool webapp (HTTP 500 error)
Status: CLOSED FIXED
Product: Tomcat 5
Classification: Unclassified
Component: Webapps:Administration
5.5.7
PC Windows XP
: P2 normal (vote)
: ---
Assigned To: Tomcat Developers Mailing List
:
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2005-03-16 12:43 UTC by Ben Spiller
Modified: 2006-06-11 18:04 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Spiller 2005-03-16 12:43:51 UTC
I'm getting a nasty 'HTTP Status 500 - Error invoking operation removeUser'
message whenever I try to delete any user using the Administration Tool. 

I've tested on 5.5.7, 5.5.8-alpha and 5.0.28, and while 5.0.28 works perfectly,
5.5.7 onwards fail. I haven't done anything to the Tomcat installation after
downloading it except adding a user so I can logon to the Admin webapp (<user
username="apama_admin" password="" roles="admin,manager"/>). I can reproduce
this on both machines I've tried it on so I don't think it's my configuration.

The stack trace is as follows:
SEVERE: action: Error invoking operation removeUser
javax.management.MalformedObjectNameException: Unterminated key property part
        at javax.management.ObjectName.construct(ObjectName.java:465)
        at javax.management.ObjectName.<init>(ObjectName.java:1297)
        at
org.apache.webapp.admin.users.DeleteUsersAction.execute(DeleteUsersAction.java:132)
        at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
        at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1192)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:430)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at
org.apache.webapp.admin.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:123)
        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.StandardContextValve.invoke(StandardContextValve.java:178)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
        at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
        at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)
Comment 1 Ben Spiller 2005-03-16 13:00:46 UTC
It's interesting that Tomcat 5.0.28 with the 5.5.7 admin webapp instead of the
5.0.28 one still works. I guess this suggests that the breaking code change was
in Tomcat itself and probably not the Admin Tool's code.
Comment 2 Remy Maucherat 2005-03-17 01:09:33 UTC
The usename is now quoted in the ObjectName, that's why it fails at the moment.
Same for the groups, probably.

The UserDatabase realm turned out to be a bit useless in the end. Maybe some
people use it with custom backends (too bad they didn't contribute them).
Comment 3 Ben Spiller 2005-03-17 15:21:31 UTC
Thanks :)