Closed Bug 238374 Opened 20 years ago Closed 20 years ago

gnomevfs extension should only be built when GTK2 toolkit is in use [was: Freeze or crash when opening an application/x-perl file]

Categories

(Core :: Networking, defect)

PowerPC
Linux
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla1.7final

People

(Reporter: vincent-moz, Assigned: darin.moz)

References

()

Details

(Keywords: crash)

Attachments

(1 file)

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

When opening an application/x-perl file such as given by the above URL, Mozilla
either completely freezes (must be killed with kill -9) or crashes.

Reproducible: Always
Steps to Reproduce:
1. Open <http://www.vinc17.org/unix/index.fr.html> URL.
2. From this page, click on "ReadEncoding.pm".
Actual Results:  
Mozilla either freezes (doesn't respond to any event nor redisplay anything) or
crashes.

Expected Results:  
Mozilla should display the file contents.

I started Mozilla in the following way and got in the terminal:

ay:~> mozilla
LoadPlugin: failed to initialize shared library
/usr/local/j2re1.3.1/plugin/ppc/mozilla/javaplugin_oji.so
[/usr/local/j2re1.3.1/plugin/ppc/mozilla/javaplugin_oji.so: undefined symbol:
_ZTV16nsQueryInterface]


Welcome to jslib version 0.1.123

Global Constants:

JS_LIBRARY     
        jslib
[...]
Document http://www.vinc17.org/unix/index.fr.html loaded successfully
On metadata item.
Document http://www.vinc17.org/unix/ReadEncoding.pm loaded successfully

libgnomevfs-WARNING **: Unable to create ~/.gnome directory: No such file or
directory
/home/lefevre/mozilla/lib/mozilla-1.7b/run-mozilla.sh: line 451:  6630
Segmentation fault      (core dumped) "$prog" ${1+"$@"}
zsh: exit 139   mozilla

The backtrace:
(gdb) backtrace 
#0  0x0f79fa74 in kill () from /lib/libc.so.6
#1  0x0fe4885c in pthread_kill () from /lib/libpthread.so.0
#2  0x0fe48cd8 in raise () from /lib/libpthread.so.0
#3  0x0e9d34f0 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libprofile.so
#4  0x0fe4ba88 in __pthread_sighandler () from /lib/libpthread.so.0
#5  <signal handler called>
#6  0x0fbde4b0 in g_mem_chunk_alloc () from /usr/lib/libglib-1.2.so.0
#7  0x0fbde4b0 in g_mem_chunk_alloc () from /usr/lib/libglib-1.2.so.0
#8  0x0fbea3e4 in g_string_new () from /usr/lib/libglib-1.2.so.0
#9  0x0db69114 in g_file_open_tmp () from /usr/lib/libglib-2.0.so.0
#10 0x0db69470 in g_build_filename () from /usr/lib/libglib-2.0.so.0
#11 0x0dd4ba84 in gnome_vfs_inet_connection_to_socket_buffer ()
   from /usr/lib/libgnomevfs-2.so.0
#12 0x0dd4bc08 in gnome_vfs_init () from /usr/lib/libgnomevfs-2.so.0
#13 0x0dd97e6c in nsGnomeVFSProtocolHandler::Init() ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libnkgnomevfs.so
#14 0x0dd98548 in nsGnomeVFSProtocolHandler::Init() ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libnkgnomevfs.so
#15 0x0f601ae8 in non-virtual thunk to nsGenericFactory::QueryInterface(nsID con
st&, void**) () from /home/lefevre/mozilla/lib/mozilla-1.7b/libxpcom.so
#16 0x0f5c9210 in non-virtual thunk to nsComponentManagerImpl::CreateInstance(ns
ID const&, nsISupports*, nsID const&, void**) ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/libxpcom.so
#17 0x0f5ca074 in non-virtual thunk to nsComponentManagerImpl::UnregisterService
(char const*) () from /home/lefevre/mozilla/lib/mozilla-1.7b/libxpcom.so
#18 0x0f37f5d8 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libnecko.so
#19 0x0f3856e4 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libnecko.so
#20 0x0f384ae0 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libnecko.so
#21 0x0f37fd10 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libnecko.so
#22 0x0ec0ec6c in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libimglib2.so
#23 0x0ec0c520 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libimglib2.so
#24 0x0ec0cd00 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libimglib2.so
#25 0x0ef2917c in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#26 0x0ef28dec in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#27 0x0ef28530 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#28 0x0eebf9c8 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#29 0x0ee6b3e0 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#30 0x0f12b690 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#31 0x0f1b71cc in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#32 0x0f1b6d30 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#33 0x0f1b39c0 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#34 0x0f5f184c in XPTC_InvokeByIndex ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/libxpcom.so
#35 0x0ecd65a0 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libxpconnect.so
#36 0x0ecdd510 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libxpconnect.so
#37 0x0ff96410 in js_Invoke ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/libmozjs.so
#38 0x0ff9eb84 in js_Interpret ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/libmozjs.so
#39 0x0ff964c8 in js_Invoke ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/libmozjs.so
#40 0x0ff96790 in js_InternalInvoke ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/libmozjs.so
#41 0x0ff706b0 in JS_CallFunctionValue ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/libmozjs.so
#42 0x0f157ccc in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#43 0x0f190b20 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#44 0x0f003040 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#45 0x0f003500 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#46 0x0f15da60 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#47 0x0ef93754 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libgklayout.so
#48 0x0e76d36c in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libdocshell.so
#49 0x0e777ec4 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libdocshell.so
#50 0x0e76d044 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libdocshell.so
#51 0x0e784a70 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libdocshell.so
#52 0x0e783dac in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libdocshell.so
#53 0x0e783c7c in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libdocshell.so
#54 0x0e7839d4 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libdocshell.so
#55 0x0f381d5c in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libnecko.so
#56 0x0e954674 in NSGetModule ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libchrome.so
#57 0x0f5d2048 in PL_HandleEvent ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/libxpcom.so
#58 0x0f5d1f70 in PL_ProcessPendingEvents ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/libxpcom.so
#59 0x0f5d3fa4 in nsEventQueueImpl::NotifyObservers(char const*) ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/libxpcom.so
#60 0x0ea4251c in _SDA_BASE_ ()
   from /home/lefevre/mozilla/lib/mozilla-1.7b/components/libwidget_gtk.so
Blocks: 237822
WFM with Moz1.7a under WinXP but marking new since you have a callstack.
Status: UNCONFIRMED → NEW
Component: Browser-General → Networking
Ever confirmed: true
reassign
Assignee: general → darin
QA Contact: general → benc
Keywords: crash
i cannot reproduce this using mozilla 1.7b under linux (fedora core 1).  do you
have some helper app associated with application/x-perl ?
No helper application. But I had many crashes due to GnomeVFS. I recompiled
Mozilla without GnomeVFS and no longer get these crashes. Mozilla is also much
faster (but I don't know if this is due to this compile option change).
darin: note the glib1 and glib2 mix:

#8  0x0fbea3e4 in g_string_new () from /usr/lib/libglib-1.2.so.0
#9  0x0db69114 in g_file_open_tmp () from /usr/lib/libglib-2.0.so.0

Vincent: are you building with GTK1 or GTK2?
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.7final
> Vincent: are you building with GTK1 or GTK2?

I don't know. Here was my .mozconfig:

# Perl program (Mozilla takes perl5 by default, which can lead to clashes)
PERL=perl

# Options for 'configure' (same as command-line options).
ac_add_options --prefix=$HOME/mozilla
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-png
ac_add_options --with-system-mng
ac_add_options --enable-calendar
ac_add_options --enable-xft
ac_add_options --enable-crypto
ac_add_options --disable-debug
ac_add_options --enable-optimize=-O2
ac_add_options --enable-reorder
ac_add_options --enable-strip
ac_add_options --enable-xterm-updates

# SVG support - see http://www.mozilla.org/projects/svg/build.html
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

My Linux distribution is a Debian with the following packages installed:
libgtk1.2-dev
libgtk2.0-dev

Then it depends on what Mozilla takes by default.

I still have the config.log after the recompilation with --disable-gnomevfs. If
it didn't change anything, I have:

configure:11110: checking for gtk-config
configure:11145: checking for GTK - version >= 1.2.0
configure:11246: gcc -o conftest  -pthread -I/usr/include/gtk-1.2
-I/usr/include/glib-1.2 -I/usr/lib/glib/include   -I/usr/X11R6/include 
conftest.c -ldl -lm  -L/usr/lib -L/usr/X11R6/lib -lgtk -lgdk -rdynamic -lgmodule
-lglib -ldl -lXi -lXext -lX11 -lm 1>&5

Also, with the old binary (the one that crashed):
$ ldd /home/lefevre/mozilla.bak/lib/mozilla-1.7b/mozilla-bin
        libmozjs.so => not found
        libplds4.so => not found
        libplc4.so => not found
        libnspr4.so => not found
        libpthread.so.0 => /lib/libpthread.so.0 (0x0ff8f000)
        libdl.so.2 => /lib/libdl.so.2 (0x0ff6c000)
        libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0x0fde3000)
        libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0x0fd86000)
        libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0x0fd62000)
        libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x0fd16000)
        libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x0fced000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x0fcbb000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x0fbc3000)
        libm.so.6 => /lib/libm.so.6 (0x0fb2f000)
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x0fa47000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0fa1a000)
        libc.so.6 => /lib/libc.so.6 (0x0f8bc000)
        /lib/ld.so.1 => /lib/ld.so.1 (0x30000000)
$ strings -a /home/lefevre/mozilla.bak/lib/mozilla-1.7b/* | grep libglib
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0
libglib-1.2.so.0

However the backtrace says:

#11 0x0dd4ba84 in gnome_vfs_inet_connection_to_socket_buffer ()
   from /usr/lib/libgnomevfs-2.so.0

which means that glib-2.0 will be used here. /usr/lib/libgnomevfs.so.0 should
have been taken instead.
by default, mozilla uses GTK1.  i don't think we want to use gnomevfs-1, so i
think the right thing to do is to force the gnomevfs extension to be disabled if
the toolkit is not GTK2.
Attached patch v1 patchSplinter Review
Summary: Freeze or crash when opening an application/x-perl file → gnomevfs extension should only be built when GTK2 toolkit is in use [was: Freeze or crash when opening an application/x-perl file]
Attachment #145122 - Flags: superreview?(bryner)
Attachment #145122 - Flags: review?(bryner)
*** Bug 238978 has been marked as a duplicate of this bug. ***
Attachment #145122 - Flags: superreview?(bryner)
Attachment #145122 - Flags: superreview+
Attachment #145122 - Flags: review?(bryner)
Attachment #145122 - Flags: review+
Attachment #145122 - Flags: approval1.7?
Comment on attachment 145122 [details] [diff] [review]
v1 patch

a=chofmann for 1.7
Attachment #145122 - Flags: approval1.7? → approval1.7+
fixed-on-trunk for 1.7 final
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: