Error: JENKINS-48300

Hey everyone,

I want to describe an unusual behavior.
I run a Python script which clean some storage files (Unix-based). I run this as a regular pipeline job with build periodically parameter to run every night.

I use parallel that run the Python script job multiple times with Build Step plugin with additional parameters: propagate: true, wait: true, job: xxx and strings parameter that provides different storage paths for each job call.

The usual behavior is: when I run this job manually with “build with parameters” everything works no error occurs. When it runs automatically of build periodically option I get JENKINS-48300 error: wrapper script does not seem to be touching the log file in … if on an extremely laggy file system, consider -Drop.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=86400).

why this error occurs only with build periodically and not with we run it manually? We have tried to set HEARTBEAT_CHECK_INTERVAL=300 as I’ve seen online it helped people, and we will raise it till 86400 as the console output says.

In general any idea or help will be appreciated! And thank you guys!

We made good experience with using the binary wrapper instead of using the shell wrapper that is normally used.
We had this problem in our pipelines when the machines were under high load.

To enable the binary wrapper add the following to the java start arguments:
-Dorg.jenkinsci.plugins.durabletask.BourneShellScript.USE_BINARY_WRAPPER=true

I have the same issue. I see the suggestion to increase heat beat interval or change to binary wrapper. Are these system property to be changed on jenkins controller or the agent?

Those settings need to be applied to the controller jvm

Thank you. My Jenkins environment runs on ECS cluster. So could i add system property

  1. -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=86400
  2. -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.USE_BINARY_WRAPPER=true
    as a java_opts in the task definition so that it would be applied to Jenkins when it is redeployed ?

yes that should work