Closed n30m1nd closed 4 years ago
:man_facepalming: solved. It's the new Swift version 5.2 that breaks the compilation. Fuzzilli with Swift 5.1.5 compiles swiftly. Still raises the issue about why it breaks with newer Swift?
Hmm interesting... I just tried it on macOS and there Fuzzilli compiles just fine with swift 5.2 (although with some compiler warnings that should be fixed now). So it seems this issue is related to the Linux toolchain then. I'll take a look when I get a chance
While trying to compile Fuzzilli with the
-c release
flag, an assertion gets triggered. Command:Assertion failure:
The assertion is triggered by the compiler while doing, what looks like, variable usage checks on the following line in fuzzilli https://github.com/googleprojectzero/fuzzilli/blob/master/Sources/Fuzzilli/Modules/Storage.swift#L29
The implementation of the assertion that presumably does the variable checks can be seen here on swift: https://github.com/apple/swift/blob/master/lib/SIL/LinearLifetimeChecker.cpp#L504
Finally, this is all being done on Debian unstable, however, on my local machine (also Debian unstable) I can't reproduce this issue as this only happens on a cloud service provider with the following
uname -a
fingerprintLinux fuzzilli-0 4.19.53-mainline-rev1 #1 SMP Wed Jun 19 23:30:45 UTC 2019 x86_64 GNU/Linux
. For this reason I've tried to get all the differences withsysctl -a
in both machines and seeing the kernel values but didn't find many disparities. EDIT: Just tried in an Ubuntu 18.04 docker image and baremetal Ubuntu 18.04.2 and the issue still reproduces.Full error and stack trace