Source: aflplusplus
Version: 4.21c-4
Severity: serious
Tags: ftbfs
Justification: FTBFS
User: debian-pyt...@lists.debian.org
Usertags: python3.13

This package failed build from source when test-built against a version of
python3-defaults that has 3.13 as the default Python 3 version.

To reproduce this issue, build against python3-defaults (python3-all-dev etc.)
from Debian experimental.

What's new in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html

Log snippet:

[+] afl-fuzz is working correctly with multiple C mutators
[*] running afl-fuzz for the Python mutator, this will take approx 10 
seconds
CUT------------------------------------------------------------------CUT
AttributeError: module 'example' has no attribute 'introspection'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/custom_mutators/examples/example.py", line 35, in init
    random.seed(seed)
    ~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.13/random.py", line 173, in seed
    super().seed(a)
    ~~~~~~~~~~~~^^^
SystemError: <method 'seed' of '_random.Random' objects> returned a result with 
an exception set
Call failed
[+] Enabled environment variable AFL_CUSTOM_MUTATOR_ONLY with value 
1
[+] Enabled environment variable AFL_PATH with value 
/<<PKGBUILDDIR>>/test/..
[+] Enabled environment variable AFL_EXIT_ON_TIME with value 60
[+] Enabled environment variable AFL_SKIP_CPUFREQ with value 1
[+] Enabled environment variable 
AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES with value 1
[+] Enabled environment variable AFL_EXIT_WHEN_DONE with value 1
[+] Enabled environment variable AFL_TRY_AFFINITY with value 1
[+] Enabled environment variable AFL_PYTHON_MODULE with value 
example
afl-fuzz++4.21c based on afl by Michal Zalewski and a large online 
community
[+] AFL++ is maintained by Marc "van Hauser" Heuse, Dominik Maier, 
Andrea Fioraldi and Heiko "hexcoder" Eißfeldt
[+] AFL++ is open source, get it at 
https://github.com/AFLplusplus/AFLplusplus
[+] NOTE: AFL++ >= v3 has changed defaults and behaviours - see 
README.md
[+] Enabled environment variable ASAN_OPTIONS with value 
detect_leaks=0:allocator_may_return_null=1:abort_on_error=1:symbolize=0
[+] No -M/-S set, autoconfiguring for "-S default"
[*] Getting to work...
[+] Using exploration-based constant power schedule (EXPLORE)
[+] Enabled testcache with 50 MB
[+] Generating fuzz data with a length of min=1 max=1048576
[*] Checking core_pattern...
[+] Looks like we're not running on a tty, so I'll be a bit less 
verbose.
[+] You have 8 CPU cores and 1 runnable tasks (utilization: 12%).
[+] Try parallel jobs - see 
docs/fuzzing_in_depth.md#c-using-multiple-cores
[*] Setting up output directories...
[*] Checking CPU core loadout...
[+] Found a free CPU core, try binding to #7.
[*] Loading Python mutator library from 'example'...
[+] Python mutator 'example' installed successfully.
[?25h
[-] PROGRAM ABORT : Custom py mutator INIT failed.
         Location : init_py(), src/afl-fuzz-python.c:347

CUT------------------------------------------------------------------CUT
[!] afl-fuzz is not working correctly with the Python mutator
[*] Execution cmocka Unit-Tests 
make[3]: Entering directory '/<<PKGBUILDDIR>>'
[*] Compiling AFL++ for OS Linux on ARCH aarch64
./test/unittests/unit_maybe_alloc
[==========] tests: Running 6 test(s).
[ RUN      ] test_pow2
[       OK ] test_pow2
[ RUN      ] test_null_allocs
[       OK ] test_null_allocs
[ RUN      ] test_nonpow2_size
[       OK ] test_nonpow2_size
[ RUN      ] test_zero_size
[       OK ] test_zero_size
[ RUN      ] test_unchanged_size
[       OK ] test_unchanged_size
[ RUN      ] test_grow_multiple
[       OK ] test_grow_multiple
[==========] tests: 6 test(s) run.
[  PASSED  ] 6 test(s).
./test/unittests/unit_preallocable
[==========] tests: Running 2 test(s).
[ RUN      ] test_alloc_free
[       OK ] test_alloc_free
[ RUN      ] test_prealloc_overflow
[       OK ] test_prealloc_overflow
[==========] tests: 2 test(s) run.
[  PASSED  ] 2 test(s).
./test/unittests/unit_list
[==========] tests: Running 3 test(s).
[ RUN      ] test_contains
[       OK ] test_contains
[ RUN      ] test_foreach
[       OK ] test_foreach
[ RUN      ] test_long_list
[       OK ] test_long_list
[==========] tests: 3 test(s) run.
[  PASSED  ] 3 test(s).
./test/unittests/unit_rand
[==========] tests: Running 2 test(s).
[ RUN      ] test_rand_0
[       OK ] test_rand_0
[ RUN      ] test_rand_below
[       OK ] test_rand_below
[==========] tests: 2 test(s) run.
[  PASSED  ] 2 test(s).
./test/unittests/unit_hash
[==========] tests: Running 1 test(s).
[ RUN      ] test_hash
[       OK ] test_hash
[==========] tests: 1 test(s) run.
[  PASSED  ] 1 test(s).
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
[*] 11 test cases completed.
[-] not all test cases were executed
[!] failure in tests :-(
make[2]: *** [GNUmakefile:361: tests] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [debian/rules:46: override_dh_auto_test] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:24: binary-arch] Error 2
dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit 
status 2
--------------------------------------------------------------------------------
Build finished at 2024-12-25T15:22:48Z


If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/1123158/

This bug has been filed at "normal" severity, as we haven't started the
transition to add 3.13 as default, yet. This will be raised to RC
as soon as that happens, hopefully well before trixie.

Thanks,

Stefano

Reply via email to