justincormack / ljsyscall

LuaJIT Unix syscall FFI
http://www.myriabit.com/ljsyscall/
Other
440 stars 53 forks source link

Test failing on FreeBSD 10.2 #186

Closed etosan closed 8 years ago

etosan commented 9 years ago

I am trying to learn more about unices. After failing to get luajit + luaposix running on FreeBSD I decided to give ljsyscall a try:

With latest commit d78235c50969bcd5a3ccf87a664ea05a8dc0b0b9, I am getting these failed test when running test suite: test_filesystem_bsd:test_chflags failed test_filesystem_bsd:test_chflagsat failed test_filesystem_bsd:test_fchflags failed test_filesystem_bsd:test_lchflags failed test_sockets_pipes:test_getsockopt_acceptconn failed test_sockets_pipes:test_inet6_inet_conn_socket failed test_sockets_pipes:test_inet6_only_inet_conn_socket failed test_sockets_pipes:test_inet6_only_inet_conn_socket2 failed test_sockets_pipes:test_inet6_socket failed test_sockets_pipes:test_inet6_udp_socket failed test_sockets_pipes:test_inet_socket failed test_sockets_pipes:test_inet_socket_readv failed test_sockets_pipes:test_recvfrom failed test_sockets_pipes:test_recvfrom_alloc failed test_sockets_pipes:test_setsockopt_keepalive failed test_sockets_pipes:test_setsockopt_keepalive_inet6 failed test_sockets_pipes:test_sockopt_tcp_nodelay failed test_sockets_pipes:test_sockopt_tcp_nodelay_inet6 failed test_sockets_pipes:test_udp_socket failed test_bsd_extattr:test_extattr_empty_fd failed test_bsd_extattr:test_extattr_getsetdel_fd failed test_bsd_extattr:test_extattr_list_fd failed test_bsd_extattr:test_extattr_list_long failed

Commands used : git clone https://github.com/justincormack/ljsyscall.git ljsyscall git submodule update --init --recursive luajit test/test.lua

Would full testing log with backtraces help more?

StrattonStreet commented 9 years ago

Hi, I have been on holiday so havent had a chance to install 10.2 yet... that is a surprising amount of failures, especially just for a point release. I would just pick one of them and look in more detail eg

luajit test/tst.lua test_sockets_pipes:test_inet_socket

Give the full output of that and also run it under ktrace and see if you can see what fails.

I will install 10.2 when I get back.

etosan commented 9 years ago

I am not sure if this is 10.2 related, but currently I don't have access to 10.1 machine.

I am also experimenting with non standard init system, and am still learning to reproduce normal startup sequence with it. Anyway your hint about unusual number of failures made me run tests after booting with official init and number of failed test lowered considerably:

>>> test_filesystem_bsd:test_chflags failed
>>> test_filesystem_bsd:test_chflagsat failed
>>> test_filesystem_bsd:test_fchflags failed
>>> test_filesystem_bsd:test_lchflags failed
>>> test_bsd_extattr:test_extattr_empty_fd failed
>>> test_bsd_extattr:test_extattr_getsetdel_fd failed
>>> test_bsd_extattr:test_extattr_list_fd failed
>>> test_bsd_extattr:test_extattr_list_long failed

Full test log:

>>> test_filesystem_bsd:test_chflags failed
./syscall/helpers.lua:22: Operation not supported
stack traceback:
    ./include/luaunit/luaunit.lua:479: in function <./include/luaunit/luaunit.lua:478>
    [C]: in function 'error'
    ./syscall/helpers.lua:22: in function 'assert'
    ./test/bsd.lua:92: in function 'test_chflags'
    [string "test_filesystem_bsd:test_chflags()"]:1: in main chunk
    [C]: in function 'xpcall'
    ./include/luaunit/luaunit.lua:482: in function 'runTestMethod'
    ./include/luaunit/luaunit.lua:507: in function 'runTestMethodName'
    ./include/luaunit/luaunit.lua:536: in function 'runTestClassByName'
    ./include/luaunit/luaunit.lua:570: in function <./include/luaunit/luaunit.lua:542>
    test/test.lua:2505: in main chunk
    [C]: at 0x00404000
>>> test_filesystem_bsd:test_chflagsat failed
./syscall/helpers.lua:22: Operation not supported
stack traceback:
    ./include/luaunit/luaunit.lua:479: in function <./include/luaunit/luaunit.lua:478>
    [C]: in function 'error'
    ./syscall/helpers.lua:22: in function 'assert'
    ./test/bsd.lua:130: in function 'test_chflagsat'
    [string "test_filesystem_bsd:test_chflagsat()"]:1: in main chunk
    [C]: in function 'xpcall'
    ./include/luaunit/luaunit.lua:482: in function 'runTestMethod'
    ./include/luaunit/luaunit.lua:507: in function 'runTestMethodName'
    ./include/luaunit/luaunit.lua:536: in function 'runTestClassByName'
    ./include/luaunit/luaunit.lua:570: in function <./include/luaunit/luaunit.lua:542>
    test/test.lua:2505: in main chunk
    [C]: at 0x00404000
>>> test_filesystem_bsd:test_fchflags failed
./syscall/helpers.lua:22: Operation not supported
stack traceback:
    ./include/luaunit/luaunit.lua:479: in function <./include/luaunit/luaunit.lua:478>
    [C]: in function 'error'
    ./syscall/helpers.lua:22: in function 'assert'
    ./test/bsd.lua:117: in function 'test_fchflags'
    [string "test_filesystem_bsd:test_fchflags()"]:1: in main chunk
    [C]: in function 'xpcall'
    ./include/luaunit/luaunit.lua:482: in function 'runTestMethod'
    ./include/luaunit/luaunit.lua:507: in function 'runTestMethodName'
    ./include/luaunit/luaunit.lua:536: in function 'runTestClassByName'
    ./include/luaunit/luaunit.lua:570: in function <./include/luaunit/luaunit.lua:542>
    test/test.lua:2505: in main chunk
    [C]: at 0x00404000
>>> test_filesystem_bsd:test_lchflags failed
./syscall/helpers.lua:22: Operation not supported
stack traceback:
    ./include/luaunit/luaunit.lua:479: in function <./include/luaunit/luaunit.lua:478>
    [C]: in function 'error'
    ./syscall/helpers.lua:22: in function 'assert'
    ./test/bsd.lua:105: in function 'test_lchflags'
    [string "test_filesystem_bsd:test_lchflags()"]:1: in main chunk
    [C]: in function 'xpcall'
    ./include/luaunit/luaunit.lua:482: in function 'runTestMethod'
    ./include/luaunit/luaunit.lua:507: in function 'runTestMethodName'
    ./include/luaunit/luaunit.lua:536: in function 'runTestClassByName'
    ./include/luaunit/luaunit.lua:570: in function <./include/luaunit/luaunit.lua:542>
    test/test.lua:2505: in main chunk
    [C]: at 0x00404000
>>> test_bsd_extattr:test_extattr_empty_fd failed
./syscall/helpers.lua:22: unspecified error
stack traceback:
    ./include/luaunit/luaunit.lua:479: in function <./include/luaunit/luaunit.lua:478>
    [C]: in function 'error'
    ./syscall/helpers.lua:22: in function 'assert'
    ./test/bsd.lua:261: in function 'test_extattr_empty_fd'
    [string "test_bsd_extattr:test_extattr_empty_fd()"]:1: in main chunk
    [C]: in function 'xpcall'
    ./include/luaunit/luaunit.lua:482: in function 'runTestMethod'
    ./include/luaunit/luaunit.lua:507: in function 'runTestMethodName'
    ./include/luaunit/luaunit.lua:536: in function 'runTestClassByName'
    ./include/luaunit/luaunit.lua:570: in function <./include/luaunit/luaunit.lua:542>
    test/test.lua:2505: in main chunk
    [C]: at 0x00404000
