Closed Bug 702624 Opened 8 years ago Closed 8 years ago

Crash Reporter crashes while reproducing bug 702619

Categories

(Toolkit :: Crash Reporting, defect, critical)

ARM
Android
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: xti, Assigned: kats)

References

Details

(Keywords: crash, reproducible, Whiteboard: [native-crash:P1])

Attachments

(1 file)

Mozilla/5.0 (Android;Linux armv7l;rv:11.0a1)Gecko/20111115
Firefox/11.0a1 Fennec/11.0a1
Devices: Motorola Droid 2
OS: Android 2.3.3

Steps to reproduce:
1. Open Fennec App
2. Browse to a couple of webpages, each one in a different tab
3. Tap on the Tab Menu button
4. Quick tap on the " x " button for each tab

Expected result:
After step 4, the app crashes. The Crash Reporter should notify the user about the crash and send a report about it. No crash occurs about the Crash Reporter.

Actual result:
After step 4, after app's crash, the Crash Reporter crashes as well.

Note:
- alogcat log: http://pastebin.mozilla.org/1383240 (line #445)
Keywords: crash
Whiteboard: [native-crash]
Severity: major → critical
Component: General → Breakpad Integration
Product: Fennec Native → Toolkit
QA Contact: general → breakpad.integration
From the logcat log, it sure looks like the crash reporter is running:
I/GeckoCrashReporter(17125): moving /data/data/org.mozilla.fennec/files/mozilla/wis4msv5.default/minidumps/26e4b3d2-2fe2-fee2-45e512e6-0f110f23.dmp to /data/data/org.mozilla.fennec/files/mozilla/Crash Reports/pending/26e4b3d2-2fe2-fee2-45e512e6-0f110f23.dmp
I/GeckoCrashReporter(17125): moving /data/data/org.mozilla.fennec/files/mozilla/wis4msv5.default/minidumps/26e4b3d2-2fe2-fee2-45e512e6-0f110f23.extra to /data/data/org.mozilla.fennec/files/mozilla/Crash Reports/pending/26e4b3d2-2fe2-fee2-45e512e6-0f110f23.extra
E/GeckoCrashReporter(17125): exception while reading strings: 
E/GeckoCrashReporter(17125): java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 1
E/GeckoCrashReporter(17125): 	at java.util.regex.Matcher.appendEvaluated(Matcher.java:153)
E/GeckoCrashReporter(17125): 	at java.util.regex.Matcher.appendReplacement(Matcher.java:115)
E/GeckoCrashReporter(17125): 	at java.util.regex.Matcher.replaceAll(Matcher.java:322)
E/GeckoCrashReporter(17125): 	at java.lang.String.replaceAll(String.java:1963)
E/GeckoCrashReporter(17125): 	at org.mozilla.fennec.CrashReporter.unescape(CrashReporter.java:331)
E/GeckoCrashReporter(17125): 	at org.mozilla.fennec.CrashReporter.readStringsFromReader(CrashReporter.java:193)
E/GeckoCrashReporter(17125): 	at org.mozilla.fennec.CrashReporter.readStringsFromFile(CrashReporter.java:180)
E/GeckoCrashReporter(17125): 	at org.mozilla.fennec.CrashReporter.onCreate(CrashReporter.java:150)
E/GeckoCrashReporter(17125): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
E/GeckoCrashReporter(17125): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1660)
E/GeckoCrashReporter(17125): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1716)
E/GeckoCrashReporter(17125): 	at android.app.ActivityThread.access$1500(ActivityThread.java:124)
E/GeckoCrashReporter(17125): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:968)
E/GeckoCrashReporter(17125): 	at android.os.Handler.dispatchMessage(Handler.java:99)
E/GeckoCrashReporter(17125): 	at android.os.Looper.loop(Looper.java:123)
E/GeckoCrashReporter(17125): 	at android.app.ActivityThread.main(ActivityThread.java:3806)
E/GeckoCrashReporter(17125): 	at java.lang.reflect.Method.invokeNative(Native Method)
E/GeckoCrashReporter(17125): 	at java.lang.reflect.Method.invoke(Method.java:507)
E/GeckoCrashReporter(17125): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/GeckoCrashReporter(17125): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/GeckoCrashReporter(17125): 	at dalvik.system.NativeStart.main(Native Method)
I/ActivityManager( 1298): Displayed org.mozilla.fennec/.CrashReporter: +541ms
D/dalvikvm(17125): GC_EXTERNAL_ALLOC freed 452K, 45% free 3748K/6791K, external 2763K/2773K, paused 33ms
I/GeckoCrashReporter(17125): sendReport: /data/data/org.mozilla.fennec/files/mozilla/Crash Reports/pending/26e4b3d2-2fe2-fee2-45e512e6-0f110f23.dmp
I/GeckoCrashReporter(17125): server url: https://crash-reports.mozilla.com/submit
Whiteboard: [native-crash] → [native-crash:P1]
Assignee: nobody → bugmail.mozilla
String.replaceAll takes a regex as the first parameter, and so backslashes need to be doubled again (once for java-stringification, once for regex-escaping). I was able to reproduce exceptions in desktop java using

  String s = "a\\b\\n";
  System.out.println(s.replaceAll("\\\\", "\\").replaceAll("\\n", "\n").replaceAll("\\t", "\t"));

and verified that doubling the slashes results in the expected behaviour.
Attachment #581720 - Flags: review?(blassey.bugs)
Attachment #581720 - Flags: review?(blassey.bugs) → review+
https://hg.mozilla.org/mozilla-central/rev/635b238dfc2c
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
I noticed the following errors in console regarding Crash Reporter while crash from bug 738633 occurred on the latest Nightly build:

E/GeckoCrashReporter( 9785): exception during send: 
E/GeckoCrashReporter( 9785): javax.net.ssl.SSLException: Not trusted server certificate
E/GeckoCrashReporter( 9785): 	at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:371)
E/GeckoCrashReporter( 9785): 	at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.getSecureSocket(HttpConnection.java:168)
E/GeckoCrashReporter( 9785): 	at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:399)
E/GeckoCrashReporter( 9785): 	at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:1253)
E/GeckoCrashReporter( 9785): 	at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:263)
E/GeckoCrashReporter( 9785): 	at org.mozilla.fennec.CrashReporter.sendReport(CrashReporter.java:258)
E/GeckoCrashReporter( 9785): 	at org.mozilla.fennec.CrashReporter.access$300(CrashReporter.java:69)
E/GeckoCrashReporter( 9785): 	at org.mozilla.fennec.CrashReporter$2.run(CrashReporter.java:170)
E/GeckoCrashReporter( 9785): 	at java.lang.Thread.run(Thread.java:1096)
E/GeckoCrashReporter( 9785): Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not found.
E/GeckoCrashReporter( 9785): 	at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:168)
E/GeckoCrashReporter( 9785): 	at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:366)
E/GeckoCrashReporter( 9785): 	... 8 more
E/GeckoCrashReporter( 9785): Caused by: java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not found.
E/GeckoCrashReporter( 9785): 	at org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi.engineValidate(PKIXCertPathValidatorSpi.java:149)
E/GeckoCrashReporter( 9785): 	at java.security.cert.CertPathValidator.validate(CertPathValidator.java:202)
E/GeckoCrashReporter( 9785): 	at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:164)
E/GeckoCrashReporter( 9785): 	... 9 more

Is it related to this bug?

--
Firefox 14.0a1 (2012-03-23)
Device: Samsung Galaxy S
OS: Android 2.2
No, this looks like a different bug.
That's filed as bug 732629, FYI.
You need to log in before you can comment on or make changes to this bug.