Closed Bug 74882 Opened 23 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.