-
-
Notifications
You must be signed in to change notification settings - Fork 177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CTest: Got 1 illegal states #714
Comments
happens without parallelism too:
|
and:
|
|
What platform? I've seen this happen on MacOS using the clang compiler. Please select snippets from the logs you think are relevant and tell me what I'm supposed to see. |
v8.1.15:
|
Please, this is a very old version. Zillions of things have been fixed since. |
Didn't want to close the transaction issue. Please to not put different issues in one issue. Please do not report issues on old versions and (as said), only provide the essential part of the log. Do include version (ok), OS and compiler. I've seen the transaction issue on MacOS when compiled with Xcode (clang). Not in the GCC version. Now compiled using clang-10 on Ubuntu 20.04. This reproduces the issue. Most frequent using
Note that this doesn't imply clang is buggy (could be). Quite likely memory access ordering is not sufficiently restricted and instruction reordering causes this issue. |
Sorry, i'll gist next time. Thought these might all be one issue, so i pasted it all together. Every one of the pastes contain either "Exception" or "failed". Never noticed these test failures before, but this docker image doesn't get rebuilt very often. Two different physical machines with ubuntu 18.4.
|
This is just the normal test procedure, not running the tests in a loop for days? We have had many of the tests running in tight loops for weeks about a year ago, fixing a lot of stuff. I'm not claiming the system is free of race conditions, but they seem to be quite rare these days. The reported transaction failure reproduces easily (couple of seconds) using clang 10 (on Ubuntu 20.04) and clang 12 from xCode on MacOS. Using the gcc compiled versions (gcc 10 on MacOS and gcc 9.3 on Ubuntu) it doesn't show up even after hours. I'm fairly close in isolating the failing lock-free dependency and starting to wonder whether this could be a clang bug. Will have a look at the assembler soon. I'll also try with gcc 7.5. I now use this only for compiling in debug mode because later versions of gcc on Ubuntu work poorly with gdb. Debug mode makes the bug disappear for clang. Can you share the Dockerfile to see if your observations reproduce? |
The illegal state issue with transactions should be resolved with 88df86b. At least, I can no longer reproduce these using clang, neither on MacOS not on Ubuntu. Please test and close when fixed. |
on master, 0 errors in maybe 50 ctest runs, while 8.3.13 still errors. So i'm closing it. Thanks. |
actually still got a crash in core once: https://gist.github.com/koo5/bb5420ff8215ba237c5e7e86a9577765 |
Closing, opening a new issue as these are unrelated and the original race is fixed. |
it only happens sometimes.
with V8.3.10:
V8.3.13:
Test project /home/koom/repos/swipl-devel8.3.13/build
Start 1: swipl:basic
Start 2: swipl:unprotected
Start 3: swipl:core
Start 4: swipl:attvar
Start 5: swipl:debug
Start 6: swipl:tabling
Start 7: swipl:library
Start 8: swipl:compile
1/69 Test #8: swipl:compile .................... Passed 1.23 sec
2/69 Test #2: swipl:unprotected ................ Passed 1.47 sec
Start 9: swipl:charset
Start 10: swipl:eclipse
3/69 Test #4: swipl:attvar ..................... Passed 1.60 sec
4/69 Test #10: swipl:eclipse .................... Passed 0.31 sec
5/69 Test #9: swipl:charset .................... Passed 0.54 sec
Start 11: swipl:clp
Start 12: swipl:GC
Start 13: swipl:save
6/69 Test #5: swipl:debug ...................... Passed 2.30 sec
7/69 Test #1: swipl:basic ...................... Passed 2.61 sec
Start 14: swipl:files
Start 15: swipl:transaction
8/69 Test #11: swipl:clp ........................ Passed 1.43 sec
Start 16: swipl:xsb/basic_tests
9/69 Test #15: swipl:transaction ................ Passed 0.93 sec
10/69 Test #14: swipl:files ...................... Passed 1.24 sec
Start 17: swipl:xsb/ai_tests
Start 18: swipl:xsb/ptq
11/69 Test #16: swipl:xsb/basic_tests ............ Passed 2.14 sec
Start 19: swipl:xsb/neg_tests
12/69 Test #3: swipl:core .......................***Failed 5.58 sec
13/69 Test #13: swipl:save ....................... Passed 3.56 sec
14/69 Test #18: swipl:xsb/ptq .................... Passed 1.52 sec
15/69 Test #6: swipl:tabling .................... Passed 5.57 sec
16/69 Test #17: swipl:xsb/ai_tests ............... Passed 1.74 sec
Start 20: swipl:xsb/delay_tests
Start 21: swipl:xsb/wfs_tests
Start 22: swipl:xsb/table_tests
Start 23: swipl:xsb/incremental_tests
Start 24: swipl:xsb/nonmt_tests
17/69 Test #7: swipl:library .................... Passed 6.46 sec
18/69 Test #19: swipl:xsb/neg_tests .............. Passed 1.00 sec
Start 25: swipl:xsb/sub_tests
Start 26: swipl:thread
19/69 Test #24: swipl:xsb/nonmt_tests ............ Passed 1.45 sec
20/69 Test #23: swipl:xsb/incremental_tests ...... Passed 1.47 sec
21/69 Test #12: swipl:GC ......................... Passed 5.60 sec
22/69 Test #20: swipl:xsb/delay_tests ............ Passed 1.90 sec
23/69 Test #25: swipl:xsb/sub_tests .............. Passed 1.21 sec
Start 27: swipl:thread_wait
Start 28: chr:chr
Start 29: clib:cgi
Start 30: clib:crypt
Start 31: clib:memfile
24/69 Test #30: clib:crypt ....................... Passed 0.23 sec
25/69 Test #21: swipl:xsb/wfs_tests .............. Passed 2.17 sec
26/69 Test #29: clib:cgi ......................... Passed 0.40 sec
Start 32: clib:process
Start 33: clib:readutil
Start 34: clib:socket
27/69 Test #31: clib:memfile ..................... Passed 0.65 sec
28/69 Test #22: swipl:xsb/table_tests ............ Passed 2.80 sec
Start 35: clib:af_unix
Start 36: clib:stream
29/69 Test #33: clib:readutil .................... Passed 0.84 sec
30/69 Test #35: clib:af_unix ..................... Passed 0.30 sec
31/69 Test #28: chr:chr .......................... Passed 1.92 sec
Start 37: clib:time
Start 38: clib:uri
Start 39: http:cgi_stream
32/69 Test #36: clib:stream ...................... Passed 0.70 sec
33/69 Test #38: clib:uri ......................... Passed 0.23 sec
34/69 Test #32: clib:process ..................... Passed 1.56 sec
35/69 Test #27: swipl:thread_wait ................ Passed 2.46 sec
Start 40: http:http
Start 41: http:json
Start 42: http:multipart
Start 43: http:proxy
36/69 Test #39: http:cgi_stream .................. Passed 0.58 sec
Start 44: http:websocket
37/69 Test #41: http:json ........................ Passed 1.15 sec
38/69 Test #42: http:multipart ................... Passed 1.19 sec
39/69 Test #37: clib:time ........................ Passed 1.80 sec
40/69 Test #40: http:http ........................ Passed 1.36 sec
Start 45: nlp:nlp
Start 46: redis:redis
Start 47: pengines:pengines
Start 48: pengines:term_html
41/69 Test #43: http:proxy ....................... Passed 1.64 sec
42/69 Test #46: redis:redis ...................... Passed 0.56 sec
43/69 Test #45: nlp:nlp .......................... Passed 0.56 sec
Start 49: protobufs:protobufs
Start 50: RDF:rdf
Start 51: RDF:write
44/69 Test #44: http:websocket ................... Passed 1.09 sec
45/69 Test #48: pengines:term_html ............... Passed 0.65 sec
46/69 Test #50: RDF:rdf .......................... Passed 0.43 sec
47/69 Test #49: protobufs:protobufs .............. Passed 0.43 sec
Start 52: semweb:con
Start 53: semweb:litmap
Start 54: semweb:load
Start 55: semweb:ntriples
48/69 Test #51: RDF:write ........................ Passed 0.77 sec
49/69 Test #53: semweb:litmap .................... Passed 0.60 sec
50/69 Test #52: semweb:con ....................... Passed 0.61 sec
Start 56: semweb:rdf11
Start 57: semweb:rdf_db
Start 58: semweb:subprop
51/69 Test #34: clib:socket ...................... Passed 4.86 sec
Start 59: semweb:turtle2
52/69 Test #55: semweb:ntriples .................. Passed 1.35 sec
53/69 Test #54: semweb:load ...................... Passed 1.46 sec
54/69 Test #57: semweb:rdf_db .................... Passed 1.16 sec
55/69 Test #56: semweb:rdf11 ..................... Passed 1.18 sec
Start 60: semweb:turtle
Start 61: sgml:sgml
Start 62: sgml:sgml_write
Start 63: sgml:xsd
56/69 Test #61: sgml:sgml ........................ Passed 0.66 sec
Start 64: sgml:c14n
57/69 Test #63: sgml:xsd ......................... Passed 0.81 sec
58/69 Test #59: semweb:turtle2 ................... Passed 1.30 sec
59/69 Test #62: sgml:sgml_write .................. Passed 0.83 sec
Start 65: zlib:zlib
Start 66: bdb:bdb
Start 67: pcre:pcre
60/69 Test #64: sgml:c14n ........................ Passed 1.26 sec
Start 68: yaml:yaml
61/69 Test #67: pcre:pcre ........................ Passed 0.75 sec
62/69 Test #66: bdb:bdb .......................... Passed 0.86 sec
63/69 Test #68: yaml:yaml ........................ Passed 0.50 sec
Start 69: ssl:ssl
64/69 Test #65: zlib:zlib ........................ Passed 1.40 sec
65/69 Test #47: pengines:pengines ................ Passed 5.66 sec
66/69 Test #58: semweb:subprop ................... Passed 4.80 sec
67/69 Test #60: semweb:turtle .................... Passed 4.46 sec
68/69 Test #69: ssl:ssl .......................... Passed 4.61 sec
69/69 Test #26: swipl:thread ..................... Passed 15.26 sec
99% tests passed, 1 tests failed out of 69
Total Test time (real) = 21.87 sec
The following tests FAILED:
3 - swipl:core (Failed)
Errors while running CTest
The text was updated successfully, but these errors were encountered: