Summary: | sys-apps/sandbox-2.29: lto1 deadlock during gcc compilation (recursive __sb_dump_backtrace calls) | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Jaak Ristioja <jaak> |
Component: | Sandbox | Assignee: | Sandbox Maintainers <sandbox> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | herrtimson, toolchain |
Priority: | Low | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Jaak Ristioja
2023-06-03 19:24:58 UTC
Note that there's two bugs here - the other bug being that GCC is ICEing. If you can reproduce that part, please file another bug (and follow https://wiki.gentoo.org/wiki/Gcc-ICE-reporting-guide). Although I'm a bit worried it's the "standard" LTO ICE, see https://bugs.gentoo.org/900519#c6. It doesn't look like an GCC ICE, but caused by libsandbox only (and perhaps related to running low on available memory). Here's an updated backtrace: #0 0x00007f7c786f24ef in ?? () from target:/lib64/libc.so.6 #1 0x00007f7c786f8962 in pthread_mutex_lock () from target:/lib64/libc.so.6 #2 0x00007f7c78d7b0a0 in sb_lock () at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsandbox/lock.c:16 #3 0x00007f7c78d79c1d in before_syscall (dirfd=dirfd@entry=-100, sb_nr=-3, func=func@entry=0x7f7c78d8440e "open_rd", file=file@entry=0x22a5c73 "/proc/self/exe", flags=flags@entry=524288) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsandbox/libsandbox.c:1057 #4 0x00007f7c78d7a508 in before_syscall_open_int (dirfd=dirfd@entry=-100, sb_nr=<optimized out>, sb_nr@entry=5, func=func@entry=0x7f7c78d84eb2 "open", file=file@entry=0x22a5c73 "/proc/self/exe", flags=flags@entry=524288) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsandbox/libsandbox.c:1101 #5 0x00007f7c78d7d838 in open_DEFAULT (pathname=0x22a5c73 "/proc/self/exe", flags=524288) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsandbox/wrapper-funcs/__wrapper_simple.c:52 #6 0x000000000175ee9f in backtrace_open () #7 0x0000000001766ed9 in fileline_initialize () #8 0x00000000017670f6 in unwind () #9 0x0000000001bee244 in _Unwind_Backtrace (trace=0x1767030 <unwind>, trace_argument=0x7ffd52578bc0) at /var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/work/gcc-12-20230526/libgcc/unwind.inc:309 #10 0x000000000175da2d in backtrace_full () #11 0x0000000001738551 in diagnostic_action_after_output(diagnostic_context*, diagnostic_t) () #12 0x000000000174121f in diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*) () #13 0x0000000001741a21 in diagnostic_impl(rich_location*, diagnostic_metadata const*, int, char const*, __va_list_tag (*) [1], diagnostic_t) () #14 0x0000000001726ed8 in internal_error(char const*, ...) () #15 0x0000000000b39c84 in crash_signal(int) () #16 <signal handler called> #17 0x00007f7c786f73ac in ?? () from target:/lib64/libc.so.6 #18 0x00007f7c786a78b6 in raise () from target:/lib64/libc.so.6 #19 0x00007f7c786917fc in abort () from target:/lib64/libc.so.6 #20 0x00007f7c78d814d3 in __sb_ebort (file=file@entry=0x7f7c78d85440 "/var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_write_fd.c", func=func@entry=0x7f7c78d854a0 <__func__.0> "sb_copy_file_to_fd", line_num=line_num@entry=22, format=format@entry=0x7f7c78d8570e "malloc(%zu)\n") at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_efuncs.c:138 #21 0x00007f7c78d82277 in __xmalloc (size=size@entry=4096, file=file@entry=0x7f7c78d85440 "/var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_write_fd.c", func=func@entry=0x7f7c78d854a0 <__func__.0> "sb_copy_file_to_fd", line=line@entry=22) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_memory.c:37 #22 0x00007f7c78d81899 in sb_copy_file_to_fd (file=file@entry=0x7f7c78d92340 <path> "/proc/142342/cmdline", ofd=ofd@entry=2) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_write_fd.c:22 #23 0x00007f7c78d79a54 in __sb_dump_backtrace () at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsandbox/libsandbox.c:425 #24 0x00007f7c78d813cd in sb_dump_backtrace () at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_efuncs.c:121 #25 0x00007f7c78d814c9 in __sb_ebort (file=file@entry=0x7f7c78d85440 "/var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_write_fd.c", func=func@entry=0x7f7c78d854a0 <__func__.0> "sb_copy_file_to_fd", line_num=line_num@entry=22, format=format@entry=0x7f7c78d8570e "malloc(%zu)\n") at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_efuncs.c:134 #26 0x00007f7c78d82277 in __xmalloc (size=size@entry=4096, file=file@entry=0x7f7c78d85440 "/var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_write_fd.c", func=func@entry=0x7f7c78d854a0 <__func__.0> "sb_copy_file_to_fd", line=line@entry=22) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_memory.c:37 #27 0x00007f7c78d81899 in sb_copy_file_to_fd (file=file@entry=0x7f7c78d92340 <path> "/proc/142342/cmdline", ofd=ofd@entry=2) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_write_fd.c:22 #28 0x00007f7c78d79a54 in __sb_dump_backtrace () at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsandbox/libsandbox.c:425 #29 0x00007f7c78d813cd in sb_dump_backtrace () at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_efuncs.c:121 #30 0x00007f7c78d814c9 in __sb_ebort (file=file@entry=0x7f7c78d85440 "/var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_write_fd.c", func=func@entry=0x7f7c78d854a0 <__func__.0> "sb_copy_file_to_fd", line_num=line_num@entry=22, format=format@entry=0x7f7c78d8570e "malloc(%zu)\n") at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_efuncs.c:134 #31 0x00007f7c78d82277 in __xmalloc (size=size@entry=4096, file=file@entry=0x7f7c78d85440 "/var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_write_fd.c", func=func@entry=0x7f7c78d854a0 <__func__.0> "sb_copy_file_to_fd", line=line@entry=22) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_memory.c:37 #32 0x00007f7c78d81899 in sb_copy_file_to_fd (file=file@entry=0x7f7c78d92340 <path> "/proc/142342/cmdline", ofd=ofd@entry=2) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_write_fd.c:22 #33 0x00007f7c78d79a54 in __sb_dump_backtrace () at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsandbox/libsandbox.c:425 #34 0x00007f7c78d813cd in sb_dump_backtrace () at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_efuncs.c:121 #35 0x00007f7c78d814c9 in __sb_ebort (file=file@entry=0x7f7c78d84030 "/var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsandbox/libsandbox.c", func=func@entry=0x7f7c78d844f8 <__func__.5> "resolve_path", line_num=line_num@entry=240, format=format@entry=0x7f7c78d8570e "malloc(%zu)\n") at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_efuncs.c:134 #36 0x00007f7c78d82277 in __xmalloc (size=size@entry=8192, file=file@entry=0x7f7c78d84030 "/var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsandbox/libsandbox.c", func=func@entry=0x7f7c78d844f8 <__func__.5> "resolve_path", line=line@entry=240) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsbutil/sb_memory.c:37 #37 0x00007f7c78d79501 in resolve_path (path=path@entry=0x1021e0b0 "/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/temp/ccQrIfmo.ltrans21.o", follow_link=follow_link@entry=0) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsandbox/libsandbox.c:240 #38 0x00007f7c78d79c48 in check_syscall (sbcontext=0x7f7c78d90080 <sbcontext>, flags=65, file=0x1021e0b0 "/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/temp/ccQrIfmo.ltrans21.o", func=0x7f7c78d84417 "open_wr", sb_nr=-4) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsandbox/libsandbox.c:894 #39 before_syscall (dirfd=dirfd@entry=-100, sb_nr=-4, func=func@entry=0x7f7c78d84417 "open_wr", file=file@entry=0x1021e0b0 "/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/temp/ccQrIfmo.ltrans21.o", flags=flags@entry=65) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsandbox/libsandbox.c:1069 #40 0x00007f7c78d7a508 in before_syscall_open_int (dirfd=dirfd@entry=-100, sb_nr=<optimized out>, sb_nr@entry=5, func=func@entry=0x7f7c78d84eb2 "open", file=file@entry=0x1021e0b0 "/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/temp/ccQrIfmo.ltrans21.o", flags=flags@entry=65) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsandbox/libsandbox.c:1101 #41 0x00007f7c78d7d838 in open_DEFAULT (pathname=0x1021e0b0 "/var/tmp/portage/sys-devel/gcc-12.3.1_p20230526/temp/ccQrIfmo.ltrans21.o", flags=65) at /var/tmp/portage/sys-apps/sandbox-2.29/work/sandbox-2.29/libsandbox/wrapper-funcs/__wrapper_simple.c:52 #42 0x000000000065939a in lto_obj_file_open(char const*, bool) () #43 0x00000000006617cf in stream_out_partitions_1(char*, int, int, int) () #44 0x0000000000662e7c in lto_main() () #45 0x0000000000b39e71 in compile_file() () #46 0x000000000062d29d in toplev::main(int, char**) () #47 0x000000000062dae4 in main () Some backtraces are longer than 200 frames with many recursions of __xmalloc -> __sb_ebort -> sb_dump_backtrace -> __sb_dump_backtrace -> sb_copy_file_to_fd -> __xmalloc -> ... You can see it's ICEing because of: #14 0x0000000001726ed8 in internal_error(char const*, ...) () #15 0x0000000000b39c84 in crash_signal(int) () (In reply to Sam James from comment #3) > You can see it's ICEing because of: > #14 0x0000000001726ed8 in internal_error(char const*, ...) () > #15 0x0000000000b39c84 in crash_signal(int) () Yes, but afaict this happens due to abort() getting called in libsandbox. (In reply to Sam James from comment #3) > You can see it's ICEing because of: > #14 0x0000000001726ed8 in internal_error(char const*, ...) () > #15 0x0000000000b39c84 in crash_signal(int) () .. but I see your point that __sb_dump_backtrace comes first. Still wondering what's happening with GCC though. right, got it |