https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84286
Bug ID: 84286 Summary: [8 Regression] Segmentation fault of a chromium binary Product: gcc Version: unknown Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: mpolacek at gcc dot gnu.org Target Milestone: --- Hi. Building 'gn' binary in chromium fails starting from r255066. Steps to reproduce: - download and extract : http://commondatastorage.googleapis.com/chromium-browser-official/chromium-64.0.3282.140.tar.xz $ tools/gn/bootstrap/bootstrap.py -s -v $ ./out/Release/gn gen out/Release Segmentation fault (core dumped) (gdb) bt #0 base::internal::BindState<void (InputFileManager::*)(LocationRange const&, BuildSettings const*, SourceFile const&, InputFile*), scoped_refptr<InputFileManager>, LocationRange, BuildSettings const*, SourceFile, InputFile*>::BindState<void (InputFileManager::*)(LocationRange const&, BuildSettings const*, SourceFile const&, InputFile*), InputFileManager*, LocationRange const&, BuildSettings const*&, SourceFile const&, InputFile*> (this=0x8ec490, invoke_func=<optimized out>, functor= @0x7fffffffc8d0: (void (InputFileManager::*)(InputFileManager * const, const LocationRange &, const BuildSettings *, const SourceFile &, InputFile *)) 0x5160a0 <InputFileManager::BackgroundLoadFile(LocationRange const&, BuildSettings const*, SourceFile const&, InputFile*)>) at /home/marxin/Programming/osc/ibs/home:marxin:gcc8-incubator/chromium/chromium-64.0.3282.140/base/bind_internal.h:467 #1 0x0000000000516b0d in base::internal::BindState<void (InputFileManager::*)(LocationRange const&, BuildSettings const*, SourceFile const&, InputFile*), scoped_refptr<InputFileManager>, LocationRange, BuildSettings const*, SourceFile, InputFile*>::BindState<void (InputFileManager::*)(LocationRange const&, BuildSettings const*, SourceFile const&, InputFile*), InputFileManager*, LocationRange const&, BuildSettings const*&, SourceFile const&, InputFile*> (functor= @0x7fffffffc8d0: (void (InputFileManager::*)(InputFileManager * const, const LocationRange &, const BuildSettings *, const SourceFile &, InputFile *)) 0x5160a0 <InputFileManager::BackgroundLoadFile(LocationRange const&, BuildSettings const*, SourceFile const&, InputFile*)>, invoke_func=0x516e30 <base::internal::Invoker<base::internal::BindState<void (InputFileManager::*)(LocationRange const&, BuildSettings const*, SourceFile const&, InputFile*), scoped_refptr<InputFileManager>, LocationRange, BuildSettings const*, SourceFile, InputFile*>, void ()>::Run(base::internal::BindStateBase*)>, this=0x8ec490) at /home/marxin/Programming/osc/ibs/home:marxin:gcc8-incubator/chromium/chromium-64.0.3282.140/tools/gn/input_file_manager.cc:116 #2 base::BindRepeating<void (InputFileManager::*)(LocationRange const&, BuildSettings const*, SourceFile const&, InputFile*), InputFileManager*, LocationRange const&, BuildSettings const*&, SourceFile const&, InputFile*> (functor= @0x7fffffffc8d0: (void (InputFileManager::*)(InputFileManager * const, const LocationRange &, const BuildSettings *, const SourceFile &, InputFile *)) 0x5160a0 <InputFileManager::BackgroundLoadFile(LocationRange const&, BuildSettings const*, SourceFile const&, InputFile*)>) at /home/marxin/Programming/osc/ibs/home:marxin:gcc8-incubator/chromium/chromium-64.0.3282.140/base/bind.h:230 #3 base::Bind<void (InputFileManager::*)(LocationRange const&, BuildSettings const*, SourceFile const&, InputFile*), InputFileManager*, LocationRange const&, BuildSettings const*&, SourceFile const&, InputFile*> (functor= @0x7fffffffc8d0: (void (InputFileManager::*)(InputFileManager * const, const LocationRange &, const BuildSettings *, const SourceFile &, InputFile *)) 0x5160a0 <InputFileManager::BackgroundLoadFile(LocationRange const&, BuildSettings const*, SourceFile const&, InputFile*)>) at /home/marxin/Programming/osc/ibs/home:marxin:gcc8-incubator/chromium/chromium-64.0.3282.140/base/bind.h:243 #4 InputFileManager::AsyncLoadFile(LocationRange const&, BuildSettings const*, SourceFile const&, base::RepeatingCallback<void (ParseNode const*)> const&, Err*) (this=0x8ce7f0, origin=..., build_settings=<optimized out>, file_name=..., callback=..., err=<optimized out>) at /home/marxin/Programming/osc/ibs/home:marxin:gcc8-incubator/chromium/chromium-64.0.3282.140/tools/gn/input_file_manager.cc:116 #5 0x000000000058edc7 in LoaderImpl::ScheduleLoadBuildConfig (this=this@entry=0x8cd0d0, settings=<optimized out>, settings@entry=0x8ec090, toolchain_overrides=...) at /home/marxin/Programming/osc/ibs/home:marxin:gcc8-incubator/chromium/chromium-64.0.3282.140/tools/gn/settings.h:40 #6 0x000000000058f8ed in LoaderImpl::Load (this=this@entry=0x8cd0d0, file=..., origin=..., in_toolchain_name=...) at /home/marxin/Programming/osc/ibs/home:marxin:gcc8-incubator/chromium/chromium-64.0.3282.140/tools/gn/loader.cc:135 #7 0x0000000000565694 in Setup::RunPreMessageLoop (this=this@entry=0x8cc630) at /home/marxin/Programming/osc/ibs/home:marxin:gcc8-incubator/chromium/chromium-64.0.3282.140/tools/gn/setup.cc:364 #8 0x0000000000565a29 in Setup::Run (this=this@entry=0x8cc630) at /home/marxin/Programming/osc/ibs/home:marxin:gcc8-incubator/chromium/chromium-64.0.3282.140/tools/gn/setup.cc:349 #9 0x000000000057b0f7 in commands::RunGen (args=...) at /home/marxin/Programming/osc/ibs/home:marxin:gcc8-incubator/chromium/chromium-64.0.3282.140/tools/gn/command_gen.cc:418 #10 0x0000000000407c8a in main (argc=<optimized out>, argv=<optimized out>) at /home/marxin/Programming/osc/ibs/home:marxin:gcc8-incubator/chromium/chromium-64.0.3282.140/tools/gn/gn_main.cc:74 The binary is built of ~350 source files, hopefully it would be possible to somehow debug/reduct.