Hi,
under load and only under load I observe failing test runs due to
java.io.NotSerializableException.
Since I have no backtrace and the usage of hudson.model.Hudson is not obvious
to me, I spend a lot of time trying to debug this failure.
How can I get more informations about this exception?
How can I debug such a thing?
Regards
Bene
The pipeline code in charge is:
---8<---
#!/usr/bin/env groovy
// SPDX-License-Identifier: MIT
// Copyright (c) 2017,2018 Linutronix GmbH
/*
* CI-RT cyclictest runner
*/
import de.linutronix.cirt.helper;
private runner(Map global, String target, String cyclictest) {
unstash(global.STASH_PRODENV);
def h = new helper();
String[] properties = ["environment.properties",
"boot/${target}.properties",
"${cyclictest}.properties"];
h.add2environment(properties);
properties = null;
def loadgen = h.getEnv("LOADGEN");
loadgen?.trim();
def interval = h.getEnv("INTERVAL");
def limit = h.getEnv("LIMIT");
def duration = h.getEnv("DURATION");
println("cyclictest-runner: ${target} ${cyclictest} ${interval}
${limit}\n${loadgen}");
def config = h.getEnv("CONFIG");
def overlay = h.getEnv("OVERLAY");
h = null;
def kernel = "${config}/${overlay}";
def cyclictestdir = "results/${kernel}/${target}/${cyclictest}";
kernel = null
dir(cyclictestdir) {
deleteDir();
def content = """#! /bin/bash
# Exit bash script on error:
set -e
${loadgen ?: 'true'} &
# Output needs to be available in Jenkins as well - use tee
sudo cyclictest -q -m -Sp99 -D${duration} -i${interval} -h${limit} -b${limit}
--notrace 2> >(tee histogram.log >&2) | tee histogram.dat
""";
writeFile file:"histogram.sh", text:content;
content = null;
sh ". histogram.sh";
}
archiveArtifacts("${cyclictestdir}/histogram.*");
stash(name: cyclictestdir.replaceAll('/','_'),
includes: "${cyclictestdir}/histogram.*");
/*
* no mail notification here since test examination need
* to run on master.
* See cyclictest.groovy.
*/
}
def call(Map global, String target, String cyclictest) {
node(target) {
try {
dir("cyclictestRunner") {
deleteDir();
runner(global, target, cyclictest);
}
} catch(Exception ex) {
println("cyclictest runner on ${target} failed:");
println(ex.toString());
println(ex.getMessage());
println(ex.getStackTrace());
error("cyclictest runner on ${target} failed.");
}
}
}
---8<---
The output:
---8<---
git://cvs/people/user/linux stable-maintenance-4.4.y-rt x86/qemu_x86_64 RT-full
Repository git://cvs/people/user/linux stable-maintenance-4.4.y-rt
Compile Job x86/qemu_x86_64 RT-full
Cloning the remote Git repository
Using shallow clone
Cloning repository git://cvs/people/user/linux
> git init
> /home/jenkins/workspace/stable-maintenance-4.4.y-rt-RXGROPLWM5VM22QLANL7RI3UEU2RBYNY523T6TBDWRGAIZNWL4OQ/compiletestRunner/results/x86/qemu_x86_64/RT-full
> # timeout=10
ERROR: Reference path does not exist: /home/mirror/kernel
Fetching upstream changes from git://cvs/people/user/linux
> git --version # timeout=10
> git fetch --tags --progress git://cvs/people/user/linux
> +refs/heads/*:refs/remotes/origin/* --depth=1 # timeout=60
> git config remote.origin.url git://cvs/people/user/linux # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* #
> timeout=10
> git config remote.origin.url git://cvs/people/user/linux # timeout=10
Fetching upstream changes from git://cvs/people/user/linux
> git fetch --tags --progress git://cvs/people/user/linux
> +refs/heads/*:refs/remotes/origin/* --depth=1 # timeout=60
> git rev-parse origin/stable-maintenance-4.4.y-rt^{commit} # timeout=10
Checking out Revision bdfaf62feda1231b04e01223c29771f5961012a9
(origin/stable-maintenance-4.4.y-rt)
> git config core.sparsecheckout # timeout=10
> git checkout -f bdfaf62feda1231b04e01223c29771f5961012a9
Commit message: "Linux 4.4.126-rt141"
[RT-full] Running shell script
+ '[' -d patches ']'
+ quilt push -a
Applying patch
patches/builddeb--do-not-build-linux-headers-and-libc-headers-packages.patch
patching file scripts/package/builddeb
Now at patch
patches/builddeb--do-not-build-linux-headers-and-libc-headers-packages.patch
[compile] Running shell script
+ git describe HEAD
v4.4.126-rt141
[compile] Running shell script
++ git rev-parse HEAD
+ echo TAGS_COMMIT=bdfaf62feda1231b04e01223c29771f5961012a9
[compile] Running shell script
++ git describe HEAD
+ echo TAGS_NAME=v4.4.126-rt141
[build] Running shell script
+ touch .config
hudson.model.Hudsoncompiletest runner failed:
java.io.NotSerializableException: hudson.model.Hudson
hudson.model.Hudson
[Ljava.lang.StackTraceElement;@789f2876
compiletest runner failed.
---8<---
--
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/20180404193332.5c53ab2c%40mitra.
For more options, visit https://groups.google.com/d/optout.