>>> test_bsd_extattr:test_extattr_getsetdel_fd failed
./syscall/helpers.lua:22: unspecified error
stack traceback:
    ./include/luaunit/luaunit.lua:479: in function <./include/luaunit/luaunit.lua:478>
    [C]: in function 'error'
    ./syscall/helpers.lua:22: in function 'assert'
    ./test/bsd.lua:270: in function 'test_extattr_getsetdel_fd'
    [string "test_bsd_extattr:test_extattr_getsetdel_fd()"]:1: in main chunk
    [C]: in function 'xpcall'
    ./include/luaunit/luaunit.lua:482: in function 'runTestMethod'
    ./include/luaunit/luaunit.lua:507: in function 'runTestMethodName'
    ./include/luaunit/luaunit.lua:536: in function 'runTestClassByName'
    ./include/luaunit/luaunit.lua:570: in function <./include/luaunit/luaunit.lua:542>
    test/test.lua:2505: in main chunk
    [C]: at 0x00404000
>>> test_bsd_extattr:test_extattr_list_fd failed
./syscall/helpers.lua:22: No such file or directory
stack traceback:
    ./include/luaunit/luaunit.lua:479: in function <./include/luaunit/luaunit.lua:478>
    [C]: in function 'error'
    ./syscall/helpers.lua:22: in function 'assert'
    ./test/bsd.lua:323: in function 'test_extattr_list_fd'
    [string "test_bsd_extattr:test_extattr_list_fd()"]:1: in main chunk
    [C]: in function 'xpcall'
    ./include/luaunit/luaunit.lua:482: in function 'runTestMethod'
    ./include/luaunit/luaunit.lua:507: in function 'runTestMethodName'
    ./include/luaunit/luaunit.lua:536: in function 'runTestClassByName'
    ./include/luaunit/luaunit.lua:570: in function <./include/luaunit/luaunit.lua:542>
    test/test.lua:2505: in main chunk
    [C]: at 0x00404000
>>> test_bsd_extattr:test_extattr_list_long failed
./syscall/helpers.lua:22: No such file or directory
stack traceback:
    ./include/luaunit/luaunit.lua:479: in function <./include/luaunit/luaunit.lua:478>
    [C]: in function 'error'
    ./syscall/helpers.lua:22: in function 'assert'
    ./test/bsd.lua:375: in function 'test_extattr_list_long'
    [string "test_bsd_extattr:test_extattr_list_long()"]:1: in main chunk
    [C]: in function 'xpcall'
    ./include/luaunit/luaunit.lua:482: in function 'runTestMethod'
    ./include/luaunit/luaunit.lua:507: in function 'runTestMethodName'
    ./include/luaunit/luaunit.lua:536: in function 'runTestClassByName'
    ./include/luaunit/luaunit.lua:570: in function <./include/luaunit/luaunit.lua:542>
    test/test.lua:2505: in main chunk
    [C]: at 0x00404000
Success : 96% - 199 / 207 (total of 222 tests, 15 skipped)

Maybe it's just permission or setup issue ? I will try to find time to look into ktrace.

justincormack commented 9 years ago

Ok, that trace suggests that extattr is not available (fairly normal, the tests should support skipping that, but obviously dont here, I know they do skip ok on NetBSD and Linux maybe the error is different). It also doesnt support chflags which is less usual. My freeBSD test system is ufs based, I also have a zfs system (freebsd 9 based) which I could check. Which filesystem are you using and are you changing the mount flags from the default.

The first errors are still odd, as socket tests should not fail unless you have got a kernel without ipv4 support, which seems odd.

justincormack commented 9 years ago

I just installed a fresh FreeBSD 10.2 system (ufs based) and there are no errors, so it is not related to 10.1 vs 10.2

etosan commented 8 years ago

Thanks for reporting back, I got further in my research and it seems the error was on my side. I am deeply sorry for being idiot. I am experimenting with luajit in pretty early run stages (right after boot) and I haven't realised I need to setup even lo interfaces. Seems like most socket functions were failing because of that.

justincormack commented 8 years ago

Ah yes, you do need lo or all the IP tests will fail. I had the same issue myself once, had forgotten. Some OSs bring it up for you, others dont seem to.

I did however install FreeBSD 11, with ZFS, and found a FreeBSD bug related to ZFS and extended attributes, which I have filed, and fix other Freebsd 11 issues.