Hello,
I am experiencing a strange difference with catching a timeout within a
script in a step or a script called from a step.
The problem I want to work around: in some situations my unit-test exe
(GoogleTest) is blocked with a popup from inside the C-runtime. To make the
build complete in this szenario I inserted a timeout and want to catch it.
This is working as expected in a szenario like this:
def testModule() {
try{
timeout(time: 30, unit: 'MINUTES') {
bat "dmake run-test"
}
} catch (err) {
echo "Caught: ${err}"
unstable( message: "Test timeout in stage ${STAGE_NAME}" )
}
}
pipeline {
...
stages {
...
stage( 'test' ) {
steps {
script{
testModule( )
}
}
}
}
}
When I try this instead:
stage('Test'){
steps {
script{
try{
timeout(time: 30, unit: 'MINUTES') {
bat "dmake runtest"
}
} catch (err) {
echo "Caught: ${err}"
unstable( message: "Test timeout in stage
${STAGE_NAME}" )
}
}
}}
I get number of exceptions from execution like this:
" Cancelling nested steps due to timeout
*11:44:57* Sending interrupt signal to process
*11:45:17* After 20s process did not stop
*11:45:18* Also: Also: java.nio.file.FileSystemException:
D:\workdir\workspace\
Build-Pipeline@tmp\durable-2328b9da\jenkins-log.txt: The process cannot
access the file because it is being used by another process.
*11:45:18* *11:45:18* at
sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
*11:45:18* at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown
Source)
*11:45:18* at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown
Source)
*11:45:18* at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unknown
Source)
*11:45:18* at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(Unknown
Source)
*11:45:18* at java.nio.file.Files.deleteIfExists(Unknown Source)
*11:45:18* at
jenkins.util.io.PathRemover.removeOrMakeRemovableThenRemove(PathRemover.java:237)
*...* "
and also at the very end:
"
Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to
JNLP4-connect connection from server.com/xxx.yyy.zzz.182:pppp *11:46:26* at
hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1800)
*11:46:26* at
hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)
*11:46:26* at hudson.remoting.Channel.call(Channel.java:1001) *11:46:26* at
hudson.FilePath.act(FilePath.java:1070)
"
Does anyone have an explenation for thet difference and can give me a
workaround?
TIA,
br,
Christoph
--
You received this message because you are subscribed to the Google Groups
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/205bbfd4-1316-4665-8f7a-eef646a82534n%40googlegroups.com.