Closed Bug 74882 Opened 24 years ago Closed 22 years ago

Highly optimized Mozilla build with Sun Workshop 6U2FCS crashes

Categories

(SeaMonkey :: Build Config, defect)

Sun
Solaris
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED WORKSFORME

People

(Reporter: roland.mainz, Assigned: roland.mainz)

Details

Highly optimized Mozilla 2001-04-02-08-trunk build with 'configure --with-xprint --enable-mathml --enable-svg --enable-xsl --enable-optimize="-fast -xarch=v7" --disable-debug --enable-extensions --disable-ldap --enable-nspr-autoconf' using Sun Workshop 6 Update 2 EarlyAccess 2 fails like this: -- snip -- % ./mozilla ./run-mozilla.sh ./mozilla-bin MOZILLA_FIVE_HOME=. LD_LIBRARY_PATH=.:/usr/local/staden/lib/solaris-binaries:/usr/local/lib:/usr/local/rvplayer5.0:/usr/local/arb/lib LIBRARY_PATH=.:./components SHLIB_PATH=. LIBPATH=. ADDON_PATH=. MOZ_PROGRAM=./mozilla-bin MOZ_TOOLKIT= moz_debug=0 moz_debugger= Bus Error - core dumped -- snip -- Stack trace from coredump looks like this: -- snip -- t@1 (l@1) terminated by signal BUS (invalid address alignment) 0xff185930: PrimaryExpr+0x1748: st %l5, [%i4] (/opt/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) where current thread: t@1 =>[1] PrimaryExpr(0xae818, 0x33e20, 0xffbed98c, 0xe, 0x3b, 0x18), at 0xff185930 [2] MemberExpr(0xae818, 0x33e20, 0xffbed98c, 0x1, 0xff1bcb80, 0xa0), at 0xff183938 [3] UnaryExpr(0xae818, 0x33e20, 0xffbed98c, 0xa8, 0xa8, 0x0), at 0xff1834f0 [4] MulExpr(0xae818, 0x33e20, 0xffbed98c, 0x2, 0xa8, 0x0), at 0xff182d2c [5] OrExpr(0xae818, 0x33e20, 0x12, 0x0, 0x2, 0xffbed98c), at 0xff1780dc [6] AssignExpr(0xae818, 0x33e20, 0x0, 0x0, 0x0, 0xffbed98c), at 0xff1767d4 [7] Condition(0xae818, 0xff1b898c, 0xffbed98c, 0xffbed98c, 0x33e20, 0xc), at 0xff1716a0 [8] Statement(0xff1b898c, 0x33e20, 0xffbed98c, 0x7, 0xa0, 0x85180), at 0xff172960 [9] Statements(0xae818, 0x33e20, 0xffbed98c, 0x8, 0xa8, 0xa0), at 0xff171410 [10] FunctionBody(0xae818, 0x33e20, 0x73990, 0xffbed98c, 0x0, 0x1), at 0xff1707a8 [11] FunctionDef(0xae818, 0x33e20, 0xffbedbb4, 0x0, 0x83ff8, 0x2), at 0xff170eb0 [12] Statement(0xff1b898c, 0x33e20, 0xffbedbb4, 0x13, 0xa0, 0x40), at 0xff1728c8 [13] Statements(0xae818, 0x33e20, 0xffbedbb4, 0x1, 0xa8, 0xa0), at 0xff171410 [14] js_CompileTokenStream(0xae818, 0x7df50, 0x33e20, 0xffbedbb4, 0x0, 0xb1c58), at 0xff1703e4 [15] CompileTokenStream(0xae818, 0x7df50, 0x33e20, 0xae898, 0x0, 0x0), at 0xff114830 [16] JS_EvaluateScript(0xae818, 0x7df50, 0x81da0, 0xaa4, 0x0, 0x0), at 0xff1155fc [17] PREF_EvaluateConfigScript(0x1, 0xaa4, 0x0, 0xfd7f8fb8, 0x0, 0x0), at 0xfd7db2fc [18] pref_OpenFileSpec(0xff27b648, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfd7e3d6c [19] pref_InitInitialObjects(0x748c8, 0x74988, 0xff31fb74, 0x0, 0xffbede0c, 0xffbede08), at 0xfd7e4748 [20] PREF_Init(0xfd7f8fbc, 0x0, 0x20c, 0x0, 0x1e8, 0xfd7f8fc0), at 0xfd7dacf0 [21] nsPref::StartUp(0xc8a58, 0xfd7f9350, 0xfd7e01b8, 0x0, 0xfd7f8384, 0xff2df1c4), at 0xfd7e01bc [22] CreateNewPref(0x0, 0x2e45c, 0xffbee078, 0xffbee078, 0xfd7e4c4c, 0xff291d44), at 0xfd7e4cb0 [23] nsComponentManagerImpl::CreateInstance(0x33008, 0xfd626034, 0x0, 0xff28e318, 0xffbee078, 0x314), at 0xff28ea34 [24] nsComponentManager::CreateInstance(0xfd626034, 0x0, 0x2e45c, 0xffbee078, 0x0, 0x32f98), at 0xff29aa6c [25] nsServiceManagerImpl::GetService(0x30700, 0xfd626034, 0x7e058, 0xffbee164, 0x0, 0x800), at 0xff29bb64 [26] nsGetServiceByCID::operator()(0xffbee1ec, 0x2e45c, 0xffbee164, 0x0, 0x80000000, 0x7eb04), at 0xff29b064 [27] nsCOMPtr_base::assign_from_helper(0xffbee1dc, 0xffbee1ec, 0x2e45c, 0x0, 0x1f8, 0xff321940), at 0xff2adb0c [28] nsScriptSecurityManager::InitPrefs(0xb3e70, 0x0, 0xffffffff, 0xfffffff8, 0xfd627610, 0x0), at 0xfd607ec8 [29] nsScriptSecurityManager::nsScriptSecurityManager(0xb3e70, 0xfefda054, 0x0, 0x178, 0xfd6276b4, 0xfd627610), at 0xfd605878 [30] nsScriptSecurityManager::GetScriptSecurityManager(0x0, 0xffbee3cc, 0x80004000, 0x0, 0x8d0, 0xfd624fe8), at 0xfd605b38 [31] Construct_nsIScriptSecurityManager(0x0, 0xfec42ab8, 0xffbee498, 0xffbee498, 0xfd608b40, 0xff291d44), at 0xfd608b70 [32] nsComponentManagerImpl::CreateInstance(0x33008, 0xffbee518, 0x0, 0xff28e318, 0xffbee498, 0x314), at 0xff28ea34 [33] nsComponentManager::CreateInstance(0xffbee518, 0x0, 0xfec42ab8, 0xffbee498, 0x0, 0x32f98), at 0xff29aa6c [34] nsServiceManagerImpl::GetService(0x30700, 0xffbee518, 0x7e058, 0xffbee5f4, 0x0, 0x92ac9), at 0xff29bb64 [35] nsServiceManagerImpl::GetService(0x30700, 0xfec42867, 0xfec42ab8, 0xffbee5f4, 0x0, 0xff29c170), at 0xff29c1ac [36] nsGetServiceByContractID::operator()(0xff32190c, 0xfec42ab8, 0xffbee5f4, 0x0, 0xff3df650, 0xff321950), at 0xff29b190 [37] nsCOMPtr_base::assign_from_helper(0xffbee660, 0xffbee670, 0xfec42ab8, 0xfec8700c, 0xffbee69c, 0x174d0), at 0xff2adb0c [38] mozJSComponentLoader::ReallyInit(0x4a020, 0x0, 0x10, 0xf4, 0xffbee678, 0xffbee694), at 0xfec2aa5c [39] mozJSComponentLoader::ModuleForLocation(0x4a020, 0xb1a30, 0x92838, 0xff299000, 0x0, 0x92933), at 0xfec2bce0 [40] mozJSComponentLoader::AttemptRegistration(0x4a020, 0x92838, 0x0, 0x0, 0x80000000, 0x0), at 0xfec2b66c [41] mozJSComponentLoader::AutoRegisterComponent(0x2e, 0x6a, 0x92838, 0xffbeeaa0, 0xfec42958, 0x73), at 0xfec2b3b0 [42] mozJSComponentLoader::RegisterComponentsInDir(0x0, 0x0, 0xeba38, 0xff3209d0, 0xff287990, 0x0), at 0xfec2ade8 [43] AutoRegister_enumerate(0xb17f0, 0x4a020, 0xffbeede8, 0xf, 0x12ca9, 0x24), at 0xff290344 [44] _hashEnumerate(0x92ea0, 0x1, 0xffbeec40, 0x0, 0x12ca9, 0x24), at 0xff2552e0 [45] PL_HashTableEnumerateEntries(0xffffffe4, 0xff2552d0, 0xffbeec40, 0x4, 0x1, 0x1), at 0xff1e1c7c [46] nsHashtable::Enumerate(0x35f10, 0xff29031c, 0xffbeede8, 0xff30222a, 0xff322320, 0x0), at 0xff255a08 [47] nsComponentManagerImpl::AutoRegisterImpl(0x33008, 0x0, 0x74238, 0x0, 0x0, 0x38108), at 0xff290b14 [48] nsComponentManagerImpl::AutoRegister(0x33008, 0x0, 0x0, 0xffbef124, 0x0, 0xff29c170), at 0xff2903cc [49] nsComponentManager::AutoRegister(0x0, 0x0, 0x80000000, 0x0, 0x0, 0xff321950), at 0xff29adcc [50] NS_SetupRegistry_1(0x1, 0xffbef388, 0x0, 0xfeeb59c8, 0x87240, 0xff321c40), at 0x17454 [51] main1(0x1, 0xffbef378, 0x0, 0xffbef390, 0xffbef444, 0x80000000), at 0x159fc [52] main(0x1, 0xffbef55c, 0xffbef564, 0x2e000, 0x1, 0x0), at 0x1694c -- snip -- Same source but build with "-O" only works without crashing in such strange areas... Setting "component" to "Build Config" due lack of another component which says "compiler errors/issues"... CC'ing rich.burridge@Sun.COM to forward this to the compiler team...
Priority: -- → P5
Target Milestone: --- → Future
Any updates here ? richb: Does this still happen with newer versions of Sun Workshop 6 Update 2 ?
No idea. We build with Forte 6 Update 1.
I did a new test with WS6U2FCS+patches + 2001-11-20-08-trunk - I am still getting this crash, even when I try it with --enable-optimize="-fast -xO4 -xarch=generic" Looking at the options used when the "-fast" macro is given... I assume it's "-dalign" which causes the trouble here: -- snip -- -dalign (SPARC platform) Generates double-word load and store instructions whenever possible for improved performance. This option assumes that all double-typed data are double-word-aligned. If you compile one unit with -dalign, compile all units of a program with -dalign, or you might get unex- pected results. -- snip -- Everything else used in the "-fast" macro seems to be OK ("-xO5" should be replaced by "-xO4" as -"xO5" always required a up-to-date patched compiler...).
Summary: Highly optimized Mozilla build with Sun Workshop 6U2EA2 crashes → Highly optimized Mozilla build with Sun Workshop 6U2FCS crashes
Some tests related to the "-fast" option: Works: --enable-optimize="-xO4 -xtarget=generic -xbuiltin=%all -xlibmil" Crash with SIGBUS: "-fsimple=2 -ftrap=%none -xO4 -xtarget=generic -xbuiltin=%all -xlibmil" I'll try to narrow this further down ...
--enable-optimize="-ftrap=%none -xO4 -xtarget=generic -xbuiltin=%all -xlibmil" works, too. I am going to blame "-fsimple=2" for this issue, but I have to test another build with "-dalign -xO4" ...
--enable-optimize="-dalign -xO4 -xtarget=generic -xbuiltin=%all -xlibmil" works on my box, it seems that "-fsimple=2" causes this issue ...
Higher level optimization bustage would be best caught when it occurs. That means figuring out this offending crash and then putting up a tinderbox to catch future bustage. Back to Roland.
Assignee: cls → Roland.Mainz
Priority: P5 → --
Target Milestone: Future → ---
Marking bug as WorksForMe, patched versions of Sun Workshop 6 Update 2 now work properly with -xO4 ...
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → WORKSFORME
v wfm
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.