Closed
Bug 263422
Opened 21 years ago
Closed 21 years ago
crash if non-root user in fact of unreadable xft fonts
Categories
(Core Graveyard :: GFX, defect)
Tracking
(Not tracked)
VERIFIED
DUPLICATE
of bug 183729
People
(Reporter: goetz.lohmann, Unassigned)
References
()
Details
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20041007 Firefox/0.10.1
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20041007 Firefox/0.10.1
...
open("/usr/X11R6/lib/X11/fonts/TTF/arial.ttf", O_RDONLY) = -1 EACCES (Permission
denied)
open("/usr/X11R6/lib/X11/fonts/TTF/arial.ttf", O_RDONLY) = -1 EACCES (Permission
denied)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
rt_sigaction(SIGSEGV, NULL, {0x267e14, [], SA_RESTORER, 0x537458}, 8) = 0
times({tms_utime=245, tms_stime=34, tms_cutime=0, tms_cstime=0}) = 432866032
rt_sigaction(SIGSEGV, {0x877cbb8, ~[KILL STOP RTMIN], SA_RESTORER, 0x537458},
NULL, 8) = 0
tgkill(24114, 24114, SIGSEGV) = 0
sigreturn() = ? (mask now [])
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
unlink("/home/goetz/.mozilla/firefox/default.ubm/lock") = 0
rt_sigaction(SIGSEGV, {SIG_DFL}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0
tgkill(24114, 24114, SIGSEGV) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
so there should be a better check for non readable files cause it crash's
without warning or error message!
Reproducible: Always
Steps to Reproduce:
1. su -c "chmod 000 /usr/X11R6/lib/X11/fonts/TTF/a*.ttf"
2. ./firefox
3. SEGFAULT
./run-mozilla.sh: line 451: 4055 Speicherzugriffsfehler "$prog" ${1+"$@"}
4. su -c "chmod 777 /usr/X11R6/lib/X11/fonts/TTF/a*.ttf"
5. ./firefox
6. run fine
Actual Results:
SEGFAULT without error message of detail, cause
./run-mozilla.sh: line 451: 4055 Speicherzugriffsfehler "$prog" ${1+"$@"}
is just meaningless!
Expected Results:
check if font (or any other file) is readable, and if not skip this font and use
another one ..
this happens also to firefox 0.9.1-0.9.3, mozilla 1.7.3
| Reporter | ||
Comment 1•21 years ago
|
||
This is the nightly firefox from
http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-0.9/firefox-i686-linux-gtk2+xft.tar.gz
# ./firefox -g -d gdb
./run-mozilla.sh -g -d gdb ./firefox-bin
MOZILLA_FIVE_HOME=.
LD_LIBRARY_PATH=.:./plugins:/usr/local/lib/mre/mre-0.10
DISPLAY=:0.0
DYLD_LIBRARY_PATH=.:/usr/local/lib/mre/mre-0.10
LIBRARY_PATH=.:./components:/usr/local/lib/mre/mre-0.10
SHLIB_PATH=.:/usr/local/lib/mre/mre-0.10
LIBPATH=.:/usr/local/lib/mre/mre-0.10
ADDON_PATH=.
MOZ_PROGRAM=./firefox-bin
MOZ_TOOLKIT=
moz_debug=1
moz_debugger=gdb
/usr/bin/gdb ./firefox-bin -x /tmp/mozargs6654
GNU gdb Red Hat Linux (6.0post-0.20040223.19rh)
Copyright 2004 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 "i386-redhat-linux-gnu"...(no debugging symbols
found)...Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) run
Starting program: /home/firefox/firefox-bin
(no debugging symbols found)...(no debugging symbols found)...
[New Thread -151119904 (LWP 6768)]
(no debugging symbols found)...(no debugging symbols found)...
[New Thread 25537456 (LWP 6771)]
(no debugging symbols found)...(no debugging symbols found)...
[New Thread 36027312 (LWP 6772)]
[New Thread 46517168 (LWP 6773)]
[New Thread 60824496 (LWP 6775)]
[Thread 60824496 (LWP 6775) exited]
[New Thread 60824496 (LWP 6776)]
[New Thread 74390448 (LWP 6777)]
[Thread 60824496 (LWP 6776) exited]
[Thread 36027312 (LWP 6772) exited]
[Thread 74390448 (LWP 6777) exited]
[New Thread 74390448 (LWP 6830)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -151119904 (LWP 6768)]
0x0843d663 in nsPRUint32Key::Clone ()
(gdb)
bt
#0 0x0843d663 in nsPRUint32Key::Clone ()
#1 0x08435fe1 in nsPRUint32Key::Clone ()
#2 0x08419175 in nsPRUint32Key::Clone ()
#3 0x08413577 in nsPRUint32Key::Clone ()
#4 0x0841d5e8 in nsPRUint32Key::Clone ()
#5 0x084133cc in nsPRUint32Key::Clone ()
#6 0x08419175 in nsPRUint32Key::Clone ()
#7 0x08413577 in nsPRUint32Key::Clone ()
#8 0x0841d5e8 in nsPRUint32Key::Clone ()
#9 0x084133cc in nsPRUint32Key::Clone ()
#10 0x08419175 in nsPRUint32Key::Clone ()
#11 0x08413491 in nsPRUint32Key::Clone ()
#12 0x084133fa in nsPRUint32Key::Clone ()
#13 0x08419175 in nsPRUint32Key::Clone ()
#14 0x08413577 in nsPRUint32Key::Clone ()
#15 0x0841d5e8 in nsPRUint32Key::Clone ()
#16 0x084133cc in nsPRUint32Key::Clone ()
#17 0x08419175 in nsPRUint32Key::Clone ()
#18 0x08413577 in nsPRUint32Key::Clone ()
#19 0x0841d5e8 in nsPRUint32Key::Clone ()
#20 0x084133cc in nsPRUint32Key::Clone ()
#21 0x08419175 in nsPRUint32Key::Clone ()
#22 0x08413577 in nsPRUint32Key::Clone ()
#23 0x0841d5e8 in nsPRUint32Key::Clone ()
#24 0x084133cc in nsPRUint32Key::Clone ()
#25 0x08419175 in nsPRUint32Key::Clone ()
#26 0x084190a6 in nsPRUint32Key::Clone ()
#27 0x0841d585 in nsPRUint32Key::Clone ()
#28 0x0841e0dd in nsPRUint32Key::Clone ()
#29 0x0822ce66 in nsReadingIterator<unsigned short>::advance ()
#30 0x08392e72 in nsPRUint32Key::Clone ()
#31 0x083974d0 in nsPRUint32Key::Clone ()
#32 0x08396ebc in nsPRUint32Key::Clone ()
#33 0x08395ef9 in nsPRUint32Key::Clone ()
#34 0x08397f66 in nsPRUint32Key::Clone ()
#35 0x08392866 in nsPRUint32Key::Clone ()
#36 0x0820fd71 in nsReadingIterator<unsigned short>::advance ()
#37 0x08209d80 in nsReadingIterator<unsigned short>::advance ()
#38 0x0820d7d4 in nsReadingIterator<unsigned short>::advance ()
#39 0x02e55074 in gtk_marshal_VOID__UINT_STRING ()
from /usr/lib/libgtk-x11-2.0.so.0
#40 0x00187160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#41 0x0019b195 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#42 0x00199f2e in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#43 0x0019a454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#44 0x02f54275 in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0
#45 0x02e5231a in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#46 0x00935db3 in gdk_window_clear_area_e () from /usr/lib/libgdk-x11-2.0.so.0
#47 0x00935eba in gdk_window_process_all_updates ()
from /usr/lib/libgdk-x11-2.0.so.0
#48 0x00935f15 in gdk_window_process_all_updates ()
from /usr/lib/libgdk-x11-2.0.so.0
#49 0x001e11f3 in g_child_watch_add () from /usr/lib/libglib-2.0.so.0
#50 0x001dde4a in g_main_depth () from /usr/lib/libglib-2.0.so.0
#51 0x001def28 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#52 0x001df260 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#53 0x001df8a3 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#54 0x02e51c33 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#55 0x0820f233 in nsReadingIterator<unsigned short>::advance ()
#56 0x085ce973 in nsPRUint32Key::Clone ()
#57 0x08777c52 in nsPRUint32Key::Clone ()
#58 0x08073777 in ?? ()
#59 0x00000001 in ?? ()
#60 0xfef802f4 in ?? ()
#61 0x08793bc0 in _IO_stdin_used ()
#62 0xfef802c8 in ?? ()
#63 0x00552ad4 in __libc_start_main () from /lib/tls/libc.so.6
Previous frame identical to this frame (corrupt stack?)
(gdb)
Summary: crash if non-root user in fact of unreadable xft fonts → crash if non-root user in fact of unreadable xft fonts
Whiteboard: DUPEME
Comment 2•21 years ago
|
||
*** This bug has been marked as a duplicate of 183729 ***
Status: UNCONFIRMED → RESOLVED
Closed: 21 years ago
Resolution: --- → DUPLICATE
Updated•16 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•