Closed Bug 304217 Opened 19 years ago Closed 19 years ago

Compiled Firefox segfault on Solaris 8 usparc processor

Categories

(Firefox :: General, defect)

Other
Other
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: yongtin, Unassigned)

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6

I compiled gtk2 libs and finally firefox 106 using FORTE 7 compiler on Solaris
8. I haven't tested gtk2 lib but I think I compiled it correctly. 

When I tried to run firefox, it gives me a seg fault. I posted the output that
are related to the segfault below. Unfortunately I don't have any core file. 

So here are the outputs. 

Any ideas? 

===========================================================================
elvis{/export/home/firefox/mozilla/TEST_more_weird_OPTIONS_obj-sparc-sun-solaris2.8/dist/bin
}# ./firefox
Segmentation Fault
elvis{/export/home/firefox/mozilla/TEST_more_weird_OPTIONS_obj-sparc-sun-solaris2.8/dist/bin
}#
======================================================
Now if I set -x for the firefox startup script. The output becomes this.


=====================================================
+ : 
+ uname -s 
+ [ SunOS = SunOS -a  != disable_patchchecker ] 
+ moz_spc_verbose_echo # Solaris 
+ : 
+ [ -z . ] 
+ [ -z .mozilla/firefox ] 
+ [ ! -x ./moz_patch_checker.dtksh ] 
keyfiledir=//.mozilla/firefox
keyfile=//.mozilla/firefox/solaris_patchchecker_keys.txt
+ moz_spc_verbose_echo # keyfile=//.mozilla/firefox/solaris_patchchecker_keys.txt 
+ : 
+ uname -n 
key1=elvis:.
+ ls -la . 
+ sum 
+ tr -d   
key2=3316111
key=spckey=elvis:.;3316111
+ moz_spc_verbose_echo # key=spckey=elvis:.;3316111 
+ : 
+ fgrep spckey=elvis:.;3316111 
+ [ -r //.mozilla/firefox/solaris_patchchecker_keys.txt ] 
+ cat //.mozilla/firefox/solaris_patchchecker_keys.txt 
+ [ spckey=elvis:.;3316111 !=  ] 
+ moz_spc_verbose_echo # match found in
//.mozilla/firefox/solaris_patchchecker_keys.txt 
+ : 
+ moz_spc_verbose_echo # patchchecker done. 
+ : 
+ [ -x ./init.d/S80calendar_fix_permissions_bug_230617 ] 
+ ./init.d/S80calendar_fix_permissions_bug_230617 start 
+ [ -x //.mozilla/firefox/init.d/S* ] 
+ [ 0 = 1 ] 
+ ./run-mozilla.sh ./firefox-bin 
Segmentation Fault
exitcode=139
+ moz_pis_startstop_scripts stop 
MOZ_USER_DIR=.mozilla/firefox
MOZ_PIS_API=2
MOZ_PIS_MOZBINDIR=.
MOZ_PIS_SESSION_PID=1958
MOZ_PIS_USER_DIR=.mozilla/firefox
+ export MOZ_PIS_API MOZ_PIS_MOZBINDIR MOZ_PIS_SESSION_PID MOZ_PIS_USER_DIR 
+ [ -x //.mozilla/firefox/init.d/K* ] 
+ [ -x ./init.d/K* ] 
+ exit 139 
=================================================================
I tried to ldd the firefox-bin and here is the output.

=============================================================
elvis{/export/home/firefox/mozilla/TEST_more_weird_OPTIONS_obj-sparc-sun-solaris2.8/dist/bin
}# ldd ./firefox-bin
        libmozjs.so =>   (file not found)
        libxpcom.so =>   (file not found)
        libplds4.so =>   (file not found)
        libplc4.so =>    (file not found)
        libnspr4.so =>   (file not found)
        libpthread.so.1 =>       /usr/lib/libpthread.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        librt.so.1 =>    /usr/lib/librt.so.1
        libgtk-x11-2.0.so.0 =>   /usr/lib/libgtk-x11-2.0.so.0
        libgdk-x11-2.0.so.0 =>   /usr/lib/libgdk-x11-2.0.so.0
        libXext.so.0 =>  /usr/lib/libXext.so.0
        libatk-1.0.so.0 =>       /usr/lib/libatk-1.0.so.0
        libgdk_pixbuf-2.0.so.0 =>        /usr/lib/libgdk_pixbuf-2.0.so.0
        libpangoxft-1.0.so.0 => 
/export/home/firefox/external/lib/libpangoxft-1.0.so.0
        libXft.so.2 =>   /export/home/firefox/external/lib/libXft.so.2
        libfreetype.so.6 =>      /export/home/firefox/external/lib/libfreetype.so.6
        libXrender.so.1 =>       /export/home/firefox/external/lib/libXrender.so.1
        libfontconfig.so.1 =>   
/export/home/firefox/external/lib/libfontconfig.so.1
        libpangox-1.0.so.0 =>    /usr/lib/libpangox-1.0.so.0
        libX11.so.4 =>   /usr/lib/libX11.so.4
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libpango-1.0.so.0 =>     /usr/lib/libpango-1.0.so.0
        libm.so.1 =>     /usr/lib/libm.so.1
        libgobject-2.0.so.0 =>   /usr/lib/libgobject-2.0.so.0
        libgmodule-2.0.so.0 =>   /usr/lib/libgmodule-2.0.so.0
        libglib-2.0.so.0 =>      /usr/lib/libglib-2.0.so.0
        libintl.so.3 =>  /export/home/firefox/external/lib/libintl.so.3
        libiconv.so.2 =>         /export/home/firefox/external/lib/libiconv.so.2
        libsmime3.so =>  (file not found)
        libssl3.so =>    (file not found)
        libnss3.so =>    (file not found)
        libsoftokn3.so =>        (file not found)
        libXt.so.4 =>    /usr/lib/libXt.so.4
        libxpcom_compat.so =>    (file not found)
        libCstd.so.1 =>  /usr/lib/libCstd.so.1
        libCrun.so.1 =>  /usr/lib/libCrun.so.1
        libw.so.1 =>     /usr/lib/libw.so.1
        libthread.so.1 =>        /usr/lib/libthread.so.1
        libc.so.1 =>     /usr/lib/libc.so.1
        libaio.so.1 =>   /usr/lib/libaio.so.1
        libpangoft2-1.0.so.0 =>  /usr/lib/libpangoft2-1.0.so.0
        libucb.so.1 =>   /export/home/firefox/external/lib/libucb.so.1
        libresolv.so.2 =>        /usr/lib/libresolv.so.2
        libelf.so.1 =>   /usr/lib/libelf.so.1
        libexpat.so.0 =>         /export/home/firefox/external/lib/libexpat.so.0
        libmp.so.2 =>    /usr/lib/libmp.so.2
        libSM.so.6 =>    /usr/lib/libSM.so.6
        libICE.so.6 =>   /usr/lib/libICE.so.6
        /usr/lib/cpu/sparcv8plus/libCstd_isa.so.1
        /usr/platform/SUNW,Sun-Blade-1000/lib/libc_psr.so.1
===================================================================

I tried run the truss command:
truss firefox-bin
Here is the output:
===============================================================
elvis{/export/home/firefox/mozilla/TEST_more_weird_OPTIONS_obj-sparc-sun-solaris2.8/dist/bin
}# truss firefox-bin
execve("firefox-bin", 0xFFBEF79C, 0xFFBEF7A4)  argc = 1
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1,
0) = 0xFF3A0000
resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16
open("/var/ld/ld.config", O_RDONLY)             Err#2 ENOENT
stat("/usr/lib/libpthread.so.1", 0xFFBEEEBC)    = 0
open("/usr/lib/libpthread.so.1", O_RDONLY)      = 3
fstat(3, 0xFFBEEEBC)                            = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF390000
mmap(0x00000000, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) =
0xFF370000
mmap(0xFF370000, 16916, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF370000
mmap(0xFF386000, 244, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
24576) = 0xFF386000
munmap(0xFF376000, 65536)                       = 0
memcntl(0xFF370000, 15340, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
stat("/usr/lib/libthread.so.1", 0xFFBEEEBC)     = 0
open("/usr/lib/libthread.so.1", O_RDONLY)       = 3
fstat(3, 0xFFBEEEBC)                            = 0
mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF390000
mmap(0x00000000, 237568, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) =
0xFF330000
mmap(0xFF330000, 113936, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF330000
mmap(0xFF35C000, 6588, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
114688) = 0xFF35C000
mmap(0xFF35E000, 45568, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF35E000
munmap(0xFF34C000, 65536)                       = 0
memcntl(0xFF330000, 31116, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
stat("/usr/lib/libdl.so.1", 0xFFBEEEBC)         = 0
open("/usr/lib/libdl.so.1", O_RDONLY)           = 3
fstat(3, 0xFFBEEEBC)                            = 0
mmap(0xFF390000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF390000
close(3)                                        = 0
stat("/usr/lib/libc.so.1", 0xFFBEEEBC)          = 0
open("/usr/lib/libc.so.1", O_RDONLY)            = 3
fstat(3, 0xFFBEEEBC)                            = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF320000
mmap(0x00000000, 802816, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) =
0xFF200000
mmap(0xFF200000, 702440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) =
0xFF200000
mmap(0xFF2BC000, 24772, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED,
3, 704512) = 0xFF2BC000
munmap(0xFF2AC000, 65536)                       = 0
memcntl(0xFF200000, 113528, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
    Incurred fault #6, FLTBOUNDS  %pc = 0xFF3B5754
      siginfo: SIGSEGV SEGV_MAPERR addr=0x0003B0E2
    Received signal #11, SIGSEGV [default]
      siginfo: SIGSEGV SEGV_MAPERR addr=0x0003B0E2
        *** process killed ***

================================================================
I know it's a long post. It contains three output errors. Thanks for reading. 
Please help...
Thanks
Ting

Reproducible: Always

Steps to Reproduce:
1. Compile gtk2 and Firefox on Solaris using Forte 7
2. run firefox
3. segfault

Actual Results:  
segfault

Expected Results:  
No seg fault

Solaris 8 Forte 7 compiler.

gtk2 lib was installed in /export/home/firefox/external.
gtk2 was static built.
I found that it's looking for /usr/share/fonts which does not exist on solaris. 
Anyway, it compiled and run ok now. 
Status: UNCONFIRMED → RESOLVED
Closed: 19 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.