[Bug tree-optimization/65805] New: [5/6 Regression] Chromium gets miscompiled

trippels at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Apr 19 07:50:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65805

            Bug ID: 65805
           Summary: [5/6 Regression] Chromium gets miscompiled
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: trippels at gcc dot gnu.org

Created attachment 35357
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35357&action=edit
unreduced testcase

Program received signal SIGSEGV, Segmentation fault.
0x000055555836d9be in
extensions::Manifest::HasPath(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) const ()
(gdb) bt
#0  0x000055555836d9be in
extensions::Manifest::HasPath(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) const ()
#1  0x000055555836e5a4 in
extensions::ManifestHandlerRegistry::ValidateExtension(extensions::Extension
const*, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >*, std::vector<extensions::InstallWarning,
std::allocator<extensions::InstallWarning> >*) ()
#2  0x000055555836c942 in
extensions::file_util::ValidateExtension(extensions::Extension const*,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>*, std::vector<extensions::InstallWarning,
std::allocator<extensions::InstallWarning> >*) ()
#3  0x000055555836cc28 in extensions::file_util::LoadExtension(base::FilePath
const&, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, extensions::Manifest::Location, int,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
>*) ()
#4  0x000055555836cd19 in extensions::file_util::LoadExtension(base::FilePath
const&, extensions::Manifest::Location, int, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >*) ()
#5  0x00005555593aeaf2 in extensions::InstalledLoader::LoadAllExtensions() ()
#6  0x000055555938d3bf in ExtensionService::Init() ()
#7  0x0000555559395f47 in extensions::ExtensionSystemImpl::Shared::Init(bool)
()
#8  0x000055555939707a in
extensions::ExtensionSystemImpl::InitForRegularProfile(bool) ()
#9  0x000055555618d10f in ProfileManager::DoFinalInitForServices(Profile*,
bool) ()
#10 0x000055555618e262 in ProfileManager::DoFinalInit(Profile*, bool) ()
#11 0x000055555618fb88 in ProfileManager::AddProfile(Profile*) ()
#12 0x000055555618fe08 in
ProfileManager::CreateAndInitializeProfile(base::FilePath const&) ()
#13 0x0000555556190507 in ProfileManager::GetProfile(base::FilePath const&) ()
#14 0x00005555562729b8 in ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
()
#15 0x000055555627388a in ChromeBrowserMainParts::PreMainMessageLoopRun() ()
#16 0x00005555589304af in content::BrowserMainLoop::PreMainMessageLoopRun() ()
#17 0x0000555558a3464f in content::StartupTaskRunner::RunAllTasksNow() ()
#18 0x0000555558935d3d in content::BrowserMainLoop::CreateStartupTasks() ()
#19 0x000055555873297c in
content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&)
()
#20 0x000055555873236d in content::BrowserMain(content::MainFunctionParams
const&) ()
#21 0x0000555556507ca9 in content::ContentMainRunnerImpl::Run() ()
#22 0x00005555565063f1 in content::ContentMain(content::ContentMainParams
const&) ()
#23 0x0000555555fecb1a in ChromeMain ()
#24 0x00007ffff619f6b0 in __libc_start_main () from /lib/libc.so.6
#25 0x0000555555fec9b9 in _start ()
(gdb) disass
Dump of assembler code for function
_ZNK10extensions8Manifest7HasPathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE:
   0x000055555836d9a0 <+0>:     push   %rbp
   0x000055555836d9a1 <+1>:     push   %rbx
   0x000055555836d9a2 <+2>:     mov    %rdi,%rbp
   0x000055555836d9a5 <+5>:     mov    %rsi,%rbx
   0x000055555836d9a8 <+8>:     sub    $0x18,%rsp
   0x000055555836d9ac <+12>:    movq   $0x0,0x8(%rsp)
   0x000055555836d9b5 <+21>:    callq  0x55555836d7d0
<_ZNK10extensions8Manifest13CanAccessPathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE>
   0x000055555836d9ba <+26>:    test   %al,%al
   0x000055555836d9bc <+28>:    je     0x55555836d9cf
<_ZNK10extensions8Manifest7HasPathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+47>
=> 0x000055555836d9be <+30>:    mov    0x30(%rbp),%rdi
   0x000055555836d9c2 <+34>:    lea    0x8(%rsp),%rdx
   0x000055555836d9c7 <+39>:    mov    %rbx,%rsi
   0x000055555836d9ca <+42>:    callq  0x5555565b3e10
<_ZN4base15DictionaryValue3GetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPPNS_5ValueE>
   0x000055555836d9cf <+47>:    add    $0x18,%rsp
   0x000055555836d9d3 <+51>:    pop    %rbx
   0x000055555836d9d4 <+52>:    pop    %rbp
   0x000055555836d9d5 <+53>:    retq   
End of assembler dump.

markus@x4 Release % g++ -MMD -MF
obj/extensions/common/extensions_common.file_util.o.d -DV8_DEPRECATION_WARNINGS
-D_FILE_OFFSET_BITS=64 -DDISABLE_NACL -DCHROMIUM_BUILD -DTOOLKIT_VIEWS=1
-DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_ASH=1 -DUSE_PANGO=1
-DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1
-DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP
-DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1
-DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS
-DENABLE_HIDPI=1 -DUSE_UDEV -DDONT_EMBED_BUILD_METADATA -DENABLE_TASK_MANAGER=1
-DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1
-DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1
-DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1
-DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1
-DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1
-DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1
-DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD
-DSAFE_BROWSING_DB_LOCAL -DSAFE_BROWSING_SERVICE -DGL_GLEXT_PROTOTYPES
-DMOJO_USE_SYSTEM_IMPL -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0
-DU_STATIC_IMPLEMENTATION -DSK_SUPPORT_GPU=1 -DSK_LEGACY_DRAWPICTURECALLBACK
-DSK_SUPPORT_LEGACY_OPTIONLESS_GET_PIXELS -DLIBXML_STATIC -DUSE_LIBPCI=1
-DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_NSS=1 -D__STDC_CONSTANT_MACROS
-D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0
-D_FORTIFY_SOURCE=2 -Igen -I../.. -Iobj/extensions/extensions_common.gen
-I../../third_party/khronos -I../../gpu -I../../skia/config
-I../../third_party/WebKit/Source -I../../third_party/WebKit
-I../../third_party/mojo/src -Igen/third_party/mojo/src
-I../../third_party/icu/source/common -I../../third_party/re2
-I../../third_party/skia/include/core -I../../third_party/skia/include/effects
-I../../third_party/skia/include/pdf -I../../third_party/skia/include/gpu
-I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops
-I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports
-I../../third_party/skia/include/utils -I../../skia/ext
-I../../third_party/icu/source/i18n -I../../third_party/libxml/linux/include
-I../../third_party/libxml/src/include -Igen/extensions
-Igen/extensions/strings -I../../net/third_party/nss/ssl -fstack-protector
--param=ssp-buffer-size=4 -pthread -fno-strict-aliasing -Wall
-Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe
-fPIC -Wno-unused-local-typedefs -pthread -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/nss -I/usr/include/nspr -m64
-march=x86-64 -O2 -fno-ident -fdata-sections -ffunction-sections
-funwind-tables -fno-exceptions -fno-rtti -fno-threadsafe-statics
-fvisibility-inlines-hidden -Wsign-compare -std=gnu++11 -Wno-narrowing
-Wno-literal-suffix -c *.ii -o
obj/extensions/common/extensions_common.file_util.o

-O1 is fine. -fno-strict-aliasing -fwrapv -fno-aggressive-loop-optimizations
-O2 also crashes.

Will try to reduce this to a sinlge function later.



More information about the Gcc-bugs mailing list