[pkg-uWSGI-devel] Bug#1133977: uwsgi breaks uwsgi-plugin-python autopkgtest on s390x: Segmentation Fault
Alexandre Rossi
niol at zincube.net
Fri Apr 17 05:59:39 BST 2026
Hi,
> > I can reproduce the segfault on s390x with both uwsgi-plugin-python from the
> > archive and a binary rebuild of src:uwsgi-plugin-python .
> >
> > If I rebuild uwsgi-plugin-python and run:
> >
> > (sid_s390x-dchroot)niol at zelenka:~/uwsgi-plugin-python$ gdb --args uwsgi --plugin-dir . --plugin python3 --http-socket 127.0.0.1:8000 python/manage_script_name/manage_script_name_test.ini
>
> The request triggering the SEGFAULT without gdb is:
>
> $ wget -qO- http://127.0.0.1:8000/footris
Cannot reproduce with gdb or valgrind.
valgrind --leak-check=yes:
HEAP SUMMARY:
in use at exit: 697,560 bytes in 537 blocks
total heap usage: 7,250 allocs, 6,713 frees, 7,797,903 bytes allocated
8 bytes in 1 blocks are definitely lost in loss record 8 of 347
at 0x492A46E: malloc (vg_replace_malloc.c:446)
by 0x4030B45: uwsgi_malloc (in /usr/bin/uwsgi-core)
by 0x4077D97: uwsgi_concat2 (in /usr/bin/uwsgi-core)
by 0x406C067: uwsgi_load_plugin (in /usr/bin/uwsgi-core)
by 0x4085D15: uwsgi_opt_load_plugin (in /usr/bin/uwsgi-core)
by 0x4060CED: add_exported_option_do (in /usr/bin/uwsgi-core)
by 0x40638F3: uwsgi_commandline_config (in /usr/bin/uwsgi-core)
by 0x4087F03: uwsgi_setup (in /usr/bin/uwsgi-core)
by 0x402C569: main (in /usr/bin/uwsgi-core)
33 (9 direct, 24 indirect) bytes in 1 blocks are definitely lost in loss record 178 of 347
at 0x4931B40: calloc (vg_replace_malloc.c:1675)
by 0x4034B79: uwsgi_calloc (in /usr/bin/uwsgi-core)
by 0x59A5A25: init_pyargv (pyutils.c:353)
by 0x59A3D49: uwsgi_python_preinit_apps (python_plugin.c:1101)
by 0x4086EC3: uwsgi_start (in /usr/bin/uwsgi-core)
by 0x4088D35: uwsgi_setup (in /usr/bin/uwsgi-core)
by 0x402C569: main (in /usr/bin/uwsgi-core)
57 bytes in 1 blocks are possibly lost in loss record 211 of 347
at 0x492A46E: malloc (vg_replace_malloc.c:446)
by 0x4030B45: uwsgi_malloc (in /usr/bin/uwsgi-core)
by 0x4077D97: uwsgi_concat2 (in /usr/bin/uwsgi-core)
by 0x4083B13: ??? (in /usr/bin/uwsgi-core)
by 0x4084223: uwsgi_opt_load (in /usr/bin/uwsgi-core)
by 0x40639AF: uwsgi_commandline_config (in /usr/bin/uwsgi-core)
by 0x4087F03: uwsgi_setup (in /usr/bin/uwsgi-core)
by 0x402C569: main (in /usr/bin/uwsgi-core)
66 (18 direct, 48 indirect) bytes in 2 blocks are definitely lost in loss record 213 of 347
at 0x4931B40: calloc (vg_replace_malloc.c:1675)
by 0x4034B79: uwsgi_calloc (in /usr/bin/uwsgi-core)
by 0x59A5A25: init_pyargv (pyutils.c:353)
by 0x59A69BB: init_uwsgi_app (pyloader.c:182)
by 0x59A1A0D: uwsgi_python_mount_app (python_plugin.c:973)
by 0x4086039: uwsgi_init_all_apps (in /usr/bin/uwsgi-core)
by 0x4087723: uwsgi_start (in /usr/bin/uwsgi-core)
by 0x4088D35: uwsgi_setup (in /usr/bin/uwsgi-core)
by 0x402C569: main (in /usr/bin/uwsgi-core)
151 bytes in 1 blocks are definitely lost in loss record 261 of 347
at 0x492A46E: malloc (vg_replace_malloc.c:446)
by 0x4030B45: uwsgi_malloc (in /usr/bin/uwsgi-core)
by 0x4058B29: uwsgi_simple_file_read (in /usr/bin/uwsgi-core)
by 0x59A2AF7: uwsgi_pyimport_by_filename (python_plugin.c:500)
by 0x59A6EFB: uwsgi_file_loader (pyloader.c:600)
by 0x59A5F2D: init_uwsgi_app (pyloader.c:208)
by 0x59A4149: uwsgi_python_init_apps (python_plugin.c:1253)
by 0x4085F3B: uwsgi_init_all_apps (in /usr/bin/uwsgi-core)
by 0x4087723: uwsgi_start (in /usr/bin/uwsgi-core)
by 0x4088D35: uwsgi_setup (in /usr/bin/uwsgi-core)
by 0x402C569: main (in /usr/bin/uwsgi-core)
172 bytes in 1 blocks are definitely lost in loss record 264 of 347
at 0x4931B40: calloc (vg_replace_malloc.c:1675)
by 0x4034B79: uwsgi_calloc (in /usr/bin/uwsgi-core)
by 0x59A133B: uwsgi_python_init (python_plugin.c:276)
by 0x40867E7: uwsgi_start (in /usr/bin/uwsgi-core)
by 0x4088D35: uwsgi_setup (in /usr/bin/uwsgi-core)
by 0x402C569: main (in /usr/bin/uwsgi-core)
408 bytes in 1 blocks are definitely lost in loss record 274 of 347
at 0x492A46E: malloc (vg_replace_malloc.c:446)
by 0x4030B45: uwsgi_malloc (in /usr/bin/uwsgi-core)
by 0x59A2025: uwsgi_python_fixup (python_plugin.c:1910)
by 0x408900B: uwsgi_worker_run (in /usr/bin/uwsgi-core)
by 0x40898A3: uwsgi_run (in /usr/bin/uwsgi-core)
by 0x402C56F: main (in /usr/bin/uwsgi-core)
423 bytes in 1 blocks are possibly lost in loss record 275 of 347
at 0x492A46E: malloc (vg_replace_malloc.c:446)
by 0x4030B45: uwsgi_malloc (in /usr/bin/uwsgi-core)
by 0x4078227: uwsgi_concat3n (in /usr/bin/uwsgi-core)
by 0x40317C9: magic_sub (in /usr/bin/uwsgi-core)
by 0x405A903: uwsgi_open_and_read (in /usr/bin/uwsgi-core)
by 0x4079371: uwsgi_ini_config (in /usr/bin/uwsgi-core)
by 0x40841F5: uwsgi_opt_load (in /usr/bin/uwsgi-core)
by 0x40639AF: uwsgi_commandline_config (in /usr/bin/uwsgi-core)
by 0x4087F03: uwsgi_setup (in /usr/bin/uwsgi-core)
by 0x402C569: main (in /usr/bin/uwsgi-core)
453 bytes in 3 blocks are definitely lost in loss record 276 of 347
at 0x492A46E: malloc (vg_replace_malloc.c:446)
by 0x4030B45: uwsgi_malloc (in /usr/bin/uwsgi-core)
by 0x4058B29: uwsgi_simple_file_read (in /usr/bin/uwsgi-core)
by 0x59A2AF7: uwsgi_pyimport_by_filename (python_plugin.c:500)
by 0x59A6EFB: uwsgi_file_loader (pyloader.c:600)
by 0x59A7421: uwsgi_mount_loader (pyloader.c:528)
by 0x59A5F2D: init_uwsgi_app (pyloader.c:208)
by 0x59A1A0D: uwsgi_python_mount_app (python_plugin.c:973)
by 0x4086039: uwsgi_init_all_apps (in /usr/bin/uwsgi-core)
by 0x4087723: uwsgi_start (in /usr/bin/uwsgi-core)
by 0x4088D35: uwsgi_setup (in /usr/bin/uwsgi-core)
by 0x402C569: main (in /usr/bin/uwsgi-core)
LEAK SUMMARY:
definitely lost: 1,219 bytes in 10 blocks
indirectly lost: 72 bytes in 3 blocks
possibly lost: 480 bytes in 2 blocks
still reachable: 695,789 bytes in 522 blocks
suppressed: 0 bytes in 0 blocks
Reachable blocks (those to which a pointer was found) are not shown.
To see them, rerun with: --leak-check=full --show-leak-kinds=all
More information about the pkg-uWSGI-devel
mailing list