Package Details: nbdkit 1.40.4-1

Git Clone URL: https://aur.archlinux.org/nbdkit.git (read-only, click to copy)
Package Base: nbdkit
Description: NBD server toolkit
Upstream URL: https://gitlab.com/nbdkit/nbdkit/
Licenses: custom: BSD
Submitter: t-8ch
Maintainer: t-8ch (rwmjones)
Last Packager: t-8ch
Votes: 5
Popularity: 0.000503
First Submitted: 2019-02-22 14:36 (UTC)
Last Updated: 2024-10-13 10:57 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 .. 12 Next › Last »

dreieck commented on 2024-04-28 15:09 (UTC) (edited on 2024-04-28 17:45 (UTC) by dreieck)

Ahoj,

a few tests fail for me:

==> Starting check()...
[...]
[...]
[...]
PASS: test-data
FAIL: test-memory
FAIL: test-memory-allocator-malloc
FAIL: test-memory-allocator-zstd
PASS: test-nbd
[...]
============================================================================
Testsuite summary for nbdkit 1.36.4
============================================================================
# TOTAL: 337
# PASS:  315
# SKIP:  19
# XFAIL: 0
# FAIL:  3
# XPASS: 0
# ERROR: 0
============================================================================
See tests/test-suite.log
============================================================================
make[3]: *** [Makefile:4651: test-suite.log] Error 1
make[3]: Leaving directory '/var/cache/makepkg/build/nbdkit/src/nbdkit-1.36.4/tests'
make[2]: *** [Makefile:4759: check-TESTS] Error 2
make[2]: Leaving directory '/var/cache/makepkg/build/nbdkit/src/nbdkit-1.36.4/tests'
make[1]: *** [Makefile:7247: check-am] Error 2
make[1]: Leaving directory '/var/cache/makepkg/build/nbdkit/src/nbdkit-1.36.4/tests'
make: *** [Makefile:738: check-recursive] Error 1
==> ERROR: A failure occurred in check().

tests/test-suite.log is uploaded ↗ here. It shows:

[...]
No filesystem is currently mounted on /sys/fs/cgroup.
Failed to determine unit we run in, ignoring: No data available
nbdkit: memory.11: debug: memory: flush
fsync /dev/sda
[    1.715737][  T158] BUG: kernel NULL pointer dereference, address: 0000000000000600
[    1.716142][  T158] #PF: supervisor read access in kernel mode
[    1.716454][  T158] #PF: error_code(0x0000) - not-present page
[    1.716752][  T158] PGD 0 P4D 0 
[    1.716920][  T158] Oops: 0000 [#1] PREEMPT SMP NOPTI
[    1.717173][  T158] CPU: 0 PID: 158 Comm: guestfsd Tainted: G        W          6.8.8-1-longcmdline-amdignoreminpcap-cpuopt-custom-clang #1 ca677a19be9e161337c1bf80555e14b9fed8186c
[    1.717945][  T158] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS Arch Linux 1.16.3-1-1 04/01/2014
[    1.718432][  T158] RIP: 0010:zswap_shrinker_count+0xde/0x1a0
[    1.718722][  T158] Code: 21 c2 03 c1 e6 06 48 39 f2 7e 1b 48 39 c1 75 0e 48 8b 0d 05 06 eb 01 48 89 0d 6e 73 d3 04 48 8b 38 e8 f6 02 dd ff f3 0f 1e fa <49> 8b 8f 00 06 00 00 48 8b 81 98 01 00 00 4c 8b a9 a0 01 00 00 4d
[    1.719648][  T158] RSP: 0018:ffff9c9e8086f8f8 EFLAGS: 00010246
[    1.719959][  T158] RAX: 00000000fffff33f RBX: ffff895b42bb3800 RCX: 0000000000000002
[    1.720337][  T158] RDX: 0000000000000000 RSI: ffff9c9e8086f9c0 RDI: ffff895b8fa48e80
[    1.720725][  T158] RBP: ffff9c9e8086f9c8 R08: 0000000000000000 R09: 0000000000000000
[    1.721102][  T158] R10: 0000000000000000 R11: ffffffff8f758c30 R12: ffff895b8ffdbd88
[    1.721482][  T158] R13: 0000000000000000 R14: ffff9c9e8086f9c0 R15: 0000000000000000
[    1.721866][  T158] FS:  00007fbd69ed71c0(0000) GS:ffff895b89e00000(0000) knlGS:0000000000000000
[    1.722291][  T158] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    1.722605][  T158] CR2: 0000000000000600 CR3: 0000000001fc4000 CR4: 0000000000750ef0
[    1.722985][  T158] PKRU: 55555554
[    1.723168][  T158] Call Trace:
[    1.723332][  T158]  <TASK>
[    1.723476][  T158]  ? __die_body+0x7a/0x110
[    1.723690][  T158]  ? page_fault_oops+0x46e/0x580
[    1.723929][  T158]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.724200][  T158]  ? kmem_cache_free_bulk+0x3c1/0x490
[    1.724461][  T158]  ? do_user_addr_fault+0x5d4/0x7b0
[    1.724711][  T158]  ? exc_page_fault+0x61/0x150
[    1.724941][  T158]  ? asm_exc_page_fault+0x26/0x30
[    1.725183][  T158]  ? __cfi_zswap_shrinker_count+0x10/0x10
[    1.725471][  T158]  ? zswap_shrinker_count+0xde/0x1a0
[    1.725726][  T158]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.725995][  T158]  do_shrink_slab+0x47/0x380
[    1.726220][  T158]  shrink_slab+0x128/0x680
[    1.726448][  T158]  ? super_lock+0x18c/0x240
[    1.726723][  T158]  drop_slab+0xb1/0x140
[    1.726938][  T158]  ? __cfi_drop_pagecache_sb+0x10/0x10
[    1.727204][  T158]  drop_caches_sysctl_handler+0x94/0x120
[    1.727475][  T158]  proc_sys_call_handler+0x249/0x3e0
[    1.727731][  T158]  vfs_write+0x379/0x400
[    1.727945][  T158]  ksys_write+0x72/0x100
[    1.728152][  T158]  do_syscall_64+0x8e/0x150
[    1.728373][  T158]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.728644][  T158]  ? do_syscall_64+0x9a/0x150
[    1.728869][  T158]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.729164][  T158]  ? do_syscall_64+0x9a/0x150
[    1.729395][  T158]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.729677][  T158]  ? do_wp_page+0xa02/0x1610
[    1.729908][  T158]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.730181][  T158]  ? __rseq_handle_notify_resume+0x30b/0x600
[    1.730474][  T158]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.730744][  T158]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.731012][  T158]  ? handle_mm_fault+0xc51/0x1630
[    1.731255][  T158]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.731525][  T158]  ? do_user_addr_fault+0x481/0x7b0
[    1.731779][  T158]  ? srso_alias_return_thunk+0x5/0xfbef5
[    1.732054][  T158]  ? exc_page_fault+0x61/0x150
[    1.732287][  T158]  entry_SYSCALL_64_after_hwframe+0x55/0x5d
[    1.732572][  T158] RIP: 0033:0x7fbd6a5491a4
[    1.732785][  T158] Code: c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 80 3d a5 3e 0e 00 00 74 13 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 c3 0f 1f 00 48 83 ec 28 48 89 54 24 18 48
[    1.733714][  T158] RSP: 002b:00007ffcb2667548 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
[    1.734120][  T158] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007fbd6a5491a4
[    1.734500][  T158] RDX: 0000000000000001 RSI: 00005648cb532c30 RDI: 0000000000000004
[    1.734880][  T158] RBP: 00005648cb532c30 R08: 0000000000000000 R09: 0000000000000000
[    1.735260][  T158] R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000001
[    1.735642][  T158] R13: 00005648cb4ac750 R14: 00007fbd6a623f00 R15: 00005648cb4ac430
[    1.736021][  T158]  </TASK>
[    1.736167][  T158] Modules linked in: virtio_snd snd_pcm snd_timer snd soundcore crc8 crc7 crc4 crc32test crc_itu_t virtiofs fuse ext4 mbcache jbd2 virtio_vdpa vdpa virtio_mmio virtio_mem virtio_input virtio_dma_buf virtio_balloon virtio_vfio_pci virtio_pci virtio_pci_modern_dev virtio_pci_legacy_dev vfio_pci_core irqbypass vfio virtio_scsi sd_mod virtio_rpmsg_bus rpmsg_ns rpmsg_core virtio_pmem nd_virtio virtio_net net_failover failover virtio_iommu virtio_crypto crypto_engine virtio_console virtio_rng virtio_bt bluetooth rfkill crc16 virtio_blk ata_piix libata scsi_mod scsi_common
[    1.738729][  T158] CR2: 0000000000000600
[    1.738932][  T158] ---[ end trace 0000000000000000 ]---
[    1.739199][  T158] RIP: 0010:zswap_shrinker_count+0xde/0x1a0
[    1.739493][  T158] Code: 21 c2 03 c1 e6 06 48 39 f2 7e 1b 48 39 c1 75 0e 48 8b 0d 05 06 eb 01 48 89 0d 6e 73 d3 04 48 8b 38 e8 f6 02 dd ff f3 0f 1e fa <49> 8b 8f 00 06 00 00 48 8b 81 98 01 00 00 4c 8b a9 a0 01 00 00 4d
[    1.740442][  T158] RSP: 0018:ffff9c9e8086f8f8 EFLAGS: 00010246
[    1.740745][  T158] RAX: 00000000fffff33f RBX: ffff895b42bb3800 RCX: 0000000000000002
[    1.741127][  T158] RDX: 0000000000000000 RSI: ffff9c9e8086f9c0 RDI: ffff895b8fa48e80
[    1.741510][  T158] RBP: ffff9c9e8086f9c8 R08: 0000000000000000 R09: 0000000000000000
[    1.741904][  T158] R10: 0000000000000000 R11: ffffffff8f758c30 R12: ffff895b8ffdbd88
[    1.742286][  T158] R13: 0000000000000000 R14: ffff9c9e8086f9c0 R15: 0000000000000000
[    1.742669][  T158] FS:  00007fbd69ed71c0(0000) GS:ffff895b89e00000(0000) knlGS:0000000000000000
[    1.743114][  T158] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    1.743426][  T158] CR2: 0000000000000600 CR3: 0000000001fc4000 CR4: 0000000000750ef0
[    1.743805][  T158] PKRU: 55555554
[    1.743975][  T158] note: guestfsd[158] exited with irqs disabled
/init: line 265:   158 Killed                  $cmd
+ sync
nbdkit: memory.2: debug: memory: flush
+ test '' = 1
+ reboot -f
/init: line 272: reboot: command not found
[    1.748221][    T1] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00
[    1.748727][    T1] Kernel Offset: 0xe200000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
[    1.749299][    T1] Rebooting in 1 seconds..
nbdkit: memory.2: debug: memory: flush
nbdkit: memory.13: debug: memory: flush
nbdkit: memory.13: debug: client sent NBD_CMD_DISC, closing connection
nbdkit: memory.13: debug: exiting worker thread memory.13
nbdkit: memory.6: debug: exiting worker thread memory.6
nbdkit: memory.10: debug: exiting worker thread memory.10
nbdkit: memory.15: debug: exiting worker thread memory.15
nbdkit: memory.12: debug: exiting worker thread memory.12
nbdkit: memory.14: debug: exiting worker thread memory.14
nbdkit: memory.9: debug: exiting worker thread memory.9
nbdkit: memory.0: debug: exiting worker thread memory.0
nbdkit: memory.5: debug: exiting worker thread memory.5
nbdkit: memory.3: debug: exiting worker thread memory.3
nbdkit: memory.1: debug: exiting worker thread memory.1
nbdkit: memory.8: debug: exiting worker thread memory.8
nbdkit: memory.11: debug: exiting worker thread memory.11
nbdkit: memory.4: debug: exiting worker thread memory.4
nbdkit: memory.2: debug: exiting worker thread memory.2
nbdkit: memory.7: debug: exiting worker thread memory.7
nbdkit: memory[1]: debug: memory: finalize
nbdkit: memory[1]: debug: memory: close
libguestfs: error: appliance closed the connection unexpectedly, see earlier error messages
[...]

Regards!

dreieck commented on 2023-12-08 12:54 (UTC)

Thanks, great!, that solves package manager hickups.
I think you should add something like "(needs to be installed at build time)" to the comment to the optional dependency.

Regards!

t-8ch commented on 2023-12-07 19:05 (UTC)

I went with your second option. It imposes the least overhead on users not affected by this problem.

dreieck commented on 2023-12-07 14:30 (UTC) (edited on 2023-12-08 12:50 (UTC) by dreieck)

If boost is needed as a build dependency for rb_torrent, and it is optional after build, you should either

  • have boost as make dependency and as optional dependency (or boost-libs as optional dependency if boost is not needed to run rb_torrent), or
  • have boost as optinal dependency with a descriptive text that it must be present at compile time to include the feature, and have a check in build() that when it is not installed --disable-torrent is passed so that no build error occurs.

The current solution that breaks build when boost is not installed but not pull in boost as a build dependency is not OK.

t-8ch commented on 2023-12-05 21:46 (UTC)

boost ist only a build-dependency for libtorrent-rasterbar. Which is why the binary package does not pull it in as a dependency. Unfortunately there is proper way to express an optional builddependency with the Arch packaging tools.

We can either make it an optdepends or a makedepends. I'll add a reason for both optdepends so it's clear that they are both needed.

boost-lib is not even sufficient as we need the headers, not the libraries.

rwmjones commented on 2023-12-05 20:22 (UTC) (edited on 2023-12-05 20:25 (UTC) by rwmjones)

So ... boost isn't (or shouldn't be) a direct dependency. I think it should only come indirectly via the optional rb_torrent dependency. At least in theory rb_torrent ought to itself pull in anything it needs like boost.

However if an extra dependency for nbdkit fixes the problem then let's do that.

Edit: To give a concrete example, I know that Fedora doesn't work like Arch, but in Fedora we only depend on rb_libtorrent-devel:

https://src.fedoraproject.org/rpms/nbdkit/blob/rawhide/f/nbdkit.spec#_123

and it's that other package which depends on boost-devel:

https://src.fedoraproject.org/rpms/rb_libtorrent/blob/rawhide/f/rb_libtorrent.spec#_37

kescherAUR commented on 2023-12-05 20:19 (UTC)

Should have boost-libs as a dependency (either that, or --disable-torrent, but I'd prefer keeping support for that) and boost as a make dependency.

dreieck commented on 2023-11-28 16:56 (UTC)

Adding dash as make dependency won't make a difference as it won't change /bin/sh. (And changing it for the test is a no-go).

Yes, if /bin/sh is hardcoded instead of /bin/bash or just sh (in which case $PATH can be manipulated), then I see no easy option.

Can you test again with the new 1.36.2 version?

I still get

libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include -I../../common/include -I../../common/utils -I. -pthread -fexceptions -DTORRENT_LINKING_SHARED -DBOOST_ASIO_ENABLE_CANCELIO -DBOOST_ASIO_NO_DEPRECATED -DTORRENT_USE_OPENSSL -DTORRENT_USE_LIBCRYPTO -DTORRENT_SSL_PEERS -DOPENSSL_NO_SSL2 -march=native -mtune=native -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -MT nbdkit_torrent_plugin_la-torrent.lo -MD -MP -MF .deps/nbdkit_torrent_plugin_la-torrent.Tpo -c torrent.cpp  -fPIC -DPIC -o .libs/nbdkit_torrent_plugin_la-torrent.o
In file included from /usr/include/libtorrent/time.hpp:36,
                 from /usr/include/libtorrent/alert.hpp:67,
                 from torrent.cpp:47:
/usr/include/libtorrent/config.hpp:52:10: fatal error: boost/config.hpp: No such file or directory
   52 | #include <boost/config.hpp>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.

With --disable-torrent, compilation succeeds, and check() now passes past test-floppy.sh and finally succeeds in total. However, some earlier and later tests also need a couple of minutes (e.g. test-file-dirfd.sh, test-info-conntime.sh, test-iso.sh, test-linuxdisk.sh and many others), and this was already the case with the previous version.

Regards!

rwmjones commented on 2023-11-28 12:52 (UTC)

For the stall, if it happens even with the latest version can you look to see what test it is stalling on? There will be an associated process or processes running, looking something like:

$ ps afwwwx
3001970 pts/2    S+     0:00  |                                   \_ /bin/sh ../test-driver --test-name test-tar-xz-curl --log-file 
3001975 pts/2    Sl+    0:00  |                                   |   \_ ./test-tar-xz-curl
3001979 pts/2    Sl+    0:00  |                                   |       \_ /home/rjones/d/nbdkit/server/nbdkit -U /tmp/nbdkitHKxUI
3003125 pts/2    Sl+    0:00  |                                   |       \_ /usr/bin/qemu-kvm -global virtio-blk-pci.scsi=off -no-u
3003127 pts/2    S+     0:00  |                                   |       \_ ./test-tar-xz-curl

which should be enough information to tell which test is hanging and find the associated log file.

If nbdkit itself seems to be hanging then using gstack can often print a stack trace of the threads inside nbdkit which might be useful.

t-8ch commented on 2023-11-28 12:25 (UTC)

@dreieck:

Can you test again with the new 1.36.2 version?

Adding dash as make dependency won't make a difference as it won't change /bin/sh. (And changing it for the test is a no-go).