Page MenuHomePhabricator
Paste P22154

package build errors T293862
ActivePublic

Authored by bking on Mar 8 2022, 10:47 PM.
Referenced Files
F34990533: package build errors T293862
Mar 8 2022, 10:47 PM
Subscribers
None
bking@palladium:~$ ls
code Desktop Documents Downloads Music Pictures Public Templates Videos
bking@palladium:~$ cd code
bking@palladium:~/code$ ls
jvmquake jvmquake_1.0.1-1.debian.tar.xz jvmquake_1.0.1-1.dsc jvmquake_1.0.1.orig.tar.gz
(failed reverse-i-search)`build': sudo dpkg -i jvmquake_1.0_amd64.de^C
(failed reverse-i-search)`-uc': sudo ^C
bking@palladium:~/code$ dpkg-buildpackage -us -uc
tail: cannot open 'debian/changelog' for reading: No such file or directory
dpkg-buildpackage: error: tail of debian/changelog gave error exit status 1
bking@palladium:~/code$ cd jvmquake
bking@palladium:~/code/jvmquake$ dpkg-buildpackage -us -uc
dpkg-buildpackage: info: source package jvmquake
dpkg-buildpackage: info: source version 1.0.1-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by David Causse <dcausse@wikimedia.org>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build jvmquake
dpkg-source: warning: unknown information field 'Rules-Requires-Root' in input data in general section of control info file
fakeroot debian/rules clean
make: Circular debian/control.in <- debian/control dependency dropped.
make: Circular debian/control <- debian/rules dependency dropped.
dh clean
dh_testdir
dh_auto_clean
make -j2 clean
make[1]: Entering directory '/home/bking/code/jvmquake'
rm -rf build
rm -rf dist
rm -f *.class
rm -f *.hprof
rm -f core
rm -f gclog
rm -f *.ran
rm -f tests/*.class
rm -rf tests/__pycache__
rm -rf .tox
rm -rf hs_err_pid*.log
make[1]: Leaving directory '/home/bking/code/jvmquake'
dh_autoreconf_clean
dh_clean
dpkg-source -b jvmquake
dpkg-source: warning: unknown information field 'Rules-Requires-Root' in input data in general section of control info file
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building jvmquake using existing ./jvmquake_1.0.1.orig.tar.gz
dpkg-source: info: local changes detected, the modified files are:
jvmquake/.pytest_cache/v/cache/lastfailed
dpkg-source: info: you can integrate the local changes with dpkg-source --commit
dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/jvmquake_1.0.1-1.diff.ZMAeh5
dpkg-buildpackage: error: dpkg-source -b jvmquake gave error exit status 2
bking@palladium:~/code/jvmquake$ cd ..
bking@palladium:~/code$ ls
jvmquake jvmquake_1.0.1-1.debian.tar.xz jvmquake_1.0.1-1.dsc jvmquake_1.0.1.orig.tar.gz
bking@palladium:~/code$ rm -rf jvmquake
bking@palladium:~/code$ git clone https://gitlab.wikimedia.org/repos/search-platform/jvmquake.git
Cloning into 'jvmquake'...
remote: Enumerating objects: 371, done.
remote: Counting objects: 100% (24/24), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 371 (delta 4), reused 4 (delta 0), pack-reused 347
Receiving objects: 100% (371/371), 111.43 KiB | 0 bytes/s, done.
Resolving deltas: 100% (194/194), done.
bking@palladium:~/code$ cd jvmquake
(failed reverse-i-search)`remote': git clone https://gitlab.wikimedia.org/^Cpos/search-platform/jvmquake.git
(failed reverse-i-search)`remote': git clone https://gitlab.wikimedia.org/^Cpos/search-platform/jvmquake.git
bking@palladium:~/code/jvmquake$ git fetch origin
bking@palladium:~/code/jvmquake$ git checkout -b 'add-debian-packaging-file-T293862' 'origin/add-debian-packaging-file-T293862'
Branch add-debian-packaging-file-T293862 set up to track remote branch add-debian-packaging-file-T293862 from origin.
Switched to a new branch 'add-debian-packaging-file-T293862'
bking@palladium:~/code/jvmquake$ dpkg-buildpackage -us -uc
dpkg-buildpackage: info: source package jvmquake
dpkg-buildpackage: info: source version 1.0.1-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by David Causse <dcausse@wikimedia.org>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build jvmquake
dpkg-source: warning: unknown information field 'Rules-Requires-Root' in input data in general section of control info file
dpkg-source: info: applying fix-test_java_opts.patch
dpkg-source: info: applying fix-makefile-cleanup.patch
fakeroot debian/rules clean
make: Circular debian/control.in <- debian/control dependency dropped.
make: Circular debian/control <- debian/rules dependency dropped.
dh clean
dh_testdir
dh_auto_clean
make -j2 clean
make[1]: Entering directory '/home/bking/code/jvmquake'
"jvmquake/debian/patches/patchy" 33L, 1488C
Description: <short summary of the patch>
rm -rf build
rm -rf dist
rm -f *.class
rm -f *.hprof
rm -f core
rm -f gclog
rm -f *.ran
rm -f tests/*.class
rm -rf tests/__pycache__
rm -rf .tox
rm -rf hs_err_pid*.log
make[1]: Leaving directory '/home/bking/code/jvmquake'
dh_autoreconf_clean
dh_clean
dpkg-source -b jvmquake
dpkg-source: warning: unknown information field 'Rules-Requires-Root' in input data in general section of control info file
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building jvmquake using existing ./jvmquake_1.0.1.orig.tar.gz
dpkg-source: info: local changes detected, the modified files are:
jvmquake/README.md
dpkg-source: info: you can integrate the local changes with dpkg-source --commit
dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/jvmquake_1.0.1-1.diff.O_nw6l
dpkg-buildpackage: error: dpkg-source -b jvmquake gave error exit status 2
bking@palladium:~/code/jvmquake$ dpkg-source --commit
dpkg-source: warning: unknown information field 'Rules-Requires-Root' in input data in general section of control info file
dpkg-source: info: local changes detected, the modified files are:
jvmquake/README.md
Enter the desired patch name: patchy
dpkg-source: info: local changes have been recorded in a new patch: jvmquake/debian/patches/patchy
bking@palladium:~/code/jvmquake$ dpkg-buildpackage -us -uc
dpkg-buildpackage: info: source package jvmquake
dpkg-buildpackage: info: source version 1.0.1-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by David Causse <dcausse@wikimedia.org>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build jvmquake
dpkg-source: warning: unknown information field 'Rules-Requires-Root' in input data in general section of control info file
fakeroot debian/rules clean
make: Circular debian/control.in <- debian/control dependency dropped.
make: Circular debian/control <- debian/rules dependency dropped.
dh clean
dh_testdir
dh_auto_clean
make -j2 clean
make[1]: Entering directory '/home/bking/code/jvmquake'
rm -rf build
rm -rf dist
rm -f *.class
rm -f *.hprof
rm -f core
rm -f gclog
rm -f *.ran
rm -f tests/*.class
rm -rf tests/__pycache__
rm -rf .tox
rm -rf hs_err_pid*.log
make[1]: Leaving directory '/home/bking/code/jvmquake'
dh_autoreconf_clean
dh_clean
dpkg-source -b jvmquake
dpkg-source: warning: unknown information field 'Rules-Requires-Root' in input data in general section of control info file
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building jvmquake using existing ./jvmquake_1.0.1.orig.tar.gz
dpkg-source: info: building jvmquake in jvmquake_1.0.1-1.debian.tar.xz
dpkg-source: info: building jvmquake in jvmquake_1.0.1-1.dsc
dpkg-source: warning: missing information for output field Standards-Version
debian/rules build
make: Circular debian/control.in <- debian/control dependency dropped.
make: Circular debian/control <- debian/rules dependency dropped.
dh build
dh_testdir
dh_update_autotools_config
dh_autoreconf
dh_auto_configure
dh_auto_build
make -j2
make[1]: Entering directory '/home/bking/code/jvmquake'
mkdir -p build
BUILD=../build make -C src
make[2]: Entering directory '/home/bking/code/jvmquake'
make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
mkdir -p ../build
cc -v
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 6.3.0-18+deb9u1' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)
cc -Wall -Werror -fPIC -flto -shared -I"/usr/lib/jvm/java-8-openjdk-amd64//include" -I"/usr/lib/jvm/java-8-openjdk-amd64//include/linux" -lrt -o ../build/libjvmquake-linux-x86_64.so jvmquake.c
chmod 644 ../build/libjvmquake-linux-x86_64.so
make[2]: Leaving directory '/home/bking/code/jvmquake/src'
make[1]: Leaving directory '/home/bking/code/jvmquake'
dh_auto_test
make -j2 test
make[1]: Entering directory '/home/bking/code/jvmquake'
mkdir -p build
make -C tests
make[2]: Entering directory '/home/bking/code/jvmquake'
make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
BUILD=../build make -C src
/usr/lib/jvm/java-8-openjdk-amd64//bin/javac *.java
make[2]: Entering directory '/home/bking/code/jvmquake'
make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
mkdir -p ../build
cc -v
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 6.3.0-18+deb9u1' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)
cc -Wall -Werror -fPIC -flto -shared -I"/usr/lib/jvm/java-8-openjdk-amd64//include" -I"/usr/lib/jvm/java-8-openjdk-amd64//include/linux" -lrt -o ../build/libjvmquake-linux-x86_64.so jvmquake.c
chmod 644 ../build/libjvmquake-linux-x86_64.so
make[2]: Leaving directory '/home/bking/code/jvmquake/src'
make[2]: Leaving directory '/home/bking/code/jvmquake/tests'
tox -e test
tox -e test_jvm
test_jvm create: /home/bking/code/jvmquake/.tox/test_jvm
test create: /home/bking/code/jvmquake/.tox/test
test_jvm installdeps: pytest, plumbum
test installdeps: pytest, plumbum
test_jvm installed: DEPRECATION: Python 3.5 reached the end of its life on September 13th, 2020. Please upgrade your Python as Python 3.5 is no longer maintained. pip 21.0 will drop support for Python 3.5 in January 2021. pip 21.0 will remove support for this functionality.,attrs==21.4.0,importlib-metadata==2.1.3,iniconfig==1.1.1,packaging==20.9,pathlib2==2.3.7.post1,pkg-resources==0.0.0,pluggy==0.13.1,plumbum==1.7.2,py==1.11.0,pyparsing==2.4.7,pytest==6.1.2,six==1.16.0,toml==0.10.2,zipp==1.2.0
test_jvm runtests: PYTHONHASHSEED='1557511470'
test_jvm runtests: commands[0] | py.test -s tests -k test_jvm_
test installed: DEPRECATION: Python 3.5 reached the end of its life on September 13th, 2020. Please upgrade your Python as Python 3.5 is no longer maintained. pip 21.0 will drop support for Python 3.5 in January 2021. pip 21.0 will remove support for this functionality.,attrs==21.4.0,importlib-metadata==2.1.3,iniconfig==1.1.1,packaging==20.9,pathlib2==2.3.7.post1,pkg-resources==0.0.0,pluggy==0.13.1,plumbum==1.7.2,py==1.11.0,pyparsing==2.4.7,pytest==6.1.2,six==1.16.0,toml==0.10.2,zipp==1.2.0
test runtests: PYTHONHASHSEED='3244271698'
test runtests: commands[0] | py.test -s tests -k test_jvmquake_
================================================== test session starts ==================================================
platform linux -- Python 3.5.3, pytest-6.1.2, py-1.11.0, pluggy-0.13.1
rootdir: /home/bking/code/jvmquake
collected 14 items / 10 deselected / 4 selected
tests/test_java_opts.py Executing simple OOM
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xmx10m -XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError=/bin/touch OnOutOfMemoryError_%p.ran -XX:+ExitOnOutOfMemoryError -cp /home/bking/code/jvmquake/tests EasyOOM]
================================================== test session starts ==================================================
platform linux -- Python 3.5.3, pytest-6.1.2, py-1.11.0, pluggy-0.13.1
rootdir: /home/bking/code/jvmquake
collected 14 items / 4 deselected / 10 selected
tests/test_basic_ooms.py Executing simple OOM
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xmx10m -XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError=/bin/touch OnOutOfMemoryError_%p.ran -agentpath:/home/bking/code/jvmquake/build/libjvmquake-linux-x86_64.so -cp /home/bking/code/jvmquake/tests EasyOOM]
.Executing thread OOM
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xmx100m -XX:+ExitOnOutOfMemoryError -cp /home/bking/code/jvmquake/tests EasyThreadOOM]
.Executing simple OOM causing core dump
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xmx10m -XX:+HeapDumpOnOutOfMemoryError -agentpath:/home/bking/code/jvmquake/build/libjvmquake-linux-x86_64.so=10,1,6 -cp /home/bking/code/jvmquake/tests EasyOOM]
.Executing simple OOM causing core dump
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xmx10m -XX:+HeapDumpOnOutOfMemoryError -agentpath:/home/bking/code/jvmquake/build/libjvmquake-linux-x86_64.so=10,1,0 -cp /home/bking/code/jvmquake/tests EasyOOM]
.E
tests/test_hard_ooms.py Executing Complex CMS Slow Death OOM
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xmx100m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime -Xloggc:gclog -agentpath:/home/bking/code/jvmquake/build/libjvmquake-linux-x86_64.so=1,1,0 -cp /home/bking/code/jvmquake/tests SlowDeathOOM]
XExecuting Complex CMS Slow Death OOM
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xmx100m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:GCTimeLimit=20 -XX:GCHeapFreeLimit=80 -cp /home/bking/code/jvmquake/tests SlowDeathOOM]
FExecuting Complex G1GC Slow Death OOM
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xmx100m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime -Xloggc:gclog -agentpath:/home/bking/code/jvmquake/build/libjvmquake-linux-x86_64.so=1,1,0 -cp /home/bking/code/jvmquake/tests SlowDeathOOM]
.Executing Complex CMS Slow Death OOM
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xmx100m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime -Xloggc:gclog -agentpath:/home/bking/code/jvmquake/build/libjvmquake-linux-x86_64.so=1,1,6 -cp /home/bking/code/jvmquake/tests SlowDeathOOM]
.Executing Complex G1 Slow Death OOM
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xmx100m -XX:+UseG1GC -XX:GCTimeLimit=20 -XX:GCHeapFreeLimit=80 -cp /home/bking/code/jvmquake/tests SlowDeathOOM]
.
===================================== 3 passed, 10 deselected, 1 xpassed in 33.82s ======================================
FExecuting Complex CMS Slow Death OOM
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xmx100m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -agentpath:/home/bking/code/jvmquake/build/libjvmquake-linux-x86_64.so=3,1,9,warn=1 -cp /home/bking/code/jvmquake/tests SlowDeathOOM]
________________________________________________________ summary ________________________________________________________
test_jvm: commands succeeded
congratulations :)
FExecuting Complex CMS Slow Death OOM
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xmx100m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -agentpath:/home/bking/code/jvmquake/build/libjvmquake-linux-x86_64.so=5,1,9,warn=2,touch=/tmp/jvmquake_custom_path -cp /home/bking/code/jvmquake/tests SlowDeathOOM]
F
tests/test_non_ooms.py Executing NON-OOM program
[/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xmx10m -agentpath:/home/bking/code/jvmquake/build/libjvmquake-linux-x86_64.so -cp /home/bking/code/jvmquake/tests EasyNonOOM]
.
======================================================== ERRORS =========================================================
______________________________________ ERROR at setup of test_jvmquake_thread_oom _______________________________________
@pytest.fixture()
def thread_ulimit():
import resource
(x, y) = resource.getrlimit(resource.RLIMIT_NPROC)
resource.setrlimit(
resource.RLIMIT_NPROC,
> (32768, y)
)
E ValueError: current limit exceeds maximum limit
tests/test_basic_ooms.py:34: ValueError
======================================================= FAILURES ========================================================
___________________________________________ test_jvmquake_cms_slow_death_oom ____________________________________________
def test_jvmquake_cms_slow_death_oom():
"""
Executes a program which over time does way more GC than actual execution
We use the zero option to indicate to jvmquake to trigger a java level
OOM and cause a heap dump.
"""
if JAVA_MAJOR_VERSION > 8:
cms_slow_death = java_cmd[
'-Xmx100m',
'-XX:+HeapDumpOnOutOfMemoryError',
'-XX:+UseConcMarkSweepGC',
'-XX:CMSInitiatingOccupancyFraction=75',
'-XX:+PrintGCDetails',
'-Xlog:gc:gclog',
agent_path + "=1,1,0",
'-cp', class_path,
'SlowDeathOOM'
]
else:
cms_slow_death = java_cmd[
'-Xmx100m',
'-XX:+HeapDumpOnOutOfMemoryError',
'-XX:+UseParNewGC',
'-XX:+UseConcMarkSweepGC',
'-XX:CMSInitiatingOccupancyFraction=75',
'-XX:+PrintGCDetails',
'-XX:+PrintGCDateStamps',
'-XX:+PrintGCApplicationConcurrentTime',
'-XX:+PrintGCApplicationStoppedTime',
'-Xloggc:gclog',
agent_path + "=1,1,0",
'-cp', class_path,
'SlowDeathOOM'
]
print("Executing Complex CMS Slow Death OOM")
print("[{0}]".format(cms_slow_death))
with cms_slow_death.bgrun(retcode=-9, timeout=10) as proc:
> pid = proc.pid
tests/test_hard_ooms.py:68:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.5/contextlib.py:66: in __exit__
next(self.gen)
.tox/test/lib/python3.5/site-packages/plumbum/commands/base.py:212: in bgrun
runner()
.tox/test/lib/python3.5/site-packages/plumbum/commands/base.py:201: in runner
return run_proc(p, retcode, timeout)
.tox/test/lib/python3.5/site-packages/plumbum/commands/processes.py:322: in run_proc
return _check_process(proc, retcode, timeout, stdout, stderr)
.tox/test/lib/python3.5/site-packages/plumbum/commands/processes.py:24: in _check_process
proc.verify(retcode, timeout, stdout, stderr)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <plumbum.machines.local.PlumbumLocalPopen object at 0x7f15ec3120f0>, retcode = -9, timeout = 10
stdout = 'triggering OutOfMemory by allocating 81107353.60 bytes\n'
stderr = '(jvmquake) using options: threshold=[1s],runtime_weight=[1:1],action=[JVM OOM]\n'
def verify(self, retcode, timeout, stdout, stderr):
"""This verifies that the correct command is attributed."""
if getattr(self, "_timed_out", False):
raise ProcessTimedOut(
"Process did not terminate within {} seconds".format(timeout),
> getattr(self, "argv", None),
)
E plumbum.commands.processes.ProcessTimedOut: ('Process did not terminate within 10 seconds', ['/usr/lib/jvm/java-8-openjdk-amd64/bin/java', '-Xmx100m', '-XX:+HeapDumpOnOutOfMemoryError', '-XX:+UseParNewGC', '-XX:+UseConcMarkSweepGC', '-XX:CMSInitiatingOccupancyFraction=75', '-XX:+PrintGCDetails', '-XX:+PrintGCDateStamps', '-XX:+PrintGCApplicationConcurrentTime', '-XX:+PrintGCApplicationStoppedTime', '-Xloggc:gclog', '-agentpath:/home/bking/code/jvmquake/build/libjvmquake-linux-x86_64.so=1,1,0', '-cp', '/home/bking/code/jvmquake/tests', 'SlowDeathOOM'])
.tox/test/lib/python3.5/site-packages/plumbum/machines/base.py:18: ProcessTimedOut
___________________________________________ test_jvmquake_cms_slow_death_core ___________________________________________
core_ulimit = None
def test_jvmquake_cms_slow_death_core(core_ulimit):
"""
Executes a program which over time does way more GC than actual execution
"""
if JAVA_MAJOR_VERSION > 8:
cms_slow_death = java_cmd[
'-Xmx100m',
'-XX:+HeapDumpOnOutOfMemoryError',
'-XX:+UseConcMarkSweepGC',
'-XX:CMSInitiatingOccupancyFraction=75',
'-XX:+PrintGCDetails',
'-Xlog:gc:gclog',
agent_path + "=1,1,6",
'-cp', class_path,
'SlowDeathOOM'
]
else:
cms_slow_death = java_cmd[
'-Xmx100m',
'-XX:+HeapDumpOnOutOfMemoryError',
'-XX:+UseParNewGC',
'-XX:+UseConcMarkSweepGC',
'-XX:CMSInitiatingOccupancyFraction=75',
'-XX:+PrintGCDetails',
'-XX:+PrintGCDateStamps',
'-XX:+PrintGCApplicationConcurrentTime',
'-XX:+PrintGCApplicationStoppedTime',
'-Xloggc:gclog',
agent_path + "=1,1,6",
'-cp', class_path,
'SlowDeathOOM'
]
print("Executing Complex CMS Slow Death OOM")
print("[{0}]".format(cms_slow_death))
with cms_slow_death.bgrun(retcode=-6, timeout=10) as proc:
> pid = proc.pid
tests/test_hard_ooms.py:161:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.5/contextlib.py:66: in __exit__
next(self.gen)
.tox/test/lib/python3.5/site-packages/plumbum/commands/base.py:212: in bgrun
runner()
.tox/test/lib/python3.5/site-packages/plumbum/commands/base.py:201: in runner
return run_proc(p, retcode, timeout)
.tox/test/lib/python3.5/site-packages/plumbum/commands/processes.py:322: in run_proc
return _check_process(proc, retcode, timeout, stdout, stderr)
.tox/test/lib/python3.5/site-packages/plumbum/commands/processes.py:24: in _check_process
proc.verify(retcode, timeout, stdout, stderr)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <plumbum.machines.local.PlumbumLocalPopen object at 0x7f15ec06c400>, retcode = -6, timeout = 10
stdout = 'triggering OutOfMemory by allocating 81107353.60 bytes\n'
stderr = '(jvmquake) using options: threshold=[1s],runtime_weight=[1:1],action=[signal 6]\n'
def verify(self, retcode, timeout, stdout, stderr):
"""This verifies that the correct command is attributed."""
if getattr(self, "_timed_out", False):
raise ProcessTimedOut(
"Process did not terminate within {} seconds".format(timeout),
> getattr(self, "argv", None),
)
E plumbum.commands.processes.ProcessTimedOut: ('Process did not terminate within 10 seconds', ['/usr/lib/jvm/java-8-openjdk-amd64/bin/java', '-Xmx100m', '-XX:+HeapDumpOnOutOfMemoryError', '-XX:+UseParNewGC', '-XX:+UseConcMarkSweepGC', '-XX:CMSInitiatingOccupancyFraction=75', '-XX:+PrintGCDetails', '-XX:+PrintGCDateStamps', '-XX:+PrintGCApplicationConcurrentTime', '-XX:+PrintGCApplicationStoppedTime', '-Xloggc:gclog', '-agentpath:/home/bking/code/jvmquake/build/libjvmquake-linux-x86_64.so=1,1,6', '-cp', '/home/bking/code/jvmquake/tests', 'SlowDeathOOM'])
.tox/test/lib/python3.5/site-packages/plumbum/machines/base.py:18: ProcessTimedOut
____________________________________________ test_jvmquake_cms_touch_warning ____________________________________________
def test_jvmquake_cms_touch_warning():
"""
Executes a program which over time does way more GC than actual execution
Then test that jvmquake correctly touches the correct file
"""
jvmquake_warn_path = Path('/tmp/jvmquake_warn_gc')
files = [jvmquake_warn_path]
cleanup(*files)
start_time = time.time()
if JAVA_MAJOR_VERSION > 8:
cms_slow_death_warn_only = java_cmd[
'-Xmx100m',
'-XX:+UseConcMarkSweepGC',
'-XX:CMSInitiatingOccupancyFraction=75',
agent_path + "=3,1,9,warn=1",
'-cp', class_path,
'SlowDeathOOM'
]
else:
cms_slow_death_warn_only = java_cmd[
'-Xmx100m',
'-XX:+UseParNewGC',
'-XX:+UseConcMarkSweepGC',
'-XX:CMSInitiatingOccupancyFraction=75',
agent_path + "=3,1,9,warn=1",
'-cp', class_path,
'SlowDeathOOM'
]
print("Executing Complex CMS Slow Death OOM")
print("[{0}]".format(cms_slow_death_warn_only))
with cms_slow_death_warn_only.bgrun(retcode=-9, timeout=10) as proc:
> pid = proc.pid
tests/test_hard_ooms.py:216:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.5/contextlib.py:66: in __exit__
next(self.gen)
.tox/test/lib/python3.5/site-packages/plumbum/commands/base.py:212: in bgrun
runner()
.tox/test/lib/python3.5/site-packages/plumbum/commands/base.py:201: in runner
return run_proc(p, retcode, timeout)
.tox/test/lib/python3.5/site-packages/plumbum/commands/processes.py:322: in run_proc
return _check_process(proc, retcode, timeout, stdout, stderr)
.tox/test/lib/python3.5/site-packages/plumbum/commands/processes.py:24: in _check_process
proc.verify(retcode, timeout, stdout, stderr)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <plumbum.machines.local.PlumbumLocalPopen object at 0x7f15ecf17908>, retcode = -9, timeout = 10
stdout = 'triggering OutOfMemory by allocating 81107353.60 bytes\n'
stderr = '(jvmquake) using options: threshold=[3s],runtime_weight=[1:1],action=[signal 9]\n(jvmquake) using keyword options: warn_threshold=[1s],touch_path=[/tmp/jvmquake_warn_gc]\n'
def verify(self, retcode, timeout, stdout, stderr):
"""This verifies that the correct command is attributed."""
if getattr(self, "_timed_out", False):
raise ProcessTimedOut(
"Process did not terminate within {} seconds".format(timeout),
> getattr(self, "argv", None),
)
E plumbum.commands.processes.ProcessTimedOut: ('Process did not terminate within 10 seconds', ['/usr/lib/jvm/java-8-openjdk-amd64/bin/java', '-Xmx100m', '-XX:+UseParNewGC', '-XX:+UseConcMarkSweepGC', '-XX:CMSInitiatingOccupancyFraction=75', '-agentpath:/home/bking/code/jvmquake/build/libjvmquake-linux-x86_64.so=3,1,9,warn=1', '-cp', '/home/bking/code/jvmquake/tests', 'SlowDeathOOM'])
.tox/test/lib/python3.5/site-packages/plumbum/machines/base.py:18: ProcessTimedOut
______________________________________ test_jvmquake_cms_touch_warning_custom_path ______________________________________
def test_jvmquake_cms_touch_warning_custom_path():
"""
Executes a program which over time does way more GC than actual execution
Then test that jvmquake correctly touches the correct file
"""
jvmquake_warn_path = Path('/tmp/jvmquake_custom_path')
files = [jvmquake_warn_path]
cleanup(*files)
start_time = time.time()
if JAVA_MAJOR_VERSION > 8:
cms_slow_death_warn_only = java_cmd[
'-Xmx100m',
'-XX:+UseConcMarkSweepGC',
'-XX:CMSInitiatingOccupancyFraction=75',
agent_path + "=5,1,9,warn=2,touch=" + str(jvmquake_warn_path),
'-cp', class_path,
'SlowDeathOOM'
]
else:
cms_slow_death_warn_only = java_cmd[
'-Xmx100m',
'-XX:+UseParNewGC',
'-XX:+UseConcMarkSweepGC',
'-XX:CMSInitiatingOccupancyFraction=75',
agent_path + "=5,1,9,warn=2,touch=" + str(jvmquake_warn_path),
'-cp', class_path,
'SlowDeathOOM'
]
print("Executing Complex CMS Slow Death OOM")
print("[{0}]".format(cms_slow_death_warn_only))
with cms_slow_death_warn_only.bgrun(retcode=-9, timeout=20) as proc:
> pid = proc.pid
tests/test_hard_ooms.py:261:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.5/contextlib.py:66: in __exit__
next(self.gen)
.tox/test/lib/python3.5/site-packages/plumbum/commands/base.py:212: in bgrun
runner()
.tox/test/lib/python3.5/site-packages/plumbum/commands/base.py:201: in runner
return run_proc(p, retcode, timeout)
.tox/test/lib/python3.5/site-packages/plumbum/commands/processes.py:322: in run_proc
return _check_process(proc, retcode, timeout, stdout, stderr)
.tox/test/lib/python3.5/site-packages/plumbum/commands/processes.py:24: in _check_process
proc.verify(retcode, timeout, stdout, stderr)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <plumbum.machines.local.PlumbumLocalPopen object at 0x7f15ec2f96d8>, retcode = -9, timeout = 20
stdout = 'triggering OutOfMemory by allocating 81107353.60 bytes\n'
stderr = '(jvmquake) using options: threshold=[5s],runtime_weight=[1:1],action=[signal 9]\n(jvmquake) using keyword options: warn_threshold=[2s],touch_path=[/tmp/jvmquake_custom_path]\n'
def verify(self, retcode, timeout, stdout, stderr):
"""This verifies that the correct command is attributed."""
if getattr(self, "_timed_out", False):
raise ProcessTimedOut(
"Process did not terminate within {} seconds".format(timeout),
> getattr(self, "argv", None),
)
E plumbum.commands.processes.ProcessTimedOut: ('Process did not terminate within 20 seconds', ['/usr/lib/jvm/java-8-openjdk-amd64/bin/java', '-Xmx100m', '-XX:+UseParNewGC', '-XX:+UseConcMarkSweepGC', '-XX:CMSInitiatingOccupancyFraction=75', '-agentpath:/home/bking/code/jvmquake/build/libjvmquake-linux-x86_64.so=5,1,9,warn=2,touch=/tmp/jvmquake_custom_path', '-cp', '/home/bking/code/jvmquake/tests', 'SlowDeathOOM'])
.tox/test/lib/python3.5/site-packages/plumbum/machines/base.py:18: ProcessTimedOut
================================================ short test summary info ================================================
FAILED tests/test_hard_ooms.py::test_jvmquake_cms_slow_death_oom - plumbum.commands.processes.ProcessTimedOut: ('Proce...
FAILED tests/test_hard_ooms.py::test_jvmquake_cms_slow_death_core - plumbum.commands.processes.ProcessTimedOut: ('Proc...
FAILED tests/test_hard_ooms.py::test_jvmquake_cms_touch_warning - plumbum.commands.processes.ProcessTimedOut: ('Proces...
FAILED tests/test_hard_ooms.py::test_jvmquake_cms_touch_warning_custom_path - plumbum.commands.processes.ProcessTimedO...
ERROR tests/test_basic_ooms.py::test_jvmquake_thread_oom - ValueError: current limit exceeds maximum limit
============================= 4 failed, 5 passed, 4 deselected, 1 error in 75.47s (0:01:15) =============================
ERROR: InvocationError: '/home/bking/code/jvmquake/.tox/test/bin/py.test -s tests -k test_jvmquake_'
________________________________________________________ summary ________________________________________________________
ERROR: test: commands failed
Makefile:27: recipe for target 'test_jvmquake' failed
make[1]: *** [test_jvmquake] Error 1
make[1]: Leaving directory '/home/bking/code/jvmquake'
dh_auto_test: make -j2 test returned exit code 2
debian/rules:15: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
bking@palladium:~/code/jvmquake$