I accidentally made a syntax error by adding a dep condition in an ebuild that caused a bash segfault at manifest creation time using "ebuild $EBUILD_FILE manifest". The syntax error that caused the bash segfault is reproducible. Note the extra double quote at end of line of first dep condition: DEPEND=" >dev-python/dummy-dep-1.0[${PYTHON_USEDEP}]" <dev-python/dummy-dep-2.0[${PYTHON_USEDEP}]" BDEPEND=" dev-python/dummy-bdep1 dev-python/dummy-bdep2" My tries to isolate the problem show that it happens if you have the following minimal syntax in the ebuild: <dev-python/dummy-dep-2.0[${PYTHON_USEDEP}]" BDEPEND=" " I don't know if this could have any security implications, but I suppose this syntax error needs to be caught before the segfault can happen. Reproducible: Always
That's really a bash bug. Was that really the full ebuild (not just a snippet)? Can you give a backtrace?
Also provide emerge --info.
Created attachment 927180 [details] emerge --info
Using gdb, we can't have a backtrace of the subshell bash launched by python. I need to reconfigure my kernel in order to generate a coredump that is actually deactivated. I will post the backtrace resulting from the coredump.
(In reply to Zentoo from comment #4) > Using gdb, we can't have a backtrace of the subshell bash launched by python. > I need to reconfigure my kernel in order to generate a coredump that is > actually deactivated. > I will post the backtrace resulting from the coredump. No, you can. see set-follow-fork mode and set-follow-exec mode.
Created attachment 927209 [details] bactrace generated from coredump
Created attachment 927210 [details] Minimal ebuild to trigger the segfault
Created attachment 927213 [details] coredump
Created attachment 927214 [details] full ebuild with syntax error
the coredump have been generated after have emerged bash with: CXXFLAGS="-O2 -pipe -march=native -ggdb" CFLAGS="-O2 -pipe -march=native -ggdb" FEATURES="nostrip keepwork" emerge -av1 bash