https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87214
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED CC| |crazylht at gmail dot com, | |wei3.xiao at intel dot com, | |xuepeng.guo at intel dot com Resolution|WORKSFORME |--- Summary|[9 Regression] SPEC |[9 Regression] r263772 |CPU2017, CPU2006 520/620, |miscompiled 520.omnetpp_r |403 runfails after r263772 |in SPEC CPU 2017 |with march=skylake-avx512 | --- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> --- On Intel machine with AVX512F, r263772 miscompiled 520.omnetpp_r in SPEC CPU 2017 with -DSPEC -DSPEC_CPU -DNDEBUG -Isimulator/platdep -Isimulator -Imodel -DWITH_NETBUILDER -DSPEC_AUTO_SUPPRESS_OPENMP -fno-unsafe-math-optimizations -mfpmath=sse -g -march=native -Ofast -funroll-loops -flto -DSPEC_LP64 Program received signal SIGSEGV, Segmentation fault. 0x00000000004a8ddb in cObject::isName (s=<optimized out>, this=<optimized out>) at simulator/cobject.h:118 118 bool isName(const char *s) const {return !opp_strcmp(getName(),s);} (gdb) bt #0 0x00000000004a8ddb in cObject::isName (s=<optimized out>, this=<optimized out>) at simulator/cobject.h:118 #1 cComponent::findPar (this=0x699040, parname=0x669c58 "bs") at simulator/ccomponent.cc:143 #2 0x00000000004acdb4 in cComponent::par (this=0x699040, parname=0x669c58 "bs") at simulator/ccomponent.cc:133 #3 0x00000000004be27c in cNEDNetworkBuilder::doParam (this=0x7fffffffd500, component=0x699040, paramNode=0x669bd0, isSubcomponent=<optimized out>) at simulator/cnednetworkbuilder.cc:179 #4 0x00000000004c0020 in cNEDNetworkBuilder::doParams (isSubcomponent=false, paramsNode=<optimized out>, component=0x699040, this=0x7fffffffd500) at simulator/cnednetworkbuilder.cc:139 #5 cNEDNetworkBuilder::addParametersAndGatesTo (this=0x7fffffffd500, component=0x699040, decl=0x695e60) at simulator/cnednetworkbuilder.cc:105 #6 0x000000000048a1bd in cDynamicModuleType::addParametersAndGatesTo ( module=0x699040, this=<optimized out>) at /export/ssd/git/gcc-test-spec/usr/include/c++/9.0.0/bits/stl_tree.h:211 #7 cModuleType::create (this=<optimized out>, modname=<optimized out>, parentmod=<optimized out>, vectorsize=<optimized out>, index=<optimized out>) at simulator/ccomponenttype.cc:156 #8 0x00000000004643aa in cModuleType::create (parentmod=0x0, modname=<optimized out>, this=<optimized out>) at simulator/ccomponenttype.cc:106 --Type <RET> for more, q to quit, c to continue without paging-- #9 cSimulation::setupNetwork (network=<optimized out>, this=<optimized out>) at simulator/csimulation.cc:369 #10 Cmdenv::run (this=0x624d80) at simulator/cmdenv.cc:253 #11 0x000000000051673c in EnvirBase::run (this=0x624d80, argc=<optimized out>, argv=<optimized out>, configobject=0x61a640) at simulator/envirbase.cc:230 #12 0x00000000004421b2 in setupUserInterface(int, char**, cConfiguration*) [clone .constprop.0] (argc=argc@entry=5, argv=argv@entry=0x7fffffffdc18, cfg=0x0) at simulator/startup.cc:234 #13 0x000000000042f2fd in main (argc=5, argv=0x7fffffffdc18) at simulator/main.cc:39 (gdb) ... 0x00000000004a8db5 <+325>: lea 0x1(%r15),%rbx 0x00000000004a8db9 <+329>: mov 0x58(%rbp),%r8 0x00000000004a8dbd <+333>: lea (%rbx,%rbx,2),%rdi 0x00000000004a8dc1 <+337>: lea (%r8,%rdi,8),%rdi 0x00000000004a8dc5 <+341>: mov (%rdi),%r9 0x00000000004a8dc8 <+344>: mov %ebx,%r12d 0x00000000004a8dcb <+347>: mov 0x30(%r9),%rax 0x00000000004a8dcf <+351>: cmp $0x4a8080,%rax 0x00000000004a8dd5 <+357>: je 0x4a8d20 <cComponent::findPar(char const*) const+176> => 0x00000000004a8ddb <+363>: callq *%rax 0x00000000004a8ddd <+365>: mov %rax,%rdi 0x00000000004a8de0 <+368>: test %rax,%rax 0x00000000004a8de3 <+371>: jne 0x4a8d47 <cComponent::findPar(char const*) const+215> 0x00000000004a8de9 <+377>: cmpb $0x0,0x0(%r13) 0x00000000004a8dee <+382>: jne 0x4a8d57 <cComponent::findPar(char const*) const+231> 0x00000000004a8df4 <+388>: add $0x8,%rsp 0x00000000004a8df8 <+392>: pop %rbx 0x00000000004a8df9 <+393>: pop %rbp 0x00000000004a8dfa <+394>: mov %r12d,%eax 0x00000000004a8dfd <+397>: pop %r12 0x00000000004a8dff <+399>: pop %r13 0x00000000004a8e01 <+401>: pop %r14 0x00000000004a8e03 <+403>: pop %r15 0x00000000004a8e05 <+405>: retq 0x00000000004a8e06 <+406>: nopw %cs:0x0(%rax,%rax,1) 0x00000000004a8e10 <+416>: callq *%rax 0x00000000004a8e12 <+418>: mov %rax,%rdi --Type <RET> for more, q to quit, c to continue without paging--q Quit (gdb) p/x $rax $1 = 0x5c8d480000009b85 (gdb) p/x *(long *) $rax Cannot access memory at address 0x5c8d480000009b85 (gdb) This address looks odd.