Last Comment Bug 517493 - Sending crash reports on Linux fail because libcurl is not installed by default
: Sending crash reports on Linux fail because libcurl is not installed by default
Status: VERIFIED FIXED
: verified1.9.1, verified1.9.2
Product: Toolkit
Classification: Components
Component: Breakpad Integration (show other bugs)
: Trunk
: x86 Linux
: -- normal (vote)
: mozilla1.9.3a1
Assigned To: Karl Tomlinson (:karlt)
:
: Ted Mielczarek [:ted.mielczarek]
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-09-18 09:43 PDT by Henrik Skupin (:whimboo)
Modified: 2009-12-03 08:32 PST (History)
5 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---
beta1-fixed
.6-fixed


Attachments
try libcurl-gnutls.so.4 and set error_description (1.18 KB, patch)
2009-09-20 22:58 PDT, Karl Tomlinson (:karlt)
ted: review+
benjamin: approval1.9.2+
dveditz: approval1.9.1.6+
Details | Diff | Splinter Review

Description Henrik Skupin (:whimboo) 2009-09-18 09:43:30 PDT
When you are using an official build of Firefox and not the default one from the Ubuntu repository you will not be able to send any crash report. Sending the report relies on libcurl but this library is not installed by default on Ubuntu 9.04.

We should find another library which is installed by default or at least give a reasonable error message. This could happen in the log file or also in the crash reporter UI itself. The latter one would be more obvious to recognize and to fix.

Ted pointed me to this location where we use the library:
http://mxr.mozilla.org/mozilla-central/source/toolkit/crashreporter/google-breakpad/src/common/linux/http_upload.cc#78
Comment 1 Ted Mielczarek [:ted.mielczarek] 2009-09-18 10:26:44 PDT
FWIW, I don't really think fixing this is worthwhile. I think getting bug 447771 fixed is really what will help.
Comment 2 Henrik Skupin (:whimboo) 2009-09-18 10:51:43 PDT
But that will not help us who have to run our nightly builds to verify fixes or finding regression ranges and do crash analysis. It's only a one time situation after a system installation but how should testers be aware of it? There is no sign anywhere which will let them know that libcurl has to be installed first.
Comment 3 Ted Mielczarek [:ted.mielczarek] 2009-09-18 10:58:14 PDT
That may be, but I don't think there's any other library that's going to be installed on all users' machines. I think the best we can hope for is to give a better error message.
Comment 4 Henrik Skupin (:whimboo) 2009-09-18 11:38:46 PDT
Yeah I agree.
Comment 5 Karl Tomlinson (:karlt) 2009-09-18 15:29:44 PDT
Does Ubuntu install libcurl-gnutls.so.4 by default?

We should probably try opening that if libcurl.so.4 fails.

If installed, a simple test would be to create a soft link called libcurl.so.4 in /usr/lib/ (nsExceptionHandler clobbers LD_LIBRARY_PATH) pointing to /usr/lib/libcurl-gnutls.so.4.
Comment 6 Karl Tomlinson (:karlt) 2009-09-20 22:58:22 PDT
Created attachment 401793 [details] [diff] [review]
try libcurl-gnutls.so.4 and set error_description

Debian gives the library a different name when it is built to use gnutls
instead of openssl, for licensing reasons.  Looks like most packages are being
moved to depend on the gnutls version.  Here's one example:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519070#20

I'd expect /usr/lib/libcurl-gnutls.so.4 to be present due to this dependency
chain (at least):
update-manager-core -> python-gnupginterface -> gnupg -> libcurl3-gnutls

This patch also sets error_description so that the message in submit.log
changes from: 
  "Crash report submission failed:"
to:
  "Crash report submission failed: libcurl.so: cannot open shared object
   file: No such file or directory"

(The user still sees only "There was a problem submitting your report.")

