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.

Reply via email to