My favorites | Sign in
Project Home Downloads Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 1660: Internal server error when logging in with existing OpenID user after changing canonical URL
8 people starred this issue and may be notified of changes. Back to list
Status:  New
Owner:  ----


Sign in to add a comment
 
Project Member Reported by david.pu...@sonymobile.com, Nov 13, 2012
************************************************************
***** NOTE: THIS BUG TRACKER IS FOR GERRIT CODE REVIEW *****
***** DO NOT SUBMIT BUGS FOR CHROME, ANDROID, INTERNAL *****
***** ISSUES WITH YOUR COMPANY'S GERRIT SETUP, ETC.    *****
***** THOSE ISSUE BELONG IN DIFFERENT ISSUE TRACKERS!  *****
************************************************************

Affected Version:

What steps will reproduce the problem?
1. Change your canonical URL.
2. Log in with an existing OpenID user
3. Enter your old user name in the "Username" box
4. Click "Select Username"

What is the expected output? What do you see instead?

Application Error
Server Error
Internal Server Error

And a "Continue" button.


Please provide any additional information below.

ERROR com.google.gerrit.httpd.rpc.account.AccountSecurityImpl : Cannot send email verification message to xxxxx@xxxxx.com
com.google.gerrit.server.mail.EmailException: Connection refused
    at com.google.gerrit.server.mail.SmtpEmailSender.open(SmtpEmailSender.java:264)
    at com.google.gerrit.server.mail.SmtpEmailSender.send(SmtpEmailSender.java:161)
    at com.google.gerrit.server.mail.OutgoingEmail.send(OutgoingEmail.java:125)
    at com.google.gerrit.httpd.rpc.account.AccountSecurityImpl.registerEmail(AccountSecurityImpl.java:326)

Nov 13, 2012
#1 pedah...@gmail.com
This is the traceback I see in the logs when the set user names errors out and gives me an Internal Server Error:

[2012-11-13 13:13:45,806] WARN  / : Error in changeUserName
com.google.gwtorm.server.OrmException: insert failure on account_external_ids
	at com.google.gwtorm.schema.sql.SqlDialect.convertError(SqlDialect.java:151)
	at com.google.gwtorm.jdbc.JdbcAccess.convertError(JdbcAccess.java:448)
	at com.google.gwtorm.jdbc.JdbcAccess.insert(JdbcAccess.java:160)
	at com.google.gerrit.server.account.ChangeUserName.call(ChangeUserName.java:115)
	at com.google.gerrit.server.account.ChangeUserName.call(ChangeUserName.java:42)
	at com.google.gerrit.httpd.rpc.Handler$1.call(Handler.java:53)
	at com.google.gerrit.httpd.rpc.Handler.to(Handler.java:65)
	at com.google.gerrit.httpd.rpc.account.AccountSecurityImpl.changeUserName(AccountSecurityImpl.java:192)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.google.gwtjsonrpc.server.MethodHandle.invoke(MethodHandle.java:91)
	at com.google.gwtjsonrpc.server.JsonServlet.doService(JsonServlet.java:379)
	at com.google.gwtjsonrpc.server.JsonServlet.service(JsonServlet.java:265)
	at com.google.gerrit.httpd.rpc.GerritJsonServlet.service(GerritJsonServlet.java:118)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
	at com.google.gerrit.pgm.http.jetty.GetUserFilter.doFilter(GetUserFilter.java:76)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:76)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:64)
	at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:57)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:75)
	at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:473)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:921)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:856)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
	at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:59)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
	at org.eclipse.jetty.server.Server.handle(Server.java:352)
	at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596)
	at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1069)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)
	at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.sql.BatchUpdateException: Duplicate entry 'username:joshua' for key 1
	at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2007)
	at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1443)
	at com.google.gwtorm.schema.sql.SqlDialect.executeBatch(SqlDialect.java:370)
	at com.google.gwtorm.jdbc.JdbcAccess.execute(JdbcAccess.java:438)
	at com.google.gwtorm.jdbc.JdbcAccess.insertAsBatch(JdbcAccess.java:202)
	at com.google.gwtorm.jdbc.JdbcAccess.insert(JdbcAccess.java:155)
	... 65 more
Jun 13, 2013
#2 jianbin...@gmail.com
Do we have work around for this issue?

Jun 13, 2013
#3 pedah...@gmail.com
The work-around is to merge accounts. See here: https://code.google.com/p/gerrit/wiki/SqlMergeUserAccounts

This ticket should probably be closed as it is the way Gerrit is designed.

See this thread:

https://groups.google.com/forum/#!msg/repo-discuss/EPrpWEwFLTk/LphvrANz6oYJ
Sign in to add a comment

Powered by Google Project Hosting