Can we apply this patch directly in our tree?
Comment 7 Karl Tomlinson (:karlt) 2009-09-20 23:06:32 PDT
http://code.google.com/p/google-breakpad/issues/detail?id=336
Comment 8 Ted Mielczarek [:ted.mielczarek] 2009-09-21 06:18:32 PDT
I don't like taking local patches, since it makes it difficult to sort out what fixes we've taken from upstream. However, currently syncing to upstream requires some work, since the Linux client-side bits have been rewritten. I have bug 514188 filed on syncing up with upstream again. That being said, If we can land a fix upstream, it seems ok to take it locally as well, since we'll keep the fix when we sync up anyway.
Comment 9 Ted Mielczarek [:ted.mielczarek] 2009-09-21 08:20:53 PDT
(In reply to comment #6)
> This patch also sets error_description so that the message in submit.log
> changes from: 
>   "Crash report submission failed:"
> to:
>   "Crash report submission failed: libcurl.so: cannot open shared object
>    file: No such file or directory"
> 
> (The user still sees only "There was a problem submitting your report.")

I'm not sure if that's the greatest error message to present, but it's better than the nothing we have now.
Comment 10 Ted Mielczarek [:ted.mielczarek] 2009-09-25 13:21:54 PDT
Comment on attachment 401793 [details] [diff] [review]
try libcurl-gnutls.so.4 and set error_description

This is fine. I'll try to remember to check it in upstream as well.
Comment 11 Karl Tomlinson (:karlt) 2009-09-27 17:01:02 PDT
http://hg.mozilla.org/mozilla-central/rev/3fd26ee5928f

We should get this on 1.9.2 for Debian/Ubuntu users.
I'll request approval in a day or so.
Comment 12 Henrik Skupin (:whimboo) 2009-09-30 13:03:50 PDT
Verified fixed on trunk with Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.3a1pre) Gecko/20090930 Minefield/3.7a1pre ID:20090930031238

Shall we also consider it for 1.9.1?
Comment 13 Karl Tomlinson (:karlt) 2009-09-30 16:01:43 PDT
http://hg.mozilla.org/releases/mozilla-1.9.2/rev/a4fecf8f6dbd
Comment 14 Henrik Skupin (:whimboo) 2009-10-04 10:14:36 PDT
Verified fixed on 1.9.2 with Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2b1pre) Gecko/20091004 Namoroka/3.6b1pre ID:20091004033810
Comment 15 Daniel Veditz [:dveditz] 2009-10-21 16:43:23 PDT
Comment on attachment 401793 [details] [diff] [review]
try libcurl-gnutls.so.4 and set error_description

Approved for 1.9.1.5, a=dveditz for release-drivers
Comment 16 Karl Tomlinson (:karlt) 2009-11-01 19:08:13 PST
http://hg.mozilla.org/releases/mozilla-1.9.1/rev/592d82bb8df8
Comment 17 Henrik Skupin (:whimboo) 2009-11-02 02:59:14 PST
Samuel, do we want this for the 3.5.5 release? It's not on your list of bugs which we will take for 3.5.5 but would be really helpful to get people sending their reports.
Comment 18 Samuel Sidler (old account; do not CC) 2009-11-02 07:19:44 PST
No. We're only taking major stability fixes and we don't want to grow the release more than it needs to be.
Comment 19 Henrik Skupin (:whimboo) 2009-11-02 07:49:06 PST
(In reply to comment #18)
> No. We're only taking major stability fixes and we don't want to grow the
> release more than it needs to be.

So the flag has to be updated to .6fixed once it is available.
Comment 20 Samuel Sidler (old account; do not CC) 2009-11-02 07:51:06 PST
Yes. We know. Drivers will handle moving flags.
Comment 21 Henrik Skupin (:whimboo) 2009-11-02 07:55:45 PST
Verified fixed on 1.9.1 with Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.5pre) Gecko/20091102 Shiretoko/3.5.5pre ID:20091102030746
Comment 22 Ted Mielczarek [:ted.mielczarek] 2009-12-03 08:32:24 PST
Finally remembered to land this upstream:
http://code.google.com/p/google-breakpad/source/detail?r=435

Note You need to log in before you can comment on or make changes to this bug.