Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-5406

Downstream-Ext: SCM polling (Perforce) hangs for project with a build in progress

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      Just ran into a problem with downstream-ext 1.3, Hudson 1.342, Perforce plugin 1.0.17.

      I have a build X which I have set to trigger builds A, B, and C on success, but only if there are SCM changes. A, B, and C is the order that the downstream jobs are tested for SCM changes when I look at the logs.

      The problem is that when build B is already running, the polling appears to hang for job B. After many minutes, I aborted the job, which generated in the logs:

      FATAL: SCM polling aborted
      java.lang.InterruptedException
      	at java.lang.Object.wait(Native Method)
      	at java.lang.Object.wait(Object.java:485)
      	at hudson.slaves.WorkspaceList.acquire(WorkspaceList.java:173)
      	at hudson.model.AbstractProject.pollSCMChanges(AbstractProject.java:1062)
      	at hudson.plugins.downstream_ext.DownstreamDependency.shouldTriggerBuild(DownstreamDependency.java:38)
      	at hudson.tasks.BuildTrigger.execute(BuildTrigger.java:187)
      	at hudson.model.Build$RunnerImpl.cleanUp(Build.java:160)
      	at hudson.model.Run.run(Run.java:1240)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      	at hudson.model.ResourceController.execute(ResourceController.java:88)
      	at hudson.model.Executor.run(Executor.java:122)
      Job-B has no SCM changes. Triggering skipped.
      

      The polling for C then proceeded without incident. This happened on two consecutive builds, so that's enough for me to not call it a random failure.

      Build B is a very long-running build... I haven't yet run into the situation where A or C were running at the time of the completion of X.

        Attachments

          Activity

          Hide
          kutzi kutzi added a comment -

          Seems like the perforce plugin needs and locks the workspace for polling.
          Don't know if that's by design or if the perforce plugin developer just didn't override the respective method in SCM.

          However, there are obviously some SCMs which need to lock the workspace for SCM polling.
          So the alternatives for downstream-ext are:

          • wait for the workspace to be available - i.e. all builds are finished for that job
          • timeout the SCM polling after a given time

          I think the 'correct' way to do it, is to wait for B to finish, so I'd say that it works as designed.
          Maybe I could make it configurable, but I really don't want to add to much configuration options, because it makes using the plugin more complicated.

          Show
          kutzi kutzi added a comment - Seems like the perforce plugin needs and locks the workspace for polling. Don't know if that's by design or if the perforce plugin developer just didn't override the respective method in SCM. However, there are obviously some SCMs which need to lock the workspace for SCM polling. So the alternatives for downstream-ext are: wait for the workspace to be available - i.e. all builds are finished for that job timeout the SCM polling after a given time I think the 'correct' way to do it, is to wait for B to finish, so I'd say that it works as designed. Maybe I could make it configurable, but I really don't want to add to much configuration options, because it makes using the plugin more complicated.
          Hide
          kutzi kutzi added a comment -

          I just thought about another option. This is what downstream-ext could do:

          1) check if the SCM needs workspace locking
          2a) if not continue as currently
          2b) if it does, then:
          3) check if there's a build running
          4a) if not continue as currently
          4b) if it is then schedule an asynchronous SCM check (just like the ones which are run by the normal SCM Trigger)

          This has 2 obvious disadvantages:

          • If 4b happens, the build cause of B won't indicate that it was triggered by X
          • there's a race condition in between 3 and 4a: it can happen that a build starts just after if checked 3, but before I do the synchronous SCM polling in 4a. So it could happen again that it blocks.

          Let me know what you think about the options.

          Show
          kutzi kutzi added a comment - I just thought about another option. This is what downstream-ext could do: 1) check if the SCM needs workspace locking 2a) if not continue as currently 2b) if it does, then: 3) check if there's a build running 4a) if not continue as currently 4b) if it is then schedule an asynchronous SCM check (just like the ones which are run by the normal SCM Trigger) This has 2 obvious disadvantages: If 4b happens, the build cause of B won't indicate that it was triggered by X there's a race condition in between 3 and 4a: it can happen that a build starts just after if checked 3, but before I do the synchronous SCM polling in 4a. So it could happen again that it blocks. Let me know what you think about the options.
          Hide
          oeuftete oeuftete added a comment -

          I'm sorry, I don't quite follow the explanations clearly. Is there a problem with the perforce plugin here unnecessarily locking the workspace, preventing the polling operation? Checking for new changes shouldn't have any impact on a workspace where a build is in progress. If it's the Perforce plugin's fault, can an issue be opened against it?

          For the general case, I don't have an opinion on how to deal with it... this plugin is maybe just not a good fit where the workspace does need to be locked? Actually, I'd maybe make a new 4b "add another build to the queue without polling" and accept that limitation. Or maybe have choosing between your method and my proposal as an advanced option.

          Anyway, I think you understand the problem better than I do. I'm just a user who wants this very useful extension to just work.

          Show
          oeuftete oeuftete added a comment - I'm sorry, I don't quite follow the explanations clearly. Is there a problem with the perforce plugin here unnecessarily locking the workspace, preventing the polling operation? Checking for new changes shouldn't have any impact on a workspace where a build is in progress. If it's the Perforce plugin's fault, can an issue be opened against it? For the general case, I don't have an opinion on how to deal with it... this plugin is maybe just not a good fit where the workspace does need to be locked? Actually, I'd maybe make a new 4b "add another build to the queue without polling" and accept that limitation. Or maybe have choosing between your method and my proposal as an advanced option. Anyway, I think you understand the problem better than I do. I'm just a user who wants this very useful extension to just work.
          Hide
          kutzi kutzi added a comment -

          There a 2 different issues - whereby I don't know if the 1st one is actually an issue:

          a) there are some SCMs (like CVS) which need to lock the workspace to check for updates. As I don't know Perforce, I don't know if this is a 'technical' requirement for Perforce, too. I can only see that it is 'implemented' this way in the Perforce plugin for Hudson.
          If you think that that's wrong, you should open an issue against the Perforce plugin.

          b) the downstream-plugin blocks if the downstream job need workspace locking and is currently blocking. This is this issue about.

          Actually, I'm currently going with a much simpler solution:

          • for jobs which don't need locking, continue as before
          • for jobs which need locking, schedule an asynchronous poll
          Show
          kutzi kutzi added a comment - There a 2 different issues - whereby I don't know if the 1st one is actually an issue: a) there are some SCMs (like CVS) which need to lock the workspace to check for updates. As I don't know Perforce, I don't know if this is a 'technical' requirement for Perforce, too. I can only see that it is 'implemented' this way in the Perforce plugin for Hudson. If you think that that's wrong, you should open an issue against the Perforce plugin. b) the downstream-plugin blocks if the downstream job need workspace locking and is currently blocking. This is this issue about. Actually, I'm currently going with a much simpler solution: for jobs which don't need locking, continue as before for jobs which need locking, schedule an asynchronous poll
          Hide
          kutzi kutzi added a comment -

          BTW: as far as I don't like to have bugs in the plugin, it's at least nice to see that someone else is using my plugin
          So, thanks for reporting this.

          Show
          kutzi kutzi added a comment - BTW: as far as I don't like to have bugs in the plugin, it's at least nice to see that someone else is using my plugin So, thanks for reporting this.
          Hide
          oeuftete oeuftete added a comment -

          I've opened JENKINS-5545 to sort out whether the perforce plugin is behaving properly.

          Show
          oeuftete oeuftete added a comment - I've opened JENKINS-5545 to sort out whether the perforce plugin is behaving properly.
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in hudson
          User: : kutzi
          Path:
          trunk/hudson/plugins/downstream-ext/src/main/java/hudson/plugins/downstream_ext/DownstreamDependency.java
          trunk/hudson/plugins/downstream-ext/src/main/resources/hudson/plugins/downstream_ext/Messages.properties
          trunk/hudson/plugins/downstream-ext/src/main/resources/hudson/plugins/downstream_ext/Messages_de.properties
          http://jenkins-ci.org/commit/27138
          Log:
          [FIXED JENKINS-5406] upstream project can block if downstream's SCM needs to lock the workspace for polling

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : kutzi Path: trunk/hudson/plugins/downstream-ext/src/main/java/hudson/plugins/downstream_ext/DownstreamDependency.java trunk/hudson/plugins/downstream-ext/src/main/resources/hudson/plugins/downstream_ext/Messages.properties trunk/hudson/plugins/downstream-ext/src/main/resources/hudson/plugins/downstream_ext/Messages_de.properties http://jenkins-ci.org/commit/27138 Log: [FIXED JENKINS-5406] upstream project can block if downstream's SCM needs to lock the workspace for polling
          Hide
          oeuftete oeuftete added a comment -

          I hope you don't mind me re-opening this. I just installed this this morning, and I believe there's a flaw in the logic. In most of my use cases, the downstream jobs do not have SCM polling configured – they are only triggered by the upstream job.

          So the current fix schedules polling for the downstream job... polling that will never happen.

          Show
          oeuftete oeuftete added a comment - I hope you don't mind me re-opening this. I just installed this this morning, and I believe there's a flaw in the logic. In most of my use cases, the downstream jobs do not have SCM polling configured – they are only triggered by the upstream job. So the current fix schedules polling for the downstream job... polling that will never happen.
          Hide
          kutzi kutzi added a comment -

          Good point. Did you actually try it and see that it is really a problem?
          I believe you that this is definitely a potential problem, I only want to know if it has currently really practical impacts.

          Show
          kutzi kutzi added a comment - Good point. Did you actually try it and see that it is really a problem? I believe you that this is definitely a potential problem, I only want to know if it has currently really practical impacts.
          Hide
          oeuftete oeuftete added a comment -

          Yes, I actually experienced this this morning. Sorry, I see now I did not make that clear.

          Show
          oeuftete oeuftete added a comment - Yes, I actually experienced this this morning. Sorry, I see now I did not make that clear.
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in hudson
          User: : kutzi
          Path:
          trunk/hudson/plugins/downstream-ext/src/main/java/hudson/plugins/downstream_ext/DownstreamDependency.java
          http://jenkins-ci.org/commit/27214
          Log:
          [FIXED JENKINS-5406] upstream project can block if downstream's SCM needs to lock the workspace for polling - this time hopefully fixed it for real

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : kutzi Path: trunk/hudson/plugins/downstream-ext/src/main/java/hudson/plugins/downstream_ext/DownstreamDependency.java http://jenkins-ci.org/commit/27214 Log: [FIXED JENKINS-5406] upstream project can block if downstream's SCM needs to lock the workspace for polling - this time hopefully fixed it for real
          Hide
          kutzi kutzi added a comment -

          I've changed it that it should hopefully work now.
          Sorry, I currently have no way to test it easily.

          1.5 is just in the release process

          Show
          kutzi kutzi added a comment - I've changed it that it should hopefully work now. Sorry, I currently have no way to test it easily. 1.5 is just in the release process
          Hide
          oeuftete oeuftete added a comment - - edited

          It still doesn't appear to work. In the build log for the upstream job:

          Scheduled an asynchronous SCM poll for Non_poller_1. Project will be started later if applicable. 
          Scheduled an asynchronous SCM poll for Non_poller_2. Project will be started later if applicable. 
          Finished: SUCCESS
          

          In the Hudson log:

          Feb 10, 2010 5:58:20 PM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner 
          INFO: Using remote perforce client: hudson-Non_poller_1-SLAVE
          
          Feb 10, 2010 5:58:20 PM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner 
          INFO: Looking for changes...
          

          A build for Non_poller_1 was not triggered although there were outstanding changes. I don't see anything in the overall Hudson log that indicates Non_poller_2 was checked at all.

          Neither Non_poller job was running at the time.

          Show
          oeuftete oeuftete added a comment - - edited It still doesn't appear to work. In the build log for the upstream job: Scheduled an asynchronous SCM poll for Non_poller_1. Project will be started later if applicable. Scheduled an asynchronous SCM poll for Non_poller_2. Project will be started later if applicable. Finished: SUCCESS In the Hudson log: Feb 10, 2010 5:58:20 PM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner INFO: Using remote perforce client: hudson-Non_poller_1-SLAVE Feb 10, 2010 5:58:20 PM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner INFO: Looking for changes... A build for Non_poller_1 was not triggered although there were outstanding changes. I don't see anything in the overall Hudson log that indicates Non_poller_2 was checked at all. Neither Non_poller job was running at the time.
          Hide
          kutzi kutzi added a comment -

          Sorry for this, I'll add some more logging so we can see better what's going on and I'll see if I can somehow reproduce it.

          Show
          kutzi kutzi added a comment - Sorry for this, I'll add some more logging so we can see better what's going on and I'll see if I can somehow reproduce it.
          Hide
          kutzi kutzi added a comment -

          Would be great if you could try to use the attached build of the plugin.
          It adds some more logging and it also fixes an issue I found, but I'm not sure if it will help in your case.

          BTW: do you use a 'special' type of jobs (e.g. Matrix or parametrized) or just 'normal' freestyle or maven

          Show
          kutzi kutzi added a comment - Would be great if you could try to use the attached build of the plugin. It adds some more logging and it also fixes an issue I found, but I'm not sure if it will help in your case. BTW: do you use a 'special' type of jobs (e.g. Matrix or parametrized) or just 'normal' freestyle or maven
          Hide
          oeuftete oeuftete added a comment -

          Thanks. I will try to test it, but I may not get to it until next week some time.

          I don't use matrix or parametrized builds... I'm only using downstream-ext with freestyle builds at the moment.

          Show
          oeuftete oeuftete added a comment - Thanks. I will try to test it, but I may not get to it until next week some time. I don't use matrix or parametrized builds... I'm only using downstream-ext with freestyle builds at the moment.
          Hide
          oeuftete oeuftete added a comment -

          All right, I made time. As far as I can tell, it works very well now. I tried:

          • Change in the downstream job (build triggered correctly)
          • No change in the downstream job (no build triggered correctly)
          • No change in the downstream job, but downstream in progress (PollRunner triggered once in-progress build completed, no build triggered correctly)

          So... looks good!

          Show
          oeuftete oeuftete added a comment - All right, I made time. As far as I can tell, it works very well now. I tried: Change in the downstream job (build triggered correctly) No change in the downstream job (no build triggered correctly) No change in the downstream job, but downstream in progress (PollRunner triggered once in-progress build completed, no build triggered correctly) So... looks good!
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in hudson
          User: : kutzi
          Path:
          trunk/hudson/plugins/downstream-ext/pom.xml
          trunk/hudson/plugins/downstream-ext/src/main/java/hudson/plugins/downstream_ext/DownstreamDependency.java
          trunk/hudson/plugins/downstream-ext/src/main/java/hudson/plugins/downstream_ext/DownstreamTrigger.java
          trunk/hudson/plugins/downstream-ext/src/test/java/hudson/plugins/downstream_ext/AsynchPollingTest.java
          http://jenkins-ci.org/commit/27454
          Log:
          JENKINS-5406 make sure polling happens in at most one thread per downstream project. Added test case

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : kutzi Path: trunk/hudson/plugins/downstream-ext/pom.xml trunk/hudson/plugins/downstream-ext/src/main/java/hudson/plugins/downstream_ext/DownstreamDependency.java trunk/hudson/plugins/downstream-ext/src/main/java/hudson/plugins/downstream_ext/DownstreamTrigger.java trunk/hudson/plugins/downstream-ext/src/test/java/hudson/plugins/downstream_ext/AsynchPollingTest.java http://jenkins-ci.org/commit/27454 Log: JENKINS-5406 make sure polling happens in at most one thread per downstream project. Added test case
          Hide
          oeuftete oeuftete added a comment -

          I deployed that snapshot to my production installation, and it doesn't seem to be triggering builds (with SCM polling off) that do have SCM changes. For those, I see this in the Hudson log:

          Feb 16, 2010 1:48:57 PM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner 
          INFO: Using remote perforce client: hudson-jobname-SLAVENAME
          
          Feb 16, 2010 1:48:57 PM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner 
          INFO: Looking for changes...
          

          That doesn't seem complete to me.

          For downstream jobs with no SCM polling, and there are no changes, I see what looks like a complete sequences (although it's not possible to separate out what log message goes with which job when I'm triggering more than one downstream job... would be nice if all of the log messages references the job being polled.)

          Show
          oeuftete oeuftete added a comment - I deployed that snapshot to my production installation, and it doesn't seem to be triggering builds (with SCM polling off) that do have SCM changes. For those, I see this in the Hudson log: Feb 16, 2010 1:48:57 PM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner INFO: Using remote perforce client: hudson-jobname-SLAVENAME Feb 16, 2010 1:48:57 PM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner INFO: Looking for changes... That doesn't seem complete to me. For downstream jobs with no SCM polling, and there are no changes, I see what looks like a complete sequences (although it's not possible to separate out what log message goes with which job when I'm triggering more than one downstream job... would be nice if all of the log messages references the job being polled.)
          Hide
          kutzi kutzi added a comment -

          I've attached a new snapshot which adds more logging info.

          Show
          kutzi kutzi added a comment - I've attached a new snapshot which adds more logging info.
          Hide
          kutzi kutzi added a comment -

          Did you already have the time to look at it again?

          Show
          kutzi kutzi added a comment - Did you already have the time to look at it again?
          Hide
          oeuftete oeuftete added a comment -

          I've been on vacation recently. I'll try to test your latest attachment soon (probably later this week, after I catch up on work.)

          Show
          oeuftete oeuftete added a comment - I've been on vacation recently. I'll try to test your latest attachment soon (probably later this week, after I catch up on work.)
          Hide
          kutzi kutzi added a comment -

          I'll be on vacation myself from this Friday until next Friday, so take your time.

          BTW: your help is greatly appreciated!

          Show
          kutzi kutzi added a comment - I'll be on vacation myself from this Friday until next Friday, so take your time. BTW: your help is greatly appreciated!
          Hide
          oeuftete oeuftete added a comment -

          As far as I can tell, I'm not seeing any difference in the logs or behaviour with the snapshot from Feb. 17.

          Show
          oeuftete oeuftete added a comment - As far as I can tell, I'm not seeing any difference in the logs or behaviour with the snapshot from Feb. 17.
          Hide
          kutzi kutzi added a comment -

          That's really strange. Maybe something went wrong while creating the attachment. There should be definitely more logging.

          I've attached a freshly build artifact.

          Show
          kutzi kutzi added a comment - That's really strange. Maybe something went wrong while creating the attachment. There should be definitely more logging. I've attached a freshly build artifact.
          Hide
          oeuftete oeuftete added a comment -

          I'm getting more logs now. It looks to me like things generally work. Below are logs from after a parent job ran. It was set to run 4 downstream projects, only if there were SCM changes. In this case, there were no downstream changes. There were two Perforce commands that failed. In the end, no jobs were triggered, but I wonder if this is by accident for the jobs that had the Perforce command failures. I was able to reproduce this behaviour. The Perforce plugin works fine for me in general.

          Hopefully this is useful. I'll keep playing around with your plugin.

          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run
          INFO: Polling for SCM changes in Downstream_D
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Looking for changes...
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Using master perforce client: hudson-Downstream_D
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: [workspace] $ "C:\Program Files\Perforce\p4.exe" workspace -o hudson-Downstream_D
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run
          INFO: Polling for SCM changes in Downstream_C
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run
          INFO: Polling for SCM changes in Downstream_A
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Looking for changes...
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Using master perforce client: hudson-Downstream_C
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: [workspace] $ "C:\Program Files\Perforce\p4.exe" workspace -o hudson-Downstream_C
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run
          INFO: Polling for SCM changes in Downstream_B
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Looking for changes...
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Last sync'd change was 2719456
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: [workspace] $ "C:\Program Files\Perforce\p4.exe" changes -m 2 //hudson-Downstream_C/...
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Last sync'd change was 2719456
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: [workspace] $ "C:\Program Files\Perforce\p4.exe" changes -m 2 //hudson-Downstream_D/...
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Using remote perforce client: hudson-Downstream_B--234247446
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Caught Exception communicating with perforce.Could not run perforce command.
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: FATAL: Unable to communicate with perforce.  Check log file for: Could not run perforce command.
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: [8mha:AAAAVx+LCAAAAAAAAABb85aBtbiIQSmjNKU4P08vOT+vOD8nVc8DzHWtSE4tKMnMz/PLL0m1W6NqK7pC2JmJgaGiiEEKTYMzhAYpZIAARpDCAgBF2FTYYAAAAA==[0mjava.io.IOException: Unable to communicate with perforce.  Check log file for: Could not run perforce command.
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at hudson.plugins.perforce.PerforceSCM.pollChanges(PerforceSCM.java:654)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at hudson.scm.SCM.poll(SCM.java:370)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at hudson.model.AbstractProject.poll(AbstractProject.java:1153)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at hudson.model.AbstractProject.pollSCMChanges(AbstractProject.java:1076)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at hudson.plugins.downstream_ext.DownstreamDependency$PollRunner.run(DownstreamDependency.java:110)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at java.lang.Thread.run(Thread.java:619)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run
          INFO: Downstream_B has no SCM changes. Triggering skipped.
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Latest submitted change selected by workspace is 2719456
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Looking for changes...
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Assuming that the workspace definition has not changed.
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run
          INFO: Downstream_D has no SCM changes. Triggering skipped.
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Latest submitted change selected by workspace is 2719456
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Assuming that the workspace definition has not changed.
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run
          INFO: Downstream_C has no SCM changes. Triggering skipped.
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Using remote perforce client: hudson-Downstream_A-1207745635
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: Caught Exception communicating with perforce.Could not run perforce command.
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: FATAL: Unable to communicate with perforce.  Check log file for: Could not run perforce command.
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: [8mha:AAAAVx+LCAAAAAAAAABb85aBtbiIQSmjNKU4P08vOT+vOD8nVc8DzHWtSE4tKMnMz/PLL0m1W6NqK7pC2JmJgaGiiEEKTYMzhAYpZIAARpDCAgBF2FTYYAAAAA==[0mjava.io.IOException: Unable to communicate with perforce.  Check log file for: Could not run perforce command.
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at hudson.plugins.perforce.PerforceSCM.pollChanges(PerforceSCM.java:654)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at hudson.scm.SCM.poll(SCM.java:370)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at hudson.model.AbstractProject.poll(AbstractProject.java:1153)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at hudson.model.AbstractProject.pollSCMChanges(AbstractProject.java:1076)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at hudson.plugins.downstream_ext.DownstreamDependency$PollRunner.run(DownstreamDependency.java:110)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init>
          INFO: 	at java.lang.Thread.run(Thread.java:619)
          Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run
          INFO: Downstream_A has no SCM changes. Triggering skipped.
          

          The Perforce command failure from the stdout log (Perforce plugin 1.0.24):

          Problem: Could not run perforce command.
          com.tek42.perforce.PerforceException: Could not run perforce command.
          	at hudson.plugins.perforce.HudsonP4Executor.exec(HudsonP4Executor.java:83)
          	at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:289)
          	at com.tek42.perforce.parse.Workspaces.getWorkspace(Workspaces.java:53)
          	at hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:835)
          	at hudson.plugins.perforce.PerforceSCM.pollChanges(PerforceSCM.java:632)
          	at hudson.scm.SCM.poll(SCM.java:370)
          	at hudson.model.AbstractProject.poll(AbstractProject.java:1153)
          	at hudson.model.AbstractProject.pollSCMChanges(AbstractProject.java:1076)
          	at hudson.plugins.downstream_ext.DownstreamDependency$PollRunner.run(DownstreamDependency.java:110)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
          	at java.lang.Thread.run(Thread.java:619)
          Caused by: java.io.IOException: Unable to serialize hudson.Launcher$RemoteLaunchCallable@132fa2d
          	at hudson.remoting.UserRequest.serialize(UserRequest.java:162)
          	at hudson.remoting.UserRequest.<init>(UserRequest.java:62)
          	at hudson.remoting.Channel.callAsync(Channel.java:578)
          	at hudson.Launcher$RemoteLauncher.launch(Launcher.java:713)
          	at hudson.Launcher$ProcStarter.start(Launcher.java:268)
          	at hudson.plugins.perforce.HudsonP4Executor.exec(HudsonP4Executor.java:74)
          	... 11 more
          Caused by: java.io.NotSerializableException: hudson.util.LogTaskListener
          	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
          	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
          	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
          	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
          	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
          	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
          	at hudson.remoting.UserRequest._serialize(UserRequest.java:151)
          	at hudson.remoting.UserRequest.serialize(UserRequest.java:160)
          	... 16 more
          
          Show
          oeuftete oeuftete added a comment - I'm getting more logs now. It looks to me like things generally work. Below are logs from after a parent job ran. It was set to run 4 downstream projects, only if there were SCM changes. In this case, there were no downstream changes. There were two Perforce commands that failed. In the end, no jobs were triggered, but I wonder if this is by accident for the jobs that had the Perforce command failures. I was able to reproduce this behaviour. The Perforce plugin works fine for me in general. Hopefully this is useful. I'll keep playing around with your plugin. Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run INFO: Polling for SCM changes in Downstream_D Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Looking for changes... Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Using master perforce client: hudson-Downstream_D Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: [workspace] $ "C:\Program Files\Perforce\p4.exe" workspace -o hudson-Downstream_D Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run INFO: Polling for SCM changes in Downstream_C Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run INFO: Polling for SCM changes in Downstream_A Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Looking for changes... Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Using master perforce client: hudson-Downstream_C Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: [workspace] $ "C:\Program Files\Perforce\p4.exe" workspace -o hudson-Downstream_C Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run INFO: Polling for SCM changes in Downstream_B Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Looking for changes... Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Last sync'd change was 2719456 Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: [workspace] $ "C:\Program Files\Perforce\p4.exe" changes -m 2 //hudson-Downstream_C/... Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Last sync'd change was 2719456 Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: [workspace] $ "C:\Program Files\Perforce\p4.exe" changes -m 2 //hudson-Downstream_D/... Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Using remote perforce client: hudson-Downstream_B--234247446 Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Caught Exception communicating with perforce.Could not run perforce command. Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: FATAL: Unable to communicate with perforce. Check log file for: Could not run perforce command. Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: [8mha:AAAAVx+LCAAAAAAAAABb85aBtbiIQSmjNKU4P08vOT+vOD8nVc8DzHWtSE4tKMnMz/PLL0m1W6NqK7pC2JmJgaGiiEEKTYMzhAYpZIAARpDCAgBF2FTYYAAAAA==[0mjava.io.IOException: Unable to communicate with perforce. Check log file for: Could not run perforce command. Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at hudson.plugins.perforce.PerforceSCM.pollChanges(PerforceSCM.java:654) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at hudson.scm.SCM.poll(SCM.java:370) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at hudson.model.AbstractProject.poll(AbstractProject.java:1153) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at hudson.model.AbstractProject.pollSCMChanges(AbstractProject.java:1076) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at hudson.plugins.downstream_ext.DownstreamDependency$PollRunner.run(DownstreamDependency.java:110) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at java.lang.Thread.run(Thread.java:619) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run INFO: Downstream_B has no SCM changes. Triggering skipped. Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Latest submitted change selected by workspace is 2719456 Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Looking for changes... Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Assuming that the workspace definition has not changed. Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run INFO: Downstream_D has no SCM changes. Triggering skipped. Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Latest submitted change selected by workspace is 2719456 Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Assuming that the workspace definition has not changed. Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run INFO: Downstream_C has no SCM changes. Triggering skipped. Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Using remote perforce client: hudson-Downstream_A-1207745635 Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: Caught Exception communicating with perforce.Could not run perforce command. Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: FATAL: Unable to communicate with perforce. Check log file for: Could not run perforce command. Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: [8mha:AAAAVx+LCAAAAAAAAABb85aBtbiIQSmjNKU4P08vOT+vOD8nVc8DzHWtSE4tKMnMz/PLL0m1W6NqK7pC2JmJgaGiiEEKTYMzhAYpZIAARpDCAgBF2FTYYAAAAA==[0mjava.io.IOException: Unable to communicate with perforce. Check log file for: Could not run perforce command. Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at hudson.plugins.perforce.PerforceSCM.pollChanges(PerforceSCM.java:654) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at hudson.scm.SCM.poll(SCM.java:370) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at hudson.model.AbstractProject.poll(AbstractProject.java:1153) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at hudson.model.AbstractProject.pollSCMChanges(AbstractProject.java:1076) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at hudson.plugins.downstream_ext.DownstreamDependency$PollRunner.run(DownstreamDependency.java:110) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner <init> INFO: at java.lang.Thread.run(Thread.java:619) Mar 23, 2010 9:26:01 AM hudson.plugins.downstream_ext.DownstreamDependency$PollRunner run INFO: Downstream_A has no SCM changes. Triggering skipped. The Perforce command failure from the stdout log (Perforce plugin 1.0.24): Problem: Could not run perforce command. com.tek42.perforce.PerforceException: Could not run perforce command. at hudson.plugins.perforce.HudsonP4Executor.exec(HudsonP4Executor.java:83) at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:289) at com.tek42.perforce.parse.Workspaces.getWorkspace(Workspaces.java:53) at hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:835) at hudson.plugins.perforce.PerforceSCM.pollChanges(PerforceSCM.java:632) at hudson.scm.SCM.poll(SCM.java:370) at hudson.model.AbstractProject.poll(AbstractProject.java:1153) at hudson.model.AbstractProject.pollSCMChanges(AbstractProject.java:1076) at hudson.plugins.downstream_ext.DownstreamDependency$PollRunner.run(DownstreamDependency.java:110) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: java.io.IOException: Unable to serialize hudson.Launcher$RemoteLaunchCallable@132fa2d at hudson.remoting.UserRequest.serialize(UserRequest.java:162) at hudson.remoting.UserRequest.<init>(UserRequest.java:62) at hudson.remoting.Channel.callAsync(Channel.java:578) at hudson.Launcher$RemoteLauncher.launch(Launcher.java:713) at hudson.Launcher$ProcStarter.start(Launcher.java:268) at hudson.plugins.perforce.HudsonP4Executor.exec(HudsonP4Executor.java:74) ... 11 more Caused by: java.io.NotSerializableException: hudson.util.LogTaskListener at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326) at hudson.remoting.UserRequest._serialize(UserRequest.java:151) at hudson.remoting.UserRequest.serialize(UserRequest.java:160) ... 16 more
          Hide
          oeuftete oeuftete added a comment -

          I just tried with a couple of other jobs. Each had a real change, and two downstream projects configured to build only when there were SCM changes. In both cases, both downstream jobs had the Perforce problem reported above, and the extension logged that the downstream job had no SCM changes.

          Show
          oeuftete oeuftete added a comment - I just tried with a couple of other jobs. Each had a real change, and two downstream projects configured to build only when there were SCM changes. In both cases, both downstream jobs had the Perforce problem reported above, and the extension logged that the downstream job had no SCM changes.
          Hide
          kutzi kutzi added a comment -

          Hmm, seems to be a problem with the TaskListener which I pass to pollSCMChanges. Seems like it's implicitely required for this listener to be serializable. Not sure if this is a problem on my side or on the perforce side - I've posted a question to the developers list.

          However, I can do a workaround and use a TaskListener which will write the output to Stdout. Not sure where this will end up in a running Hudson app.

          Show
          kutzi kutzi added a comment - Hmm, seems to be a problem with the TaskListener which I pass to pollSCMChanges. Seems like it's implicitely required for this listener to be serializable. Not sure if this is a problem on my side or on the perforce side - I've posted a question to the developers list. However, I can do a workaround and use a TaskListener which will write the output to Stdout. Not sure where this will end up in a running Hudson app.
          Hide
          kutzi kutzi added a comment -

          Attached snapshot which should fix the serialization issue

          Show
          kutzi kutzi added a comment - Attached snapshot which should fix the serialization issue
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in hudson
          User: : kutzi
          Path:
          trunk/hudson/plugins/downstream-ext/src/main/java/hudson/plugins/downstream_ext/DownstreamDependency.java
          http://jenkins-ci.org/commit/29169
          Log:
          JENKINS-5406: fixed serialization issue with remote SCM clients

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : kutzi Path: trunk/hudson/plugins/downstream-ext/src/main/java/hudson/plugins/downstream_ext/DownstreamDependency.java http://jenkins-ci.org/commit/29169 Log: JENKINS-5406 : fixed serialization issue with remote SCM clients
          Hide
          oeuftete oeuftete added a comment -

          So far so good with the latest attached snapshot. The serialization errors have gone away. Downstream projects are being correctly detected as needing or not needing to be built based on SCM changes. I also had one scenario where a downstream project was in progress... the SCM polling occurred immediately (and correctly) after the in-progress job completed.

          I'll let you know if I run into any other issues. For now, I don't plan to specifically test it any more, but just check in on how it's working on our production jobs.

          Show
          oeuftete oeuftete added a comment - So far so good with the latest attached snapshot. The serialization errors have gone away. Downstream projects are being correctly detected as needing or not needing to be built based on SCM changes. I also had one scenario where a downstream project was in progress... the SCM polling occurred immediately (and correctly) after the in-progress job completed. I'll let you know if I run into any other issues. For now, I don't plan to specifically test it any more, but just check in on how it's working on our production jobs.
          Hide
          kutzi kutzi added a comment -

          So, I'm marking this as resolved now in 1.6.

          If problems show up, you can reopen this or open a new issue.

          Show
          kutzi kutzi added a comment - So, I'm marking this as resolved now in 1.6. If problems show up, you can reopen this or open a new issue.

            People

            • Assignee:
              kutzi kutzi
              Reporter:
              oeuftete oeuftete
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: