Closed Bug 213309 Opened 21 years ago Closed 21 years ago

moz 1.5 w/o debug info crashes on start in libimg2 (libimg2? svg? xft?)

Categories

(SeaMonkey :: General, defect)

PowerPC
Linux
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 212082

People

(Reporter: eger, Unassigned)

Details

(Keywords: crash)

User-Agent:       Mozilla/5.0 (X11; U; Linux ppc; en-US; rv:1.5b) Gecko/20030721
Build Identifier: Mozilla/5.0 (X11; U; Linux ppc; en-US; rv:1.5b) Gecko/20030721

I've downloaded Mozilla 1.4 and run a cvs update to grab the SVG patches.  I am
running the version compiled *with* debug information, .mozconfig:
ac_add_options --enable-xft 
ac_add_options --enable-crypto 
ac_add_options --enable-optimize=-O3 
ac_add_options --program-suffix=-1.4
ac_add_options --enable-svg
ac_add_options --enable-svg-renderer-libart
mk_add_options MOZ_INTERNAL_LIBART_LGPL=1
MOZ_INTERNAL_LIBART_LGPL=1

however, if I disable debug information by adding the lines:
ac_add_options --disable-debug 
ac_add_options --enable-strip

then it crashes all to hell on start, see "actual results" below.  It segfaults
in libimglib2...


Reproducible: Always

Steps to Reproduce:
1. Get out your apple laptop runnin' linux
2. Download a mozilla-1.4 tarball
3. make it a sandbox, and add the magic lines into .mozconfig to get SVG
4. compile mozilla stripped without debug info
5. cd dist/bin; ./mozilla

Actual Results:  

./run-mozilla.sh -g ./mozilla-bin
MOZILLA_FIVE_HOME=/usr/src/experimental/mozilla/dist/bin
 
LD_LIBRARY_PATH=/usr/src/experimental/mozilla/dist/bin:/usr/src/experimental/mozilla/dist/bin/plugins:/usr/local/lib/mre/mre-1.5b
DISPLAY=:0.0
FONTCONFIG_PATH=/etc/fonts:/usr/src/experimental/mozilla/dist/bin/res/Xft
DYLD_LIBRARY_PATH=/usr/src/experimental/mozilla/dist/bin:/usr/local/lib/mre/mre-1.5b
    
LIBRARY_PATH=/usr/src/experimental/mozilla/dist/bin:/usr/src/experimental/mozilla/dist/bin/components:/usr/local/lib/mre/mre-1
.5b
       SHLIB_PATH=/usr/src/experimental/mozilla/dist/bin:/usr/local/lib/mre/mre-1.5b
          LIBPATH=/usr/src/experimental/mozilla/dist/bin:/usr/local/lib/mre/mre-1.5b
       ADDON_PATH=/usr/src/experimental/mozilla/dist/bin
      MOZ_PROGRAM=./mozilla-bin
      MOZ_TOOLKIT=
        moz_debug=1
     moz_debugger=
/usr/bin/gdb ./mozilla-bin -x /tmp/mozargs27306
GNU gdb 5.3-debian
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "powerpc-linux"...(no debugging symbols found)...
(gdb) r
Starting program: /usr/src/experimental/mozilla/dist/bin/mozilla-bin 
(no debugging symbols found)...(no debugging symbols found)...(no debugging
symbols found)...(no debugging symbols found)...[New Th
read 16384 (LWP 27317)]
[New Thread 32769 (LWP 27318)]
[New Thread 16386 (LWP 27319)]
[New Thread 32771 (LWP 27320)]
[New Thread 49156 (LWP 27321)]
[New Thread 65541 (LWP 27322)]
Fontconfig warning: line 247: invalid edit binding "same"
Fontconfig warning: line 259: invalid edit binding "same"
[New Thread 81926 (LWP 27323)]
[New Thread 98311 (LWP 27324)]
[New Thread 114696 (LWP 27325)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 27317)]
0x0eb9e3d0 in NSGetModule () from
/usr/src/experimental/mozilla/dist/bin/components/libimglib2.so
(gdb) bt
#0  0x0eb9e3d0 in NSGetModule () from
/usr/src/experimental/mozilla/dist/bin/components/libimglib2.so
#1  0x0eb9e3b4 in NSGetModule () from
/usr/src/experimental/mozilla/dist/bin/components/libimglib2.so
#2  0x0eb9bd28 in NSGetModule () from
/usr/src/experimental/mozilla/dist/bin/components/libimglib2.so
#3  0x0eb9cfb4 in NSGetModule () from
/usr/src/experimental/mozilla/dist/bin/components/libimglib2.so
#4  0x0eb9da58 in NSGetModule () from
/usr/src/experimental/mozilla/dist/bin/components/libimglib2.so
#5  0x0f607818 in nsPipeInputStream::ReadSegments(unsigned (*)(nsIInputStream*,
void*, char const*, unsigned, unsigned, unsigned*),
 void*, unsigned, unsigned*) () from
/usr/src/experimental/mozilla/dist/bin/libxpcom.so
#6  0x0eb9d018 in NSGetModule () from
/usr/src/experimental/mozilla/dist/bin/components/libimglib2.so
#7  0x0eb98d40 in NSGetModule () from
/usr/src/experimental/mozilla/dist/bin/components/libimglib2.so
#8  0x0eb95c88 in NSGetModule () from
/usr/src/experimental/mozilla/dist/bin/components/libimglib2.so
#9  0x0f35f468 in NSGetModule () from
/usr/src/experimental/mozilla/dist/bin/components/libnecko.so
#10 0x0f2c9270 in NSGetModule () from
/usr/src/experimental/mozilla/dist/bin/components/libnecko.so
#11 0x0f2c900c in NSGetModule () from
/usr/src/experimental/mozilla/dist/bin/components/libnecko.so
#12 0x0f60a2ec in nsInputStreamReadyEvent::EventHandler(PLEvent*) () from
/usr/src/experimental/mozilla/dist/bin/libxpcom.so
#13 0x0f624dfc in PL_HandleEvent () from
/usr/src/experimental/mozilla/dist/bin/libxpcom.so
#14 0x0f625354 in PL_ProcessEventsBeforeID () from
/usr/src/experimental/mozilla/dist/bin/libxpcom.so
#15 0x0eacb604 in _SDA_BASE_ () from
/usr/src/experimental/mozilla/dist/bin/components/libwidget_gtk.so

Expected Results:  
load the mozilla home page
do you crash with --enable-optimize=-O2 ?
Keywords: crash
this is actually a aliasing problem in xpcom.  there's a patch in bug 212082 you
can try out.  if that doesn't help, you should be able to workaround the bug by
compiling with -fno-strict-aliasing.

also, FYI: it should crash even without --enable-strip, which would allow you to
get some symbol in in your stacktrace.

*** This bug has been marked as a duplicate of 212082 ***
Status: UNCONFIRMED → RESOLVED
Closed: 21 years ago
Resolution: --- → DUPLICATE
If you could try the patch and report there it would be helpful, since nobody
actually tried the patch when I posted it...
Alright, I tried compiling with only -O2, and I still get the crash.  Again, if
I leave all of the debug info in, the browser runs fine... off to test the other
suggestions.
If you omit --disable-debug then configure silently adds -fno-inline 
(bad idea as far as I'm concerned) which can hide all sorts of problems. 
You might want to run this script after configuring and before making. 
It may help determine if inlining is an issue.

#!/bin/sh
for I in config/autoconf.mk nsprpub/config/autoconf.mk; do
  sed -e 's/-fno-inline//' $I >_autocrap
  touch -r $I _autocrap
  rm $I
  mv _autocrap $I
done
Rock and Roll! The patch on 212082 fixed the problem!
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.