Page MenuHomePhabricator

Gerrit patchset 99101 cannot be accessed: "500 Internal server error"
Closed, ResolvedPublic

Description

This creates an issue for data gathering in https://wikimedia.biterg.io in T157898#3124564.

Way to reproduce:

gerrit query  --patch-sets  99101

Abstract stacktrace suggests the change cache has troubles:

com.google.common.util.concurrent.UncheckedExecutionException: java.lang.ArrayIndexOutOfBoundsException: 0
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2207)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3953)
	at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4790)
	at com.google.gerrit.server.cache.h2.H2CacheImpl.get(H2CacheImpl.java:139)
	at com.google.gerrit.server.change.ChangeKindCacheImpl.getChangeKind(ChangeKindCacheImpl.java:329)

Stack trace from above CLI command

com.google.common.util.concurrent.UncheckedExecutionException: java.lang.ArrayIndexOutOfBoundsException: 0
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2207)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3953)
	at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4790)
	at com.google.gerrit.server.cache.h2.H2CacheImpl.get(H2CacheImpl.java:139)
	at com.google.gerrit.server.change.ChangeKindCacheImpl.getChangeKind(ChangeKindCacheImpl.java:329)
	at com.google.gerrit.server.change.ChangeKindCacheImpl.getChangeKindInternal(ChangeKindCacheImpl.java:378)
	at com.google.gerrit.server.change.ChangeKindCacheImpl.getChangeKindInternal(ChangeKindCacheImpl.java:405)
	at com.google.gerrit.server.change.ChangeKindCacheImpl.getChangeKind(ChangeKindCacheImpl.java:339)
	at com.google.gerrit.server.events.EventFactory.asPatchSetAttribute(EventFactory.java:508)
	at com.google.gerrit.server.events.EventFactory.addPatchSets(EventFactory.java:390)
	at com.google.gerrit.server.query.change.OutputStreamQuery.buildChangeAttribute(OutputStreamQuery.java:279)
	at com.google.gerrit.server.query.change.OutputStreamQuery.query(OutputStreamQuery.java:203)
	at com.google.gerrit.sshd.commands.Query.run(Query.java:96)
	at com.google.gerrit.sshd.SshCommand$1.run(SshCommand.java:35)
	at com.google.gerrit.sshd.BaseCommand$TaskThunk.run(BaseCommand.java:442)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:417)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
	at org.eclipse.jgit.revwalk.RevCommit.getParent(RevCommit.java:353)
	at com.google.gerrit.server.change.ChangeKindCacheImpl$Loader.sameFirstParents(ChangeKindCacheImpl.java:261)
	at com.google.gerrit.server.change.ChangeKindCacheImpl$Loader.onlyFirstParentChanged(ChangeKindCacheImpl.java:254)
	at com.google.gerrit.server.change.ChangeKindCacheImpl$Loader.call(ChangeKindCacheImpl.java:225)
	at com.google.gerrit.server.change.ChangeKindCacheImpl$Loader.call(ChangeKindCacheImpl.java:192)
	at com.google.gerrit.server.cache.h2.H2CacheImpl$LoadingCallable.call(H2CacheImpl.java:283)
	at com.google.gerrit.server.cache.h2.H2CacheImpl$LoadingCallable.call(H2CacheImpl.java:265)
	at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4793)
	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3542)
	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2323)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2286)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201)
	... 22 more

Stack trace reaching https://gerrit.wikimedia.org/r/#/c/99101

[2017-03-23 12:36:57,673] ERROR com.google.gerrit.httpd.restapi.RestApiServlet : Error in GET /r/changes/99101/detail?O=10004
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.ArrayIndexOutOfBoundsException: 0
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2207)
	at com.google.common.cache.LocalCache.get(LocalCache.java:3953)
	at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4790)
	at com.google.gerrit.server.cache.h2.H2CacheImpl.get(H2CacheImpl.java:139)
	at com.google.gerrit.server.change.ChangeKindCacheImpl.getChangeKind(ChangeKindCacheImpl.java:329)
	at com.google.gerrit.server.change.ChangeKindCacheImpl.getChangeKindInternal(ChangeKindCacheImpl.java:378)
	at com.google.gerrit.server.change.ChangeKindCacheImpl.getChangeKind(ChangeKindCacheImpl.java:346)
	at com.google.gerrit.server.change.ChangeJson.toRevisionInfo(ChangeJson.java:1000)
	at com.google.gerrit.server.change.ChangeJson.revisions(ChangeJson.java:939)
	at com.google.gerrit.server.change.ChangeJson.toChangeInfo(ChangeJson.java:499)
	at com.google.gerrit.server.change.ChangeJson.format(ChangeJson.java:262)
	at com.google.gerrit.server.change.ChangeJson.format(ChangeJson.java:253)
	at com.google.gerrit.server.change.ChangeJson.format(ChangeJson.java:231)
	at com.google.gerrit.server.change.GetChange.apply(GetChange.java:50)
	at com.google.gerrit.server.change.GetDetail.apply(GetDetail.java:51)
	at com.google.gerrit.server.change.GetDetail.apply(GetDetail.java:26)
	at com.google.gerrit.httpd.restapi.RestApiServlet.service(RestApiServlet.java:334)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:286)
	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276)
	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181)
	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
	at com.google.gerrit.httpd.GetUserFilter.doFilter(GetUserFilter.java:82)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.google.gerrit.httpd.RequireSslFilter.doFilter(RequireSslFilter.java:77)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:73)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.google.gerrit.httpd.RunAsFilter.doFilter(RunAsFilter.java:122)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.google.gerrit.httpd.RequestMetricsFilter.doFilter(RequestMetricsFilter.java:60)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:136)
	at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:138)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:75)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
	at org.eclipse.jetty.server.Server.handle(Server.java:499)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
	at org.eclipse.jgit.revwalk.RevCommit.getParent(RevCommit.java:353)
	at com.google.gerrit.server.change.ChangeKindCacheImpl$Loader.sameFirstParents(ChangeKindCacheImpl.java:261)
	at com.google.gerrit.server.change.ChangeKindCacheImpl$Loader.onlyFirstParentChanged(ChangeKindCacheImpl.java:254)
	at com.google.gerrit.server.change.ChangeKindCacheImpl$Loader.call(ChangeKindCacheImpl.java:225)
	at com.google.gerrit.server.change.ChangeKindCacheImpl$Loader.call(ChangeKindCacheImpl.java:192)
	at com.google.gerrit.server.cache.h2.H2CacheImpl$LoadingCallable.call(H2CacheImpl.java:283)
	at com.google.gerrit.server.cache.h2.H2CacheImpl$LoadingCallable.call(H2CacheImpl.java:265)
	at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4793)
	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3542)
	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2323)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2286)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201)
	... 55 more

Event Timeline

hashar updated the task description. (Show Details)Mar 23 2017, 12:38 PM
hashar added a subscriber: hashar.EditedMar 23 2017, 12:44 PM

gerrit show-caches has:

  Name                          |Entries              |  AvgGet |Hit Ratio|
                                |   Mem   Disk   Space|         |Mem  Disk|
--------------------------------+---------------------+---------+---------+
  changes                       |                     |         |         |
D change_kind                   | 17027 283016 128.51m|   1.5ms | 76%  98%|

Maybe we can flush the change_kind cache, but really I would prefer not to mess with Gerrit in fear of making the issue worse.

I will report this upstream.

Paladox moved this task from Backlog to Reported Upstream on the Upstream board.
Paladox added a comment.EditedMar 24 2017, 9:33 PM

Ah, found the fix https://gerrit-review.googlesource.com/#/c/91583/ (Update: not the fix though)

Which is in https://github.com/GerritCodeReview/gerrit/commit/d89b7031314468c451fe722c0bbfc18a82e1eb66 but not sure if we are on that commit.

hashar removed a subscriber: hashar.Mar 27 2017, 8:49 AM
Paladox added a comment.EditedApr 29 2017, 11:26 PM

This is what i got when i went to gerrit's rest api for this change - http://gerrit.wikimedia.org/r/changes/99101

)]}'
{

"id": "operations%2Fdebs%2Fkafka~debian-0.8.0~I55e65084eb5444a03e63cc479f9f3b72cf07a146",
"project": "operations/debs/kafka",
"branch": "debian-0.8.0",
"hashtags": [],
"change_id": "I55e65084eb5444a03e63cc479f9f3b72cf07a146",
"subject": "Debianize Kafka",
"status": "MERGED",
"created": "2013-12-04 15:45:29.000000000",
"updated": "2013-12-04 16:03:43.000000000",
"submittable": false,
"insertions": 1044,
"deletions": 0,
"_number": 99101,
"owner": {
  "_account_id": 55
}

}

some extra details when going to https://gerrit.wikimedia.org/r/changes/99101/detail

It's just that https://gerrit.wikimedia.org/r/changes/99101/detail?O=10004 that has an internal server error

)]}'
{

"id": "operations%2Fdebs%2Fkafka~debian-0.8.0~I55e65084eb5444a03e63cc479f9f3b72cf07a146",
"project": "operations/debs/kafka",
"branch": "debian-0.8.0",
"hashtags": [],
"change_id": "I55e65084eb5444a03e63cc479f9f3b72cf07a146",
"subject": "Debianize Kafka",
"status": "MERGED",
"created": "2013-12-04 15:45:29.000000000",
"updated": "2013-12-04 16:03:43.000000000",
"submittable": false,
"insertions": 1044,
"deletions": 0,
"_number": 99101,
"owner": {
  "_account_id": 55,
  "name": "Ottomata",
  "email": "aotto@wikimedia.org",
  "username": "otto"
},
"labels": {
  "Verified": {
    "all": [
      {
        "value": 0,
        "date": "2013-12-04 16:03:43.000000000",
        "_account_id": 75,
        "name": "jenkins-bot",
        "email": "",
        "username": "jenkins-bot"
      }
    ],
    "values": {
      "-1": "Fails",
      " 0": "No score",
      "+1": "Checked",
      "+2": "Verified"
    },
    "default_value": 0
  }
},
"permitted_labels": {},
"removable_reviewers": [],
"reviewers": {
  "REVIEWER": [
    {
      "_account_id": 75,
      "name": "jenkins-bot",
      "email": "",
      "username": "jenkins-bot"
    }
  ]
},
"reviewer_updates": [],
"messages": [
  {
    "id": "0ee75395_dccd178b",
    "author": {
      "_account_id": 75,
      "name": "jenkins-bot",
      "email": "",
      "username": "jenkins-bot"
    },
    "date": "2013-12-04 15:45:59.000000000",
    "message": "Patch Set 1: Verified+2\n\nBuild succeeded.\n\n- https://integration.wikimedia.org/ci/job/operations-debs-kafka-debian-glue/5/console : FAILURE in 9s (non-voting)",
    "_revision_number": 1
  },
  {
    "id": "0ee75395_5c33475f",
    "author": {
      "_account_id": 55,
      "name": "Ottomata",
      "email": "aotto@wikimedia.org",
      "username": "otto"
    },
    "date": "2013-12-04 15:52:07.000000000",
    "message": "Change has been successfully pushed.",
    "_revision_number": 2
  },
  {
    "id": "0ee75395_7c304b53",
    "author": {
      "_account_id": 55,
      "name": "Ottomata",
      "email": "aotto@wikimedia.org",
      "username": "otto"
    },
    "date": "2013-12-04 15:52:07.000000000",
    "message": "Uploaded patch set 2.",
    "_revision_number": 2
  },
  {
    "id": "0ee75395_dc53d76d",
    "author": {
      "_account_id": 75,
      "name": "jenkins-bot",
      "email": "",
      "username": "jenkins-bot"
    },
    "date": "2013-12-04 16:03:43.000000000",
    "message": "Patch Set 2:\n\nBuild succeeded.\n\n- https://integration.wikimedia.org/ci/job/operations-debs-kafka-debian-glue/33/console : FAILURE in 4m 36s (non-voting)",
    "_revision_number": 2
  }
]

}

I have found a possible fix at https://gerrit-review.googlesource.com/#/c/91760/ which i cherry picked to https://gerrit-review.googlesource.com/#/c/105152/

This https://github.com/GerritCodeReview/gerrit/commit/5fadbc91d227e559a5409c1f19098677259db5dc also looks like another fix though not really sure and was not back ported to 2.13.

It's trying to work out what to put in "kind":

https://github.com/GerritCodeReview/gerrit/blob/stable-2.13/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeJson.java#L1000

CC @Ottomata as that change is his. owner "_account_id": 55 is Ottomata

CC @Ottomata as that change is his. owner "_account_id": 55 is Ottomata

@Paladox: What exactly do you expect from Ottomata that made you CC him here? How is it relevant for this Gerrit bug that he is the change owner?
Please generally explain actions.

CC @Ottomata as that change is his. owner "_account_id": 55 is Ottomata

@Paladox: What exactly do you expect from Ottomata that made you CC him here? How is it relevant for this Gerrit bug that he is the change owner?
Please generally explain actions.

Hi, i used the rest api to find the change you say results in 500. It shows him as the author of the change. Per https://phabricator.wikimedia.org/T161206#3223826 I point expect him to do anything but just cc him as the patch is his and is not loading.

[offtopic]
@Paladox: My question was why you CC'ed the patch author here and what you expect from the patch author by CC'ing him. (If you don't expect the patch author to do anything here then you just deliberately decided to spam the patch author with useless notifications from this very task. Which would not be a constructive action at all.)

Paladox removed a subscriber: Ottomata.Apr 30 2017, 5:46 PM

Oh ok sorry i will remove him then. I wasent trying to spam anyone.

I created this fix https://gerrit-review.googlesource.com/#/c/110055/ that should fix it. I am unsure if there planning on any more gerrit 2.13 release so we can fix this either by building gerrit 2.13 by the branch or waiting to upgrade to 2.14.

Paladox claimed this task.Jun 14 2017, 12:47 PM
Paladox moved this task from Reported Upstream to Patch proposed upstream on the Upstream board.
Aklapper triaged this task as Low priority.Jun 14 2017, 1:31 PM

Making this a subtask to T156120 since gerrit 2.13 will have no more releases and they did not back port it to the 2.13 branch either.

No, this is not a subtask - it is exactly the other way round (subtasks need to get resolved before parent tasks can be resolved)... :)

Oh i see. It was confusing which way. But i see now.

Mentioned in SAL (#wikimedia-operations) [2017-06-21T21:44:16Z] <RainbowSprinkles> cobalt: updated to 2.13.8-11-gde96955fb2 (T168360, T161206)

Dzahn added a subscriber: Dzahn.Jun 21 2017, 10:05 PM

Let's get back to the actual issue instead of the meta-discussion. Here is the problem:

1==> error_log <==
2[2017-06-21 22:02:06,327] [HTTP-103] ERROR com.google.gerrit.httpd.restapi.RestApiServlet : Error in GET /r/changes/99101/detail?O=10004
3com.google.common.util.concurrent.UncheckedExecutionException: java.lang.ArrayIndexOutOfBoundsException: 0
4 at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2207)
5 at com.google.common.cache.LocalCache.get(LocalCache.java:3953)
6 at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4790)
7 at com.google.gerrit.server.cache.h2.H2CacheImpl.get(H2CacheImpl.java:139)
8 at com.google.gerrit.server.change.ChangeKindCacheImpl.getChangeKind(ChangeKindCacheImpl.java:329)
9 at com.google.gerrit.server.change.ChangeKindCacheImpl.getChangeKindInternal(ChangeKindCacheImpl.java:378)
10 at com.google.gerrit.server.change.ChangeKindCacheImpl.getChangeKind(ChangeKindCacheImpl.java:346)
11 at com.google.gerrit.server.change.ChangeJson.toRevisionInfo(ChangeJson.java:1000)
12 at com.google.gerrit.server.change.ChangeJson.revisions(ChangeJson.java:939)
13 at com.google.gerrit.server.change.ChangeJson.toChangeInfo(ChangeJson.java:499)
14 at com.google.gerrit.server.change.ChangeJson.format(ChangeJson.java:262)
15 at com.google.gerrit.server.change.ChangeJson.format(ChangeJson.java:253)
16 at com.google.gerrit.server.change.ChangeJson.format(ChangeJson.java:231)
17 at com.google.gerrit.server.change.GetChange.apply(GetChange.java:50)
18 at com.google.gerrit.server.change.GetDetail.apply(GetDetail.java:51)
19 at com.google.gerrit.server.change.GetDetail.apply(GetDetail.java:26)
20 at com.google.gerrit.httpd.restapi.RestApiServlet.service(RestApiServlet.java:334)
21 at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
22 at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:286)
23 at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276)
24 at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181)
25 at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
26 at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
27 at com.google.gerrit.httpd.GetUserFilter.doFilter(GetUserFilter.java:82)
28 at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
29 at com.google.gerrit.httpd.RequireSslFilter.doFilter(RequireSslFilter.java:77)
30 at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
31 at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:73)
32 at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
33 at com.google.gerrit.httpd.RunAsFilter.doFilter(RunAsFilter.java:122)
34 at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
35 at com.google.gerrit.httpd.RequestMetricsFilter.doFilter(RequestMetricsFilter.java:60)
36 at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
37 at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:136)
38 at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:138)
39 at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
40 at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:75)
41 at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
42 at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
43 at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)
44 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
45 at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
46 at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
47 at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
48 at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
49 at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
50 at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
51 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
52 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
53 at org.eclipse.jetty.server.Server.handle(Server.java:499)
54 at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
55 at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
56 at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
57 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
58 at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
59 at java.lang.Thread.run(Thread.java:748)
60Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
61 at org.eclipse.jgit.revwalk.RevCommit.getParent(RevCommit.java:353)
62 at com.google.gerrit.server.change.ChangeKindCacheImpl$Loader.sameFirstParents(ChangeKindCacheImpl.java:261)
63 at com.google.gerrit.server.change.ChangeKindCacheImpl$Loader.onlyFirstParentChanged(ChangeKindCacheImpl.java:254)
64 at com.google.gerrit.server.change.ChangeKindCacheImpl$Loader.call(ChangeKindCacheImpl.java:226)
65 at com.google.gerrit.server.change.ChangeKindCacheImpl$Loader.call(ChangeKindCacheImpl.java:192)
66 at com.google.gerrit.server.cache.h2.H2CacheImpl$LoadingCallable.call(H2CacheImpl.java:283)
67 at com.google.gerrit.server.cache.h2.H2CacheImpl$LoadingCallable.call(H2CacheImpl.java:265)
68 at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4793)
69 at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3542)
70 at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2323)
71 at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2286)
72 at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201)
73 ... 55 more
74^C

@Paladox: My question was why you CC'ed the patch author here

What's so strange about adding the person who wrote the patch to tell them it can't be accessed and there is a ticket about it already. I would have done the same.

@Dzahn thanks for the trace back :).

I've created this https://gerrit-review.googlesource.com/#/c/110970/ other change I'm hopping will fix this. This one has a better chance as the stack trace above is leading us to a line covered by next.getParent

The change on GitHub is https://github.com/wikimedia/operations-debs-kafka/commit/dbed4e47a6df5028263d62eb6ec97daa5883f8d8

it has no parents and looks like there's two patchset.

Ah, running https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#check-change results in

"problems": [
  {
    "message": "Destination ref not found (may be new branch): refs/heads/debian-0.8.0"
  }
]

This is not resolved in 2.14. And most likly won't as it probaly hit a bug in a very old gerrit release that was fixed in a newer gerrit release to prevent that bug.

This is not resolved in 2.14. And most likly won't as it probaly hit a bug in a very old gerrit release that was fixed in a newer gerrit release to prevent that bug.

Should this task be closed then?

@TerraCodes nope, I spoke with Dave from google in Gerrit about this task who kindly had a look at my propose change, he uploaded a cleaner looking change https://gerrit-review.googlesource.com/c/gerrit/+/166310

Which he said may fix this.

The issue is this change seems to have lost all of its parents so that change will most likely fix this problem.