Closed Bug 1790425 Opened 2 years ago Closed 2 years ago

Crash in [@ java.lang.NumberFormatException: at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java)] for empty String

Categories

(GeckoView :: General, defect, P2)

Firefox 106
All
Android
defect

Tracking

(firefox105 unaffected, firefox106 fixed, firefox107 verified)

RESOLVED FIXED
107 Branch
Tracking Status
firefox105 --- unaffected
firefox106 --- fixed
firefox107 --- verified

People

(Reporter: royang, Assigned: royang)

References

Details

(Keywords: crash, regression, topcrash)

Crash Data

Crash report https://crash-stats.mozilla.org/report/index/c4d22354-087f-41f3-b04f-ab96b0220911

Crash stack:
java.lang.NumberFormatException: empty String
at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1842)
at jdk.internal.math.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
at java.lang.Float.parseFloat(Float.java:455)
at mozilla.components.browser.engine.gecko.prompt.GeckoPromptDelegate.onDateTimePrompt(GeckoPromptDelegate.kt:8)
at org.mozilla.geckoview.PromptController$DateTimeHandler.callDelegate(PromptController.java:2)
at org.mozilla.geckoview.PromptController$DateTimeHandler.callDelegate(PromptController.java:1)
at org.mozilla.geckoview.PromptController.getResponse(PromptController.java:6)
at org.mozilla.geckoview.PromptController.handleEvent(PromptController.java:7)
at org.mozilla.geckoview.GeckoSession$Listener.handleMessage(GeckoSession.java:10)
at org.mozilla.gecko.EventDispatcher$3.run(EventDispatcher.java:2)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

Corresponding Fenix issue is here https://github.com/mozilla-mobile/fenix/issues/26943

Crash Signature: [@ java.lang.NumberFormatException: at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java)]
Summary: NumberFormatException in prompt controller → Crash in [@ java.lang.NumberFormatException: at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java)]

This looks like a new, low-volume regression in 106.0a1.

The earliest affected build ID is 20220908092810 (2022-09-08). Here is the mozilla-central changelog between 2022-09-07 and 2022-09-08:

https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=49a271c42001f7bc5b9efadfc3e0b66dc0b67777&tochange=21386acd44738780c060ee8070d29f7eefc9af5c

I don't see any suspicious Gecko or GeckoView changes, so this regression is probably in A-C code.

java.lang.NumberFormatException: empty String
	at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1842)
	at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
	at java.lang.Float.parseFloat(Float.java:452)
	at mozilla.components.browser.engine.gecko.prompt.GeckoPromptDelegate.onDateTimePrompt(GeckoPromptDelegate.kt:8)
	at org.mozilla.geckoview.PromptController$DateTimeHandler.callDelegate(PromptController.java:2)
	at org.mozilla.geckoview.PromptController$DateTimeHandler.callDelegate(PromptController.java:1)
	at org.mozilla.geckoview.PromptController.getResponse(PromptController.java:6)
	at org.mozilla.geckoview.PromptController.handleEvent(PromptController.java:7)
	at org.mozilla.geckoview.GeckoSession$Listener.handleMessage(GeckoSession.java:10)
	at org.mozilla.gecko.EventDispatcher$3.run(EventDispatcher.java:2)
	at android.os.Handler.handleCallback(Handler.java:790)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:164)
	at android.app.ActivityThread.main(ActivityThread.java:6548)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:857)
Severity: -- → S2
Crash Signature: [@ java.lang.NumberFormatException: at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java)] → [@ java.lang.NumberFormatException: at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java)] [@ java.lang.NumberFormatException: at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java)]
Keywords: crash, regression
Priority: -- → P1
Priority: P1 → P2

Makoto suspect this bug is a regression from TimePicker bug https://github.com/mozilla-mobile/android-components/pull/12632

Nightly's crash volume is pretty low, but we should try to uplift a fix to Beta 106.

The bug is linked to a topcrash signature, which matches the following criterion:

  • Top 10 AArch64 and ARM crashes on nightly

For more information, please visit auto_nag documentation.

Keywords: topcrash

QA verified that this bug has been fixed in Nightly 107:

https://github.com/mozilla-mobile/android-components/pull/12802#issuecomment-1256000400

It's too late to uplift the fix to Beta 106. CORRECTION: we have at least one more early beta build and this crash regression is 100% reproducible on some sites, so Roger is going to uplift the fix to Beta 106.

Assignee: nobody → royang
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 107 Branch
Summary: Crash in [@ java.lang.NumberFormatException: at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java)] → Crash in [@ java.lang.NumberFormatException: at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java)] for empty String
Regressions: 1811183
Component: Core → General
You need to log in before you can comment on or make changes to this bug.