cowsql / raft

Asynchronous C implementation of the Raft consensus protocol
https://raft.readthedocs.io
Other
45 stars 6 forks source link

dependency version / build specific test failures in test/integration/uv #184

Open andreasstieger opened 5 months ago

andreasstieger commented 5 months ago

I am investigating dependency build specific test failure in test/integration/uv.

[   61s] FAIL: test/integration/uv

Specifically:

[   61s] uv: src/unix/core.c:342: uv__finish_close: Assertion `0' failed.
[   61s] Error: child killed by signal 6 (Aborted)
[   61s]   address=not-existing:9000, bind-address=                  [ OK    ] [ 0.00038428 / 0.00038429 CPU ]
[   61s]   address=not-existing:9000, bind-address=500.1.2.3:9000    [ OK    ] [ 0.00006738 / 0.00006705 CPU ]
[   61s]   address=not-existing:9000, bind-address=not-existing:9000 [ OK    ] [ 0.00037213 / 0.00037213 CPU ]
[   61s]   address=not-existing:9000, bind-address=192.0.2.0:9000    [ ERROR ]
[   61s] uv: src/unix/core.c:342: uv__finish_close: Assertion `0' failed.
[   61s] Error: child killed by signal 6 (Aborted)
[   61s]   address=192.0.2.0:9000, bind-address=                     [ ERROR ]
[   61s] uv: src/unix/core.c:342: uv__finish_close: Assertion `0' failed.
[   61s] Error: child killed by signal 6 (Aborted)
[   61s]   address=192.0.2.0:9000, bind-address=500.1.2.3:9000       [ OK    ] [ 0.00005202 / 0.00005182 CPU ]
[   61s]   address=192.0.2.0:9000, bind-address=not-existing:9000    [ OK    ] [ 0.00038508 / 0.00038428 CPU ]
[   61s]   address=192.0.2.0:9000, bind-address=192.0.2.0:9000       [ ERROR ]
[   61s] uv: src/unix/core.c:342: uv__finish_close: Assertion `0' failed.
[   61s] Error: child killed by signal 6 (Aborted)
[   61s] tcp_listen/firstOfTwo                                       [ OK    ] [ 0.00013679 / 0.00013686 CPU ]
[   61s] tcp_listen/secondOfTwo                                      [ OK    ] [ 0.00010684 / 0.00010670 CPU ]
[   61s] tcp_listen/alreadyBound                                     [ ERROR ]
[   61s] uv: src/unix/core.c:342: uv__finish_close: Assertion `0' failed.
[   61s] Error: child killed by signal 6 (Aborted)
[   61s] tcp_listen/cannotBindFirst                                  [ ERROR ]
[   61s] uv: src/unix/core.c:342: uv__finish_close: Assertion `0' failed.
[   61s] Error: child killed by signal 6 (Aborted)
[   61s] tcp_listen/cannotBindSecond                                 [ ERROR ]
[   61s] uv: src/unix/core.c:342: uv__finish_close: Assertion `0' failed.
[   61s] Error: child killed by signal 6 (Aborted)

Fails with:

[   16s] gcc7-7.5.0+r278197-150000.4.41.1      ########################################
[   16s] gcc-7-3.9.1                           ########################################
[...]
[   16s] libuv1-1.47.0-lp155.74.1              ########################################
[   16s] libuv-devel-1.47.0-lp155.74.1         ########################################

Also fails with:

[   15s] gcc7-7.5.0+r278197-4.30.1             ########################################
[   15s] gcc-7-3.9.1                           ########################################
[   15s] libuv1-1.44.2-150500.1.1              ########################################
[   15s] libuv-devel-1.44.2-150500.1.1         ########################################

The above are openSUSE Leap 15.5.

Works with (openSUSE Leap 15.6 and up):

[   16s] gcc7-7.5.0+r278197-150000.4.41.1      ########################################
[   16s] gcc-7-3.9.1                           ########################################
[   17s] libuv1-1.47.0-lp156.74.1              ########################################
[   17s] libuv-devel-1.47.0-lp156.74.1         ########################################

Build settings:

[   23s] + CFLAGS='-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g'
[   23s] + export CFLAGS
[   23s] + CXXFLAGS='-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g'
[   23s] + export CXXFLAGS
[   23s] + FFLAGS='-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g'
[   23s] + export FFLAGS
[   23s] + ./configure --host=x86_64-suse-linux-gnu --build=x86_64-suse-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/lib --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --disable-dependency-tracking --disable-static
[   23s] checking for a BSD-compatible install... /usr/bin/install -c

Current rpm spec and logs in https://build.opensuse.org/package/show/devel:libraries:c_c++/raft (also fails with libuv 1.48.0) This issue is not new, seen in 0.22.0 but I had canonical/raft before.

Anything I can dive into?

freeekanayaka commented 5 months ago

I'm not quite able to reproduce this (Debian/testing, with libuv 1.48.0).

Both the underlying code and the associated tests where contributed a while ago by an external contributor, and I'm not terribly familiar with it. This is also code that is not used at all by dqlite or cowsql, so I'm somehow tempted to just get rid of it.

Alternatively, would it be possible to have SSH access to a machine where I can easily reproduce this?

I can't think of any easy way to debug this via this issue.