ostreedev / ostree

Operating system and container binary deployment and upgrades
https://ostreedev.github.io/ostree/
Other
1.23k stars 287 forks source link

Tests failure on Debian stable on ARM #378

Open hadess opened 8 years ago

hadess commented 8 years ago

Here's the full list, will dive into them as we go along.

ERROR: tests/test-lzma - missing test plan
ERROR: tests/test-lzma - exited with status 134 (terminated by signal 6?)
ERROR: tests/test-basic.sh - too few tests run (expected 57, got 55)
ERROR: tests/test-basic.sh - exited with status 1
ERROR: tests/test-commit-sign.sh - too few tests run (expected 1, got 0)
ERROR: tests/test-commit-sign.sh - exited with status 135 (terminated by signal 7?)
ERROR: tests/test-pull-archive-z.sh - too few tests run (expected 11, got 2)
ERROR: tests/test-pull-archive-z.sh - exited with status 135 (terminated by signal 7?)
ERROR: tests/test-pull-depth.sh - too few tests run (expected 1, got 0)
ERROR: tests/test-pull-depth.sh - exited with status 139 (terminated by signal 11?)
ERROR: tests/test-pull-summary-sigs.sh - too few tests run (expected 7, got 1)
ERROR: tests/test-pull-summary-sigs.sh - exited with status 139 (terminated by signal 11?)
ERROR: tests/test-delta.sh - too few tests run (expected 8, got 0)
ERROR: tests/test-delta.sh - exited with status 1
ERROR: tests/test-prune.sh - too few tests run (expected 2, got 0)
ERROR: tests/test-prune.sh - exited with status 1
hadess commented 8 years ago

1.

This first one is because:

      res = lzma_easy_encoder (&self->lstream, 8, LZMA_CHECK_CRC64);

fails with LZMA_MEM_ERROR, and the LZMA compressor fails to send the send back an error, sends 0 instead.

OSTree:ERROR:tests/test-lzma.c:50:helper_test_compress_decompress: assertion failed (n_bytes_written > 0): (0 > 0)
MALLOC_CHECK_=2 MALLOC_PERTURB_=48 ./tests/test-lzma

To reproduce on an affected system.

gcc version 4.9.2 (Debian 4.9.2-10) model name : ARMv7 Processor rev 2 (v7l)

hadess commented 8 years ago
  1. Only fails deep within liblzma with MALLOC_CHECK_=2 MALLOC_PERTURB_=48 set, so I'll chalk this off as a failure in that code, though limiting the amount of maximum RAM used by that code throws up an actual failure on x86-64.
  2. Fails because the $PATH is incorrect to locate ostree:
VERBOSE=1 make check-TESTS TESTS=tests/test-basic.sh
<snip>
++ test -n ''
++ test -z ''
++ CMD_PREFIX='env LD_PRELOAD=/home/chip/ostree-2016.6/tests/libreaddir-rand.so'
+ setup_test_repository bare
+ mode=bare
+ shift
++ pwd
+ oldpwd=/var/tmp/tap-test.HwxkgF
+ cd /var/tmp/tap-test.HwxkgF
+ mkdir repo
+ cd repo
++ pwd
+ ot_repo=--repo=/var/tmp/tap-test.HwxkgF/repo
+ export 'OSTREE=env LD_PRELOAD=/home/chip/ostree-2016.6/tests/libreaddir-rand.so ostree --repo=/var/tmp/tap-test.HwxkgF/repo'
+ OSTREE='env LD_PRELOAD=/home/chip/ostree-2016.6/tests/libreaddir-rand.so ostree --repo=/var/tmp/tap-test.HwxkgF/repo'
+ test -n bare
+ env LD_PRELOAD=/home/chip/ostree-2016.6/tests/libreaddir-rand.so ostree --repo=/var/tmp/tap-test.HwxkgF/repo init --mode=bare
env: ostree: No such file or directory

The fix looks to be:

-       PATH=$$(cd $(top_builddir)/tests && pwd):$${PATH} \
+       PATH=$$(cd $(top_builddir) && pwd):$${PATH} \

(Which might mean that it's the OS-installed ostree that might have been tested up until now)

  1. I can't reproduce the bug stand-alone yet.
  2. is the same as 1, OOMs

And I'm going to say that guess that most of the other failures are due to the 512 megs of RAM on my test system.

smcv commented 8 years ago

Fails because the $PATH is incorrect to locate ostree

I'm fairly sure I fixed that in ca899cc and 0ed9f52? The build system is meant to put a symlink ostree → ../.libs/lt-ostree (or whatever the real binary is) in the tests/ directory.

smcv commented 8 years ago

I'm hoping to get an official Debian backport of OSTree and Flatpak going at some point, but there are still several yaks to be shaved between here and there: by policy, official backports come from testing, and OSTree can't migrate from unstable to testing until it builds successfully on all architectures where it has previously built, including mipsel where ostree pull sporadically fails with a bus error and no useful backtrace.

When that exists, you'll be able to install ostree_2016.6-42~bpo8+1 (or whatever version it is) from the jessie-backports suite, instead of having to compile your own on an underpowered board.

hadess commented 8 years ago

FYI, that's the test system, if someone wants to get it into their CI ;) http://getchip.com/

hadess commented 8 years ago

Ignore my comment about 2., not sure what I was doing then.

cgwalters commented 7 years ago

It looks like the LZMA thing is an independent bug, I'll split that out. But where are we on the rest of this?

hadess commented 7 years ago

It looks like the LZMA thing is an independent bug, I'll split that out.

I couldn't find a bug for this one, so I filed: https://github.com/ostreedev/ostree/issues/440

But where are we on the rest of this?

With libsoup and ostree master, I still get hangs and crashes as mentioned in: https://github.com/ostreedev/ostree/issues/381 which should probably be reopened, and/or requirements updated to match.

hadess commented 7 years ago

With libsoup, ostree and flatpak master, it hangs trying to install the fd.o runtime:

Thread 2 (Thread 0xb35ff360 (LWP 16994)):
#0  syscall () at ../ports/sysdeps/unix/sysv/linux/arm/syscall.S:37
#1  0xb6903ace in g_mutex_lock_slowpath (mutex=mutex@entry=0xfb378) at /build/glib2.0-5Ukv2U/glib2.0-2.42.1/./glib/gthread-posix.c:1314
#2  0xb6904256 in g_mutex_lock (mutex=mutex@entry=0xfb378) at /build/glib2.0-5Ukv2U/glib2.0-2.42.1/./glib/gthread-posix.c:1338
#3  0xb68d2382 in g_source_destroy_internal (source=0xfa7f0, context=0xfb378, have_lock=have_lock@entry=0) at /build/glib2.0-5Ukv2U/glib2.0-2.42.1/./glib/gmain.c:1159
#4  0xb68d2874 in g_source_destroy (source=<optimized out>) at /build/glib2.0-5Ukv2U/glib2.0-2.42.1/./glib/gmain.c:1227
#5  0xb6c6b102 in soup_session_dispose (object=0xb5504be0) at soup-session.c:317
#6  0xb69829ce in g_object_unref (_object=0xb5504be0) at /build/glib2.0-5Ukv2U/glib2.0-2.42.1/./gobject/gobject.c:3133
#7  0xb6ec1692 in ostree_fetcher_session_thread (data=0x5e408) at src/libostree/ostree-fetcher.c:486
#8  0xb68eeffa in g_thread_proxy (data=0xd4f20) at /build/glib2.0-5Ukv2U/glib2.0-2.42.1/./glib/gthread.c:764
#9  0xb6deaf88 in start_thread (arg=0xb35ff360) at pthread_create.c:311
#10 0xb68211fc in ?? () at ../ports/sysdeps/unix/sysv/linux/arm/nptl/../clone.S:92 from /lib/arm-linux-gnueabihf/libc.so.6
Thread 1 (Thread 0xb6f10240 (LWP 16930)):
#0  __libc_do_syscall () at ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:43
#1  0xb6debe2a in pthread_join (threadid=<optimized out>, thread_return=0x0) at pthread_join.c:92
#2  0xb690428e in g_system_thread_wait (thread=thread@entry=0xd4f20) at /build/glib2.0-5Ukv2U/glib2.0-2.42.1/./glib/gthread-posix.c:1218
#3  0xb68ef35a in g_thread_join (thread=0xd4f20) at /build/glib2.0-5Ukv2U/glib2.0-2.42.1/./glib/gthread.c:928
#4  0xb6ec2110 in _ostree_fetcher_finalize (object=0xb4603390) at src/libostree/ostree-fetcher.c:547
#5  0xb6982a48 in g_object_unref (_object=0xb4603390) at /build/glib2.0-5Ukv2U/glib2.0-2.42.1/./gobject/gobject.c:3170
#6  0xb6eab68a in ostree_repo_pull_with_options (self=self@entry=0x72018, remote_name_or_baseurl=remote_name_or_baseurl@entry=0xbec04899 "gnome", options=<optimized out>, progress=progress@entry=0xb5287690, cancellable=cancellable@entry=0x0, error=error@entry=0xbec04584) at src/libostree/ostree-repo-pull.c:2886
#7  0x00028272 in repo_pull_one_dir (self=self@entry=0x72018, remote_name=remote_name@entry=0xbec04899 "gnome", dir_to_pull=dir_to_pull@entry=0x0, refs_to_fetch=refs_to_fetch@entry=0xbec044c0, flags=flags@entry=OSTREE_REPO_PULL_FLAGS_NONE, progress=progress@entry=0xb5287690, cancellable=cancellable@entry=0x0, error=error@entry=0xbec04584) at common/flatpak-dir.c:1242
#8  0x0002a6de in flatpak_dir_pull (self=self@entry=0x754c8, repository=repository@entry=0xbec04899 "gnome", ref=ref@entry=0x71748 "runtime/org.freedesktop.Platform.Locale/arm/1.4", subpaths=subpaths@entry=0xb2f28, repo=0x72018, repo@entry=0x0, flags=flags@entry=OSTREE_REPO_PULL_FLAGS_NONE, progress=0xb5287690, progress@entry=0x0, cancellable=cancellable@entry=0x0, error=error@entry=0xbec04584) at common/flatpak-dir.c:1297
#9  0x0002db5a in flatpak_dir_install (self=0x754c8, no_pull=0, no_deploy=no_deploy@entry=0, ref=0x71748 "runtime/org.freedesktop.Platform.Locale/arm/1.4", remote_name=0xbec04899 "gnome", opt_subpaths=0xb2f28, progress=0x0, cancellable=0x0, error=0xbec04584) at common/flatpak-dir.c:3112
#10 0x0002dd3a in flatpak_dir_install_or_update (self=<optimized out>, no_pull=<optimized out>, no_deploy=0, ref=<optimized out>, remote_name=remote_name@entry=0xbec04899 "gnome", opt_subpaths=0xb2f28, progress=progress@entry=0x0, cancellable=cancellable@entry=0x0, error=error@entry=0xbec04584) at common/flatpak-dir.c:3401
#11 0x0001c6aa in flatpak_builtin_install (argc=4, argv=0xbec04764, cancellable=0x0, error=<optimized out>) at app/flatpak-builtins-install.c:224
#12 0x0001b138 in flatpak_run (argc=4, argc@entry=5, argv=argv@entry=0xbec04764, res_error=res_error@entry=0xbec045f0) at app/flatpak-main.c:361
#13 0x0001ab9a in main (argc=5, argv=0xbec04764) at app/flatpak-main.c:449