-
Notifications
You must be signed in to change notification settings - Fork 313
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
cmake test failures on s390x Fedora 33 and 34 #296
Comments
@mdomsch, please ping me on IRC, if you want to look into it yourself. The same applies to upstream devels, I can provide access to a s390x machine. Just by the name |
The only place where endianness should matter is in serializing integers with the AGW network protocol. There is already code in there to handle this. It's the same idea as the htonl() and similar functions except it has the opposite network byte order. It would be interesting to know why it fails. As you said it might be exposing some latent issue. |
Reproduced on an s390x VM provided by @sharkcz.
|
slong is 9 characters (from position_t). smin is 8 characters (from this function's stack). This format string can thus be 3 + 8 + 1 + null terminator = 13 characters long, trying to fit in a 9-char buffer. Shouldn't the formatting of smin be %02.2f instead of %05.2f ? You can't have more than 60 minutes. That saves 3 characters, which would then fit (except for the null terminator). I tried changing this to %02.2f, and it still fails. |
Are the lat and lon fields in position_t supposed to be null-terminated strings, or an array of char with no null terminator? If the latter, then doing the sprintf into a temporary (stack) buffer of say size 16, then memcpy from the buffer into each of lat and lon just the length of lat and long, does succeed and lets all the tests pass. Not pretty, but it works.
|
While that worked on s390x and armv7hl, the lltest executable fails all tests on all the other architectures including i686 and x86_64. It clearly needed the null terminators. So, back to the drawing board.
|
Fixed in dev branch. 4a1aa2b |
This is good enough, thank you very much! I will build Fedora 32, 33, and
rawhide packages tonight, should hit the updates-testing tree in a couple
days and the updates-released trees in a couple weeks.
…On Thu, Nov 5, 2020, 5:53 PM wb2osz ***@***.***> wrote:
Fixed in dev branch. 4a1aa2b
<4a1aa2b>
Is this good enough or do you want it merged to master branch?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#296 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAFIHKUL3CAS6BP5N5PQ5BTSOM3JDANCNFSM4TESIFOQ>
.
|
Fixed. |
Direwolf 1.6 tag, building on s390x architecture on Fedora 33 and rawhide (will be F34) fails 'cmake test' with a buffer overflow detected. Build succeeds on s390x on Fedora 32, and on all other architectures of F32-34. Test #7 (enctest) has the failure.
Fedora rawhide (future F34) https://koji.fedoraproject.org/koji/buildinfo?buildID=1636157
Fedora 33 https://koji.fedoraproject.org/koji/buildinfo?buildID=1636158
Fedora 32 https://koji.fedoraproject.org/koji/buildinfo?buildID=1636159
While it's possible to ExcludeArch: s390x, and one could argue that no one sane would try running direwolf on a mainframe, it's often the case that these failures are latent on other architectures when detected on one.
From the build.log files of the rawhide build:
Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.wGau2O
Test project /builddir/build/BUILD/direwolf-1.6/s390x-redhat-linux-gnu
Start 1: dtest
Start 2: ttest
Start 3: tttexttest
1/20 Test Font color similar to background #2: ttest ............................ Passed 0.00 sec
Start 4: pftest
2/20 Test Makefile.linux #3: tttexttest ....................... Passed 0.00 sec
Start 5: tlmtest
3/20 Test Added HAMLib support for PTT control #5: tlmtest .......................... Passed 0.00 sec
Start 6: lltest
4/20 Test audio_portaudio.c line 917, Abort trap : 6 #6: lltest ........................... Passed 0.00 sec
Start 7: enctest
5/20 Test GPIO pin naming #4: pftest ........................... Passed 0.00 sec
Start 8: kisstest
6/20 Test debian packaging #8: kisstest ......................... Passed 0.00 sec
Start 9: pad2test
7/20 Test The telemetry toolkit would benefit from a simple way to increase sequence numbers #9: pad2test ......................... Passed 0.00 sec
Start 10: xidtest
8/20 Test KISS TCP only accepts one client #7: enctest ..........................Child aborted***Exception: 0.80 sec
*** buffer overflow detected ***: terminated
Start 11: dtmftest
9/20 Test Support for GPIO TX inhibit line #11: dtmftest ......................... Passed 0.02 sec
Start 12: check-fx25
10/20 Test Input support (TXINH so far) #12: check-fx25 ....................... Passed 0.01 sec
Start 13: check-modem1200
11/20 Test IGate Stats to Telemetry Data #1: dtest ............................ Passed 5.00 sec
Start 14: check-modem300
12/20 Test TX inhibit GPIO support #10: xidtest .......................... Passed 6.00 sec
Start 15: check-modem9600
13/20 Test Absolute Newbie with a question #15: check-modem9600 .................. Passed 0.38 sec
Start 16: check-modem19200
14/20 Test How to configure hamlib for ptt #16: check-modem19200 ................. Passed 0.48 sec
Start 17: check-modem2400-a
15/20 Test Merge pull request #1 from wb2osz/dev #13: check-modem1200 .................. Passed 7.42 sec
Start 18: check-modem2400-b
16/20 Test OS X packaging #17: check-modem2400-a ................ Passed 5.60 sec
Start 19: check-modem2400-g
17/20 Test Two direwolf stations transmit at same time (collide) how to adjust hold-off timer? #19: check-modem2400-g ................ Passed 0.30 sec
Start 20: check-modem4800
18/20 Test Can Direwolf jump into 14400 or 19200 baud rates #18: check-modem2400-b ................ Passed 4.84 sec
19/20 Test Misc fixes for upstream #20: check-modem4800 .................. Passed 2.46 sec
20/20 Test Fixes to Makefile.macosx #14: check-modem300 ................... Passed 11.99 sec
95% tests passed, 1 tests failed out of 20
Total Test time (real) = 17.00 sec
The following tests FAILED:
7 - enctest (Child aborted)
Errors while running CTest
error: Bad exit status from /var/tmp/rpm-tmp.wGau2O (%check)
The text was updated successfully, but these errors were encountered: