jenkinsci / jenkinsci/gerrit-trigger-plugin

[JENKINS-72373] gerrit-trigger plugin failing to trigger when Forbidden file are specified

Open
#984 3 comments 0 reactions 0 assignees View on GitHub
component:gerrit-trigger-plugin imported-jira-issue priority:minor resolution:unresolved
Dominant language
Java
Stars
226
Forks
289
PR merge metrics
No merged PRs in 30d

Description

When using Gerrit 3.8.2, I get this error when I have Forbidden Files specified. This is working fine when using Gerrit 3.7.2

When notifying listener: com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.EventListener@​cf8622bc about event: PatchsetCreated: Change-Id for #34562: I10660db85ff8e5f3f61ac51b6b25d653c8912141 PatchSet: 12

Nov 27, 2023 10:57:06 AM SEVERE com.sonymobile.tools.gerrit.gerritevents.GerritHandler notifyListenersNotify-error:
java.lang.NullPointerException
at java.base/java.util.ArrayList.(ArrayList.java:179)
at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.GerritProject.isInterestingFile(GerritProject.java:276)
at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.GerritProject.isInteresting(GerritProject.java:228)
at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger.isChangeInteresting(GerritTrigger.java:956)
at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger.isChangeBasedEventInteresting(GerritTrigger.java:1049)
at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger.isInteresting(GerritTrigger.java:1165)
at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.EventListener.gerritEvent(EventListener.java:127)
at com.sonymobile.tools.gerrit.gerritevents.GerritHandler.notifyListener(GerritHandler.java:592)
at com.sonymobile.tools.gerrit.gerritevents.GerritHandler.notifyListeners(GerritHandler.java:559)
at com.sonyericsson.hudson.plugins.gerrit.trigger.JenkinsAwareGerritHandler.notifyListeners(JenkinsAwareGerritHandler.java:80)
at com.sonymobile.tools.gerrit.gerritevents.workers.AbstractGerritEventWork.perform(AbstractGerritEventWork.java:46)
at com.sonymobile.tools.gerrit.gerritevents.workers.AbstractJsonObjectWork.perform(AbstractJsonObjectWork.java:77)
at com.sonymobile.tools.gerrit.gerritevents.workers.StreamEventsStringWork.perform(StreamEventsStringWork.java:74)
at com.sonymobile.tools.gerrit.gerritevents.GerritHandler$EventWorker.workEvent(GerritHandler.java:337)
at com.sonymobile.tools.gerrit.gerritevents.GerritHandler$EventWorker.run(GerritHandler.java:319)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

 

the call to change.getFiles(gerritQueryHandler) is returning null I think or something like that

 

        if (isFileTriggerEnabled() && containsFilePathsOrForbiddenFilePaths) {             if (project.isInteresting(change.getProject(), change.getBranch(), change.getTopic(),                     () -> change.getFiles(gerritQueryHandler))) {                 shouldTrigger = true;             }         } else {             if (project.isInteresting(change.getProject(), change.getBranch(), change.getTopic())) {                 shouldTrigger = true;             }         }

 

---
Originally reported by ldube, imported from: gerrit-trigger plugin failing to trigger when Forbidden file are specified


  • assignee: rsandell
  • status: Open
  • priority: Minor
  • component(s): gerrit-trigger-plugin
  • resolution: Unresolved
  • votes: 0
  • watchers: 2
  • imported: 2025-12-07

Raw content of original issue

When using Gerrit 3.8.2, I get this error when I have Forbidden Files specified. This is working fine when using Gerrit 3.7.2



When notifying listener: com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.EventListener@cf8622bc about event: PatchsetCreated: Change-Id for #34562: I10660db85ff8e5f3f61ac51b6b25d653c8912141 PatchSet: 12

Nov 27, 2023 10:57:06 AM SEVERE com.sonymobile.tools.gerrit.gerritevents.GerritHandler notifyListenersNotify-error:
java.lang.NullPointerException
at java.base/java.util.ArrayList.<init>(ArrayList.java:179)
at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.GerritProject.isInterestingFile(GerritProject.java:276)
at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.GerritProject.isInteresting(GerritProject.java:228)
at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger.isChangeInteresting(GerritTrigger.java:956)
at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger.isChangeBasedEventInteresting(GerritTrigger.java:1049)
at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger.isInteresting(GerritTrigger.java:1165)
at com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.EventListener.gerritEvent(EventListener.java:127)
at com.sonymobile.tools.gerrit.gerritevents.GerritHandler.notifyListener(GerritHandler.java:592)
at com.sonymobile.tools.gerrit.gerritevents.GerritHandler.notifyListeners(GerritHandler.java:559)
at com.sonyericsson.hudson.plugins.gerrit.trigger.JenkinsAwareGerritHandler.notifyListeners(JenkinsAwareGerritHandler.java:80)
at com.sonymobile.tools.gerrit.gerritevents.workers.AbstractGerritEventWork.perform(AbstractGerritEventWork.java:46)
at com.sonymobile.tools.gerrit.gerritevents.workers.AbstractJsonObjectWork.perform(AbstractJsonObjectWork.java:77)
at com.sonymobile.tools.gerrit.gerritevents.workers.StreamEventsStringWork.perform(StreamEventsStringWork.java:74)
at com.sonymobile.tools.gerrit.gerritevents.GerritHandler$EventWorker.workEvent(GerritHandler.java:337)
at com.sonymobile.tools.gerrit.gerritevents.GerritHandler$EventWorker.run(GerritHandler.java:319)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)


 

the call to change.getFiles(gerritQueryHandler) is returning null I think or something like that
 



        if (isFileTriggerEnabled() && containsFilePathsOrForbiddenFilePaths) {             if (project.isInteresting(change.getProject(), change.getBranch(), change.getTopic(),                     () -> change.getFiles(gerritQueryHandler))) {                 shouldTrigger = true;             }         } else {             if (project.isInteresting(change.getProject(), change.getBranch(), change.getTopic())) {                 shouldTrigger = true;             }         }


 

2 attachments

- [filePath.png](https://issues.jenkins.io/secure/attachment/62747/filePath.png)
> ![filePath.png](https://issues.jenkins.io/secure/attachment/62747/filePath.png)
- [image-2023-11-27-11-08-40-111.png](https://issues.jenkins.io/secure/attachment/61619/image-2023-11-27-11-08-40-111.png)
> ![image-2023-11-27-11-08-40-111.png](https://issues.jenkins.io/secure/attachment/61619/image-2023-11-27-11-08-40-111.png)

Contributor guide

Open the contributing guide

Research direction

Start at GerritTrigger.isChangeInteresting and follow the change.getFiles(gerritQueryHandler) callback into GerritProject.isInterestingFile, where the stack trace reports the failure at line 276. Reproduce the PatchsetCreated case with Forbidden Files on Gerrit 3.8.2 and verify that file filtering no longer throws a NullPointerException and evaluates the trigger correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
ci-cd, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.