Open carnil opened 7 months ago
Thanks @carnil for letting us know!
This sure seems like a bug. I'll take a look and see if I can find the cause.
How critical is it? To me, it seems that it's a corner case?
@tsjensen thanks for coming back to this issue already.
About how critical it is: We do run the testsuite on all the supported architectures. Failing it will at least not let boxes
in the testing release (and in fact let it temporarily remove it from there). But I could stage the upload in experimental until we can pinpoint the issue. It's not clear to me (yet) if it's just a problem in the testsuite or uncovering a real problem in boxes.
But it seems right that it's more of a corner case.
I could not reproduce the problem on my end, I'm afraid.
Depending on how much time you want to invest, we can either:
echo bt | gdb out/boxes out/core
to it. I couldn't do this on my machine because no i386 arch available. If I knew the code location where this is happening, I might spot something.rm test/126_config_file_xdg3.txt
before the make test
.
This would actually feel quite reasonable to me, too.I could not reproduce the problem on my end, I'm afraid.
No problem, many thanks for having looked into it.
Depending on how much time you want to invest, we can either:
* Try getting a backtrace from the failing pipeline, for example by adding `echo bt | gdb out/boxes out/core` to it. I couldn't do this on my machine because no i386 arch available. If I knew the code location where this is happening, I might spot something. * Skip this one test case on i386 by `rm test/126_config_file_xdg3.txt` before the `make test`. This would actually feel quite reasonable to me, too.
I will try to reproduce it and see if I can get out more information. Otherwise i will follow one of the above, and just skip the test.
Thank you!
@tsjensen I uploaded 2.3.0 for Debian to the experimental suite to let more checks perform as well on other architectures and so it looks that the problem is present generally on 32bit architectures: https://buildd.debian.org/status/package.php?p=boxes&suite=experimental
(there is one other failure on s390x which I do not understand the relation yet)
Yeah, I can imagine. But like I said before, I don't have access to a 32bit system, and thus can't reproduce this. Unless you can produce a backtrace, it seems that excluding the one test would be the best way forward.
@tsjensen yes absolutely. This was just to give an update on the current state and that the update is exposed in the so called 'experimental' distribution. Soon when I have some tackable backtrace I will forward it again here.
@tsjensen I get the following traces running in a i386 qemu based VM:
./out/boxes -f ./test/126_data/home/boxes-config ./test/126_config_file_xdg3.txt
genrates a coredump:
root@boxes-i386:~/boxes-2.3.0# coredumpctl dump
PID: 19585 (boxes)
UID: 0 (root)
GID: 0 (root)
Signal: 6 (ABRT)
Timestamp: Sun 2024-05-12 13:28:20 CEST (4min 32s ago)
Command Line: ./out/boxes -f ./test/126_data/home/boxes-config ./test/126_config_file_xdg3.txt
Executable: /root/boxes-2.3.0/out/boxes
Control Group: /system.slice/system-serial\x2dgetty.slice/serial-getty@ttyS0.service
Unit: serial-getty@ttyS0.service
Slice: system-serial\x2dgetty.slice
Boot ID: 0fd8ba8b64574b69b125b77fbcfb254f
Machine ID: 8fd71204e6a94d0596f9d80da80e6e49
Hostname: boxes-i386
Storage: /var/lib/systemd/coredump/core.boxes.0.0fd8ba8b64574b69b125b77fbcfb254f.19585.1715513300000000.zst (present)
Size on Disk: 59.3K
Message: Process 19585 (boxes) of user 0 dumped core.
Stack trace of thread 19585:
#0 0x00000000b7fb4579 __kernel_vsyscall (linux-gate.so.1 + 0x579)
#1 0x00000000b7a8b517 __pthread_kill_implementation (libc.so.6 + 0x8b517)
#2 0x00000000b7a3a781 __GI_raise (libc.so.6 + 0x3a781)
#3 0x00000000b7a222a5 __GI_abort (libc.so.6 + 0x222a5)
#4 0x00000000b7a23358 __libc_message (libc.so.6 + 0x23358)
#5 0x00000000b7a9696b malloc_printerr (libc.so.6 + 0x9696b)
#6 0x00000000b7a96b4b munmap_chunk (libc.so.6 + 0x96b4b)
#7 0x00000000b7a9b065 __GI___libc_free (libc.so.6 + 0x9b065)
#8 0x00000000b7a2f07a __GI___gconv_create_spec (libc.so.6 + 0x2f07a)
#9 0x00000000b7a2450f iconv_open (libc.so.6 + 0x2450f)
#10 0x00000000b7e07381 libunistring_iconveh_open (libunistring.so.5 + 0x10381)
#11 0x00000000b7e076d1 libunistring_mem_iconveh (libunistring.so.5 + 0x106d1)
#12 0x00000000b7e07986 n/a (libunistring.so.5 + 0x10986)
#13 0x00000000b7e07def libunistring_mem_iconveha (libunistring.so.5 + 0x10def)
#14 0x00000000b7e1034f u32_conv_from_encoding (libunistring.so.5 + 0x1934f)
#15 0x00000000b7e105e5 u32_strconv_from_encoding (libunistring.so.5 + 0x195e5)
#16 0x00000000004868e0 n/a (/root/boxes-2.3.0/out/boxes + 0x148e0)
ELF object binary architecture: Intel 80386
Refusing to dump core to tty (use shell redirection or specify --output).
and under valgrind:
root@boxes-i386:~/boxes-2.3.0# valgrind ./out/boxes -f ./test/126_data/home/boxes-config ./test/126_config_file_xdg3.txt
==19601== Memcheck, a memory error detector
==19601== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==19601== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info
==19601== Command: ./out/boxes -f ./test/126_data/home/boxes-config ./test/126_config_file_xdg3.txt
==19601==
==19601== Invalid write of size 1
==19601== at 0x10F196: bxs_from_unicode (bxstring.c:131)
==19601== by 0x10D77A: yylex (lexer.l:266)
==19601== by 0x10B867: yyparse (parser.c:1125)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601== Address 0x4d11593 is 0 bytes after a block of size 43 alloc'd
==19601== at 0x4844314: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-x86-linux.so)
==19601== by 0x10F09D: bxs_from_unicode (bxstring.c:94)
==19601== by 0x10D77A: yylex (lexer.l:266)
==19601== by 0x10B867: yyparse (parser.c:1125)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601==
==19601== Invalid write of size 1
==19601== at 0x10F260: bxs_from_unicode (bxstring.c:175)
==19601== by 0x10D77A: yylex (lexer.l:266)
==19601== by 0x10B867: yyparse (parser.c:1125)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601== Address 0x4d11595 is 2 bytes after a block of size 43 alloc'd
==19601== at 0x4844314: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-x86-linux.so)
==19601== by 0x10F09D: bxs_from_unicode (bxstring.c:94)
==19601== by 0x10D77A: yylex (lexer.l:266)
==19601== by 0x10B867: yyparse (parser.c:1125)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601==
==19601== Invalid read of size 1
==19601== at 0x48455D3: __GI_strlen (in /usr/libexec/valgrind/vgpreload_memcheck-x86-linux.so)
==19601== by 0x4B61C8A: strdup (strdup.c:41)
==19601== by 0x10E627: bxs_strdup (bxstring.c:199)
==19601== by 0x10D786: yylex (lexer.l:267)
==19601== by 0x10B867: yyparse (parser.c:1125)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601== Address 0x4d11593 is 0 bytes after a block of size 43 alloc'd
==19601== at 0x4844314: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-x86-linux.so)
==19601== by 0x10F09D: bxs_from_unicode (bxstring.c:94)
==19601== by 0x10D77A: yylex (lexer.l:266)
==19601== by 0x10B867: yyparse (parser.c:1125)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601==
==19601== Invalid read of size 1
==19601== at 0x484A2E0: __memcpy_chk (in /usr/libexec/valgrind/vgpreload_memcheck-x86-linux.so)
==19601== by 0x4B61CA5: memcpy (string_fortified.h:29)
==19601== by 0x4B61CA5: strdup (strdup.c:47)
==19601== by 0x10E627: bxs_strdup (bxstring.c:199)
==19601== by 0x10D786: yylex (lexer.l:267)
==19601== by 0x10B867: yyparse (parser.c:1125)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601== Address 0x4d11595 is 2 bytes after a block of size 43 alloc'd
==19601== at 0x4844314: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-x86-linux.so)
==19601== by 0x10F09D: bxs_from_unicode (bxstring.c:94)
==19601== by 0x10D77A: yylex (lexer.l:266)
==19601== by 0x10B867: yyparse (parser.c:1125)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601==
==19601== Invalid read of size 1
==19601== at 0x484A2EC: __memcpy_chk (in /usr/libexec/valgrind/vgpreload_memcheck-x86-linux.so)
==19601== by 0x4B61CA5: memcpy (string_fortified.h:29)
==19601== by 0x4B61CA5: strdup (strdup.c:47)
==19601== by 0x10E627: bxs_strdup (bxstring.c:199)
==19601== by 0x10D786: yylex (lexer.l:267)
==19601== by 0x10B867: yyparse (parser.c:1125)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601== Address 0x4d11593 is 0 bytes after a block of size 43 alloc'd
==19601== at 0x4844314: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-x86-linux.so)
==19601== by 0x10F09D: bxs_from_unicode (bxstring.c:94)
==19601== by 0x10D77A: yylex (lexer.l:266)
==19601== by 0x10B867: yyparse (parser.c:1125)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601==
==19601== Invalid write of size 1
==19601== at 0x10F196: bxs_from_unicode (bxstring.c:131)
==19601== by 0x10F7DD: bxs_strcat (bxstring.c:301)
==19601== by 0x10D7A2: yylex (lexer.l:269)
==19601== by 0x10B867: yyparse (parser.c:1125)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601== Address 0x4d12373 is 0 bytes after a block of size 43 alloc'd
==19601== at 0x4844314: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-x86-linux.so)
==19601== by 0x10F09D: bxs_from_unicode (bxstring.c:94)
==19601== by 0x10F7DD: bxs_strcat (bxstring.c:301)
==19601== by 0x10D7A2: yylex (lexer.l:269)
==19601== by 0x10B867: yyparse (parser.c:1125)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601==
==19601== Invalid write of size 1
==19601== at 0x10F260: bxs_from_unicode (bxstring.c:175)
==19601== by 0x10F7DD: bxs_strcat (bxstring.c:301)
==19601== by 0x10D7A2: yylex (lexer.l:269)
==19601== by 0x10B867: yyparse (parser.c:1125)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601== Address 0x4d12375 is 2 bytes after a block of size 43 alloc'd
==19601== at 0x4844314: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-x86-linux.so)
==19601== by 0x10F09D: bxs_from_unicode (bxstring.c:94)
==19601== by 0x10F7DD: bxs_strcat (bxstring.c:301)
==19601== by 0x10D7A2: yylex (lexer.l:269)
==19601== by 0x10B867: yyparse (parser.c:1125)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601==
==19601== Invalid write of size 1
==19601== at 0x10F196: bxs_from_unicode (bxstring.c:131)
==19601== by 0x117080: adjust_eols (parsecode.c:880)
==19601== by 0x117080: action_sample_block (parsecode.c:919)
==19601== by 0x10BB26: yyparse (parser.y:296)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601== Address 0x4d1890b is 0 bytes after a block of size 43 alloc'd
==19601== at 0x4844314: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-x86-linux.so)
==19601== by 0x10F09D: bxs_from_unicode (bxstring.c:94)
==19601== by 0x117080: adjust_eols (parsecode.c:880)
==19601== by 0x117080: action_sample_block (parsecode.c:919)
==19601== by 0x10BB26: yyparse (parser.y:296)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601==
==19601== Invalid write of size 1
==19601== at 0x10F260: bxs_from_unicode (bxstring.c:175)
==19601== by 0x117080: adjust_eols (parsecode.c:880)
==19601== by 0x117080: action_sample_block (parsecode.c:919)
==19601== by 0x10BB26: yyparse (parser.y:296)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601== Address 0x4d1890d is 2 bytes after a block of size 43 alloc'd
==19601== at 0x4844314: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-x86-linux.so)
==19601== by 0x10F09D: bxs_from_unicode (bxstring.c:94)
==19601== by 0x117080: adjust_eols (parsecode.c:880)
==19601== by 0x117080: action_sample_block (parsecode.c:919)
==19601== by 0x10BB26: yyparse (parser.y:296)
==19601== by 0x11799E: parse_config_file (parsing.c:181)
==19601== by 0x11799E: parse_config_files (parsing.c:275)
==19601== by 0x10B0EC: handle_config_parsing (boxes.c:215)
==19601== by 0x10B0EC: main (boxes.c:506)
==19601==
#123123123123123123123123123123123123123123123123123123123---456456456456456456456456456456456456456456456456456456456#
#:DESC #
#Because of historic boxes behavior, a config file in $HOME has precedence over one in $XDG_CONFIG_HOME/boxes. #
# #
#:ENV #
#export HOME="`pwd`/126_data/home" #
#export XDG_CONFIG_HOME="`pwd`/126_data/xdg" #
#:ARGS #
#:INPUT #
#foo #
#:OUTPUT-FILTER #
#:EXPECTED #
##123123---456# #
##foo # #
##12345<>67890# #
#:EOF #
#1234512345123451234512345123451234512345123451234512345<>678906789067890678906789067890678906789067890678906789067890#
==19601==
==19601== HEAP SUMMARY:
==19601== in use at exit: 39,019 bytes in 337 blocks
==19601== total heap usage: 1,964 allocs, 1,627 frees, 314,261 bytes allocated
==19601==
==19601== LEAK SUMMARY:
==19601== definitely lost: 3,898 bytes in 41 blocks
==19601== indirectly lost: 7,118 bytes in 80 blocks
==19601== possibly lost: 0 bytes in 0 blocks
==19601== still reachable: 28,003 bytes in 216 blocks
==19601== suppressed: 0 bytes in 0 blocks
==19601== Rerun with --leak-check=full to see details of leaked memory
==19601==
==19601== For lists of detected and suppressed errors, rerun with: -s
==19601== ERROR SUMMARY: 15 errors from 9 contexts (suppressed: 0 from 0)
Is this helpful or can I try anything else?
root@boxes-i386:~/boxes-2.3.0/test# coredumpctl debug
PID: 19623 (boxes)
UID: 0 (root)
GID: 0 (root)
Signal: 6 (ABRT)
Timestamp: Sun 2024-05-12 14:22:09 CEST (58s ago)
Command Line: ../out/boxes ./126_config_file_xdg3.txt
Executable: /root/boxes-2.3.0/out/boxes
Control Group: /system.slice/system-serial\x2dgetty.slice/serial-getty@ttyS0.service
Unit: serial-getty@ttyS0.service
Slice: system-serial\x2dgetty.slice
Boot ID: 0fd8ba8b64574b69b125b77fbcfb254f
Machine ID: 8fd71204e6a94d0596f9d80da80e6e49
Hostname: boxes-i386
Storage: /var/lib/systemd/coredump/core.boxes.0.0fd8ba8b64574b69b125b77fbcfb254f.19623.1715516529000000.zst (present)
Size on Disk: 59.5K
Message: Process 19623 (boxes) of user 0 dumped core.
Stack trace of thread 19623:
#0 0x00000000b7f7d579 __kernel_vsyscall (linux-gate.so.1 + 0x579)
#1 0x00000000b7a8b517 __pthread_kill_implementation (libc.so.6 + 0x8b517)
#2 0x00000000b7a3a781 __GI_raise (libc.so.6 + 0x3a781)
#3 0x00000000b7a222a5 __GI_abort (libc.so.6 + 0x222a5)
#4 0x00000000b7a23358 __libc_message (libc.so.6 + 0x23358)
#5 0x00000000b7a9696b malloc_printerr (libc.so.6 + 0x9696b)
#6 0x00000000b7a96b4b munmap_chunk (libc.so.6 + 0x96b4b)
#7 0x00000000b7a9b065 __GI___libc_free (libc.so.6 + 0x9b065)
#8 0x00000000b7a2f07a __GI___gconv_create_spec (libc.so.6 + 0x2f07a)
#9 0x00000000b7a2450f iconv_open (libc.so.6 + 0x2450f)
#10 0x00000000b7dd0381 libunistring_iconveh_open (libunistring.so.5 + 0x10381)
#11 0x00000000b7dd06d1 libunistring_mem_iconveh (libunistring.so.5 + 0x106d1)
#12 0x00000000b7dd0986 n/a (libunistring.so.5 + 0x10986)
#13 0x00000000b7dd0def libunistring_mem_iconveha (libunistring.so.5 + 0x10def)
#14 0x00000000b7dd934f u32_conv_from_encoding (libunistring.so.5 + 0x1934f)
#15 0x00000000b7dd95e5 u32_strconv_from_encoding (libunistring.so.5 + 0x195e5)
#16 0x00000000004d88e0 n/a (/root/boxes-2.3.0/out/boxes + 0x148e0)
ELF object binary architecture: Intel 80386
GNU gdb (Debian 13.2-1+b1) 13.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /root/boxes-2.3.0/out/boxes...
[New LWP 19623]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
Core was generated by `../out/boxes ./126_config_file_xdg3.txt'.
Program terminated with signal SIGABRT, Aborted.
#0 0xb7f7d579 in __kernel_vsyscall ()
(gdb) bt
#0 0xb7f7d579 in __kernel_vsyscall ()
#1 0xb7a8b517 in __pthread_kill_implementation (threadid=threadid@entry=3083884288, signo=signo@entry=6,
no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:43
#2 0xb7a8b58b in __pthread_kill_internal (signo=6, threadid=3083884288) at ./nptl/pthread_kill.c:78
#3 0xb7a3a781 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26
#4 0xb7a222a5 in __GI_abort () at ./stdlib/abort.c:79
#5 0xb7a23358 in __libc_message (fmt=<optimized out>) at ../sysdeps/posix/libc_fatal.c:150
#6 0xb7a9696b in malloc_printerr (str=str@entry=0xb7bbf668 "munmap_chunk(): invalid pointer")
at ./malloc/malloc.c:5765
#7 0xb7a96b4b in munmap_chunk (p=<optimized out>) at ./malloc/malloc.c:3035
#8 0xb7a9b065 in __GI___libc_free (mem=0x1922de0) at ./malloc/malloc.c:3381
#9 0xb7a2f07a in __GI___gconv_create_spec (conv_spec=0xbfcb3cc0, fromcode=0x4d907c "UTF-8",
tocode=0xbfcb3df0 "WCHAR_T//TRANSLIT") at ./iconv/gconv_charset.c:214
#10 0xb7a2450f in iconv_open (tocode=0xbfcb3df0 "WCHAR_T//TRANSLIT", fromcode=0x4d907c "UTF-8")
at ./iconv/iconv_open.c:36
#11 0xb7dd0381 in libunistring_iconveh_open () from /lib/i386-linux-gnu/libunistring.so.5
#12 0xb7dd06d1 in libunistring_mem_iconveh () from /lib/i386-linux-gnu/libunistring.so.5
#13 0xb7dd0986 in ?? () from /lib/i386-linux-gnu/libunistring.so.5
#14 0xb7dd0def in libunistring_mem_iconveha () from /lib/i386-linux-gnu/libunistring.so.5
#15 0xb7dd934f in u32_conv_from_encoding () from /lib/i386-linux-gnu/libunistring.so.5
#16 0xb7dd95e5 in u32_strconv_from_encoding () from /lib/i386-linux-gnu/libunistring.so.5
#17 0x004d88e0 in u32_strconv_from_arg (sourceEncoding=0x4d907c "UTF-8", src=0x4d96cb "(?(?=\r)(\r\n?)|(\n))")
at ../src/unicode.c:226
#18 u32_strconv_from_arg (src=0x4d96cb "(?(?=\r)(\r\n?)|(\n))", sourceEncoding=0x4d907c "UTF-8")
at ../src/unicode.c:217
#19 0x004d4324 in compile_pattern (pattern=0x4d96cb "(?(?=\r)(\r\n?)|(\n))") at ../src/regulex.c:36
#20 0x004d310c in adjust_eols (sample=0x1923670) at ../src/parsecode.c:877
#21 action_sample_block (bison_args=0xbfcb5a94, sample=0x1922cb0) at ../src/parsecode.c:919
#22 0x004c7b27 in yyparse (bison_args=0xbfcb5a94) at ../src/parser.y:296
#23 0x004d399f in parse_config_file (num_child_configs=<optimized out>, child_configs=0x0, config_file=0x19109e0)
at ../src/parsing.c:181
#24 parse_config_files (p_first_config_file=0x19109e0, r_num_designs=0xbfcb5b28) at ../src/parsing.c:275
#25 0x004c70ed in handle_config_parsing () at ../src/boxes.c:215
#26 main (argc=2, argv=0xbfcb5c14) at ../src/boxes.c:506
(gdb)
Thanks! I'll take a look asap.
Hmm, not much success so far. The regex pattern in adjust_eols()
was a bit weird, maybe that triggered something? I simplified it on the current master. So far that's the only "weird" thing around any of the mentioned places that I could spot. ๐ But maybe give it a try anyways? ๐
Hi @tsjensen
Hmm, not much success so far. The regex pattern in
adjust_eols()
was a bit weird, maybe that triggered something? I simplified it on the current master. So far that's the only "weird" thing around any of the mentioned places that I could spot. ๐ But maybe give it a try anyways? ๐
First thanks a lot for your efforts, it is really appreciated that you take time for that.
I applied the patch on top, but unfortunately it still fails: https://salsa.debian.org/carnil/boxes/-/pipelines/678207
I will try to ask around as well on other Debian developers if someone get an idea of the problem.
Hi
While preparing the update for
boxes
up to v2.3.0 in Debian I noticed that in our pipeline when building for i386 the testsuite fails, and the underlying error:I'm attaching as well the full pipeline log: