Closed Bug 434997 Opened 16 years ago Closed 15 years ago

FF crashed; crashreporter: libgconf-2.so.4 cannot open shared object

Categories

(Toolkit :: Crash Reporting, defect, P3)

x86
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla1.9.3a1
Tracking Status
status1.9.2 --- beta1-fixed

People

(Reporter: rcoe, Assigned: karlt)

References

Details

Attachments

(1 file, 1 obsolete file)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13

I was using FF when it crashed. 
/usr/local/src/firefox-3rc1/crashreporter: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory

The crash reporter worked with 3.0b5.

no core file generated.

This seems to be a gnome desktop configuration library, and I'm not running
gnome.

Reproducible: Didn't try

Steps to Reproduce:
1.
2.
3.



ldd ../firefox-3.0b5/crashreporter
        linux-gate.so.1 =>  (0xffffe000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7ed7000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7ed3000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7b6d000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb7b54000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb7ad2000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb7aba000)
        libm.so.6 => /lib/libm.so.6 (0xb7a94000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb7a8b000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb7a4f000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb79d9000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb79d6000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb799c000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb78e0000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb78dc000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb77f6000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb77eb000)
        libc.so.6 => /lib/libc.so.6 (0xb769f000)
        /lib/ld-linux.so.2 (0xb7f12000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb75b7000)
        libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb75b4000)
        libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb75b1000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb75ac000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7581000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb7572000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb756a000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb7567000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0xb755f000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb7559000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb7550000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb7528000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb74ba000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb74a6000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb746b000)
        librt.so.1 => /lib/librt.so.1 (0xb7462000)
        libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb745f000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7448000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7428000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb7425000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb741f000)

ldd crashreporter
        linux-gate.so.1 =>  (0xffffe000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7f54000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7f50000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7bea000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb7bd1000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb7b4f000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb7b37000)
        libm.so.6 => /lib/libm.so.6 (0xb7b11000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb7b08000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb7acc000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb7a56000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7a53000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7a19000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb795d000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb7959000)
        libgconf-2.so.4 => not found
        libORBit-2.so.0 => not found
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7872000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb7867000)
        libc.so.6 => /lib/libc.so.6 (0xb771b000)
        /lib/ld-linux.so.2 (0xb7f8f000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7634000)
        libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb7631000)
        libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb762d000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb7628000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb75fd000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb75ef000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb75e7000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb75e3000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0xb75db000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb75d5000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb75cc000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb75a5000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7536000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7522000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb74e7000)
        librt.so.1 => /lib/librt.so.1 (0xb74de000)
        libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb74dc000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb74c4000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb74a4000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb74a1000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb749c000)
Version: unspecified → Trunk
Severity: critical → normal
Component: General → Breakpad Integration
Product: Firefox → Toolkit
QA Contact: general → breakpad.integration
There will be many users who do not have Gnome libraries installed,
and many users with Gnome libraries will only have 64-bit builds.

Still an issue with
Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-GB; rv:1.9) Gecko/2008052912 Firefox/3.0

readelf -d crashreporter includes
 0x00000001 (NEEDED)                     Shared library: [libgconf-2.so.4]
 0x00000001 (NEEDED)                     Shared library: [libORBit-2.so.0]

The symbols depending on libgconf appear to be:
 gconf_client_get_default
 gconf_client_get_string
 gconf_client_get_bool
 gconf_client_get_int
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: wanted1.9.0.x?
Blocks: 385280
Yeah, I guess we should be dynamically loading these symbols. I was under the impression that the Firefox binary would be linked to them anyway, but we must dynamically load them there as well?
(In reply to comment #2)
> I was under the impression that the Firefox binary would be linked to them
> anyway, but we must dynamically load them there as well?

It seems that some Firefox modules are linked to symbols in libgconf, but those modules are loaded dynamically, which I assume fails when any library dependencies are missing.
Flags: blocking1.9.1?
Ah, ok. Given the limited usage of gconf here, it shouldn't be hard to convert to dlopen.
I do not know whether you already switched to dlopen() in firefox-3.0rc1 but there it seems that crashreporter sometimes does not work, because it doesn't honour my LD_LIBRARY_PATH (my gnome is below /opt/gnome). So if I do an 'ldd /opt/Mozilla/firefox-3.0rc1/crashreporter', that's fine and firefox easily starts up on the command line, but I do seem unable to send a chrashreport without making a few hundred links.
That's probably a different bug. The crashreporter is launched from Firefox, and we explicitly unset LD_LIBRARY_PATH when we launch because the Firefox startup script sets it to the Firefox dir, which screws up our linking with system libraries.
Does crashreporter use the proxy specified for FF?

I tried using the crashreporter from a previous beta, and I get a message
that an error occurred, and then it exits.
No. The patch was to make it use the system-wide proxy settings using gconf. We don't use the Firefox proxy settings on any platform.
I would have expected the gnome-settings-daemon or something to set the http_proxy environment variable from the gconf setting.  I wonder why libcurl would not just use this environment variable?
Assignee: nobody → ted.mielczarek
Ted or Karl, how widespread do we think this problem is?  Need to know to determine blocking and importance for a 1.9.0.x release.
(In reply to comment #11)
> Ted or Karl, how widespread do we think this problem is?

The main group of people affected here would be non-Gnome (KDE mostly) 32-bit users.  (64-bit users have other issues [bug 437562 and bug 427210] so solving this alone is not necessarily going to help them.)

We get few crash reports from Linux users, because many are using distro-built versions.  That I guess means that few users will benefit from fixing this, but it also makes those few that get the fix more valuable.

I wouldn't make this blocking 1.9.0.x, but, assuming we fix for 1.9.1, it would be nice to port back to 1.9.0.x (wanted).
Priority: -- → P2
OK.  Thanks for the info, Karl.  This doesn't sound like it would block either release, but it's really wanted for either.  Please re-nom for either if you disagree.  

wanted1.9.0.x+ 
blocking1.9.1-.
wanted1.9.1+
P3.
Flags: wanted1.9.1+
Flags: wanted1.9.0.x?
Flags: wanted1.9.0.x+
Flags: blocking1.9.1?
Flags: blocking1.9.1-
Priority: P2 → P3
Assignee: ted.mielczarek → nobody
Attached patch patch (obsolete) — Splinter Review
Assignee: nobody → mozbugz
Status: NEW → ASSIGNED
Attachment #394764 - Flags: review?(ted.mielczarek)
Attachment #394764 - Attachment is obsolete: true
Attachment #394767 - Flags: review?(ted.mielczarek)
Attachment #394764 - Flags: review?(ted.mielczarek)
Comment on attachment 394767 [details] [diff] [review]
patch (without GConf headers)

Seems reasonable, if a bit verbose.
Attachment #394767 - Flags: review?(ted.mielczarek) → review+
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.3a1
Attachment #394767 - Flags: approval1.9.2?
Attachment #394767 - Flags: approval1.9.1.5?
Attachment #394767 - Flags: approval1.9.2? → approval1.9.2+
Comment on attachment 394767 [details] [diff] [review]
patch (without GConf headers)

This probably would have been nice a while back, but at this point let's just get it fixed in 1.9.2 and live with it.

a-minus for 1.9.1.x
Attachment #394767 - Flags: approval1.9.1.5? → approval1.9.1.5-
Flags: wanted1.9.0.x+ → wanted1.9.0.x-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: