Closed
Bug 837379
Opened 13 years ago
Closed 9 years ago
java.lang.IllegalArgumentException: invalid span offsets at org.mozilla.gecko.GeckoEditable$Action.newSetSpan(GeckoEditable.java)
Categories
(Firefox for Android Graveyard :: Keyboards and IME, defect)
Tracking
(firefox20 affected, firefox21 affected, firefox22 affected, firefox23 affected, firefox24 affected, firefox25 affected)
RESOLVED
DUPLICATE
of bug 1384829
People
(Reporter: scoobidiver, Assigned: jchen)
Details
(Keywords: crash, Whiteboard: [native-crash][leave open])
Crash Data
Attachments
(2 files)
|
5.86 KB,
patch
|
cpeterson
:
review+
|
Details | Diff | Splinter Review |
|
1.51 KB,
patch
|
cpeterson
:
review+
|
Details | Diff | Splinter Review |
There are one crash in 20.0a1 and five in 21.0a1, including bp-6e1e3d8c-6f77-4730-b883-829c42130202.
java.lang.IllegalArgumentException: invalid span offsets
at org.mozilla.gecko.GeckoEditable$Action.newSetSpan(GeckoEditable.java:148)
at org.mozilla.gecko.GeckoEditable.setSpan(GeckoEditable.java:802)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at org.mozilla.gecko.GeckoEditable.invoke(GeckoEditable.java:733)
at $Proxy0.setSpan(Native Method)
at android.text.method.QwertyKeyListener.onKeyDown(QwertyKeyListener.java:256)
at android.text.method.TextKeyListener.onKeyDown(TextKeyListener.java:132)
at org.mozilla.gecko.GeckoInputConnection.processKeyDown(GeckoInputConnection.java:439)
at org.mozilla.gecko.GeckoInputConnection.onKeyDown(GeckoInputConnection.java:412)
at org.mozilla.gecko.gfx.LayerView.onKeyDown(LayerView.java:224)
at android.view.KeyEvent.dispatch(KeyEvent.java:2687)
at android.view.View.dispatchKeyEvent(View.java:5515)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1242)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1246)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1246)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1246)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1246)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1246)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1246)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:1907)
at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1380)
at android.app.Activity.dispatchKeyEvent(Activity.java:2374)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1834)
at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3454)
at android.view.ViewRootImpl.handleFinishedEvent(ViewRootImpl.java:3427)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2576)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4697)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
at dalvik.system.NativeStart.main(Native Method)
More reports at:
https://crash-stats.mozilla.com/report/list?signature=java.lang.IllegalArgumentException%3A+invalid+span+offsets+at+org.mozilla.gecko.GeckoEditable%24Action.newSetSpan%28GeckoEditable.java%29
| Reporter | ||
Updated•13 years ago
|
status-firefox23:
--- → affected
| Reporter | ||
Updated•13 years ago
|
status-firefox22:
--- → affected
status-firefox24:
--- → affected
| Reporter | ||
Comment 1•13 years ago
|
||
There's another stack trace more frequent:
java.lang.IllegalArgumentException: invalid span offsets
at org.mozilla.gecko.GeckoEditable$Action.newSetSpan(GeckoEditable.java:167)
at org.mozilla.gecko.GeckoEditable.setSpan(GeckoEditable.java:1043)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at org.mozilla.gecko.GeckoEditable.invoke(GeckoEditable.java:972)
at $Proxy0.setSpan(Native Method)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at org.mozilla.gecko.GeckoInputConnection$InputThreadUtils$3$1.run(GeckoInputConnection.java:159)
at org.mozilla.gecko.GeckoInputConnection$InputThreadUtils.waitForUiThread(GeckoInputConnection.java:120)
at org.mozilla.gecko.GeckoInputConnection.sendKeyEvent(GeckoInputConnection.java:718)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:364)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:77)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at org.mozilla.gecko.GeckoInputConnection$1.run(GeckoInputConnection.java:486)
at java.lang.Thread.run(Thread.java:856)
Comment 2•13 years ago
|
||
Jim any thoughts on what is going on here?
Comment 3•13 years ago
|
||
Jim, we should update GeckoEditable's IllegalArgumentExceptions to include the invalid arguments' actual values. This will make debugging much easier. <:)
| Assignee | ||
Comment 4•13 years ago
|
||
(In reply to Kevin Brosnan [:kbrosnan] from comment #2)
> Jim any thoughts on what is going on here?
The stack is not very clear to me. Could be a bug on our end or IME's end.
(In reply to Chris Peterson (:cpeterson) from comment #3)
> Jim, we should update GeckoEditable's IllegalArgumentExceptions to include
> the invalid arguments' actual values. This will make debugging much easier.
> <:)
Good idea!
Assignee: nobody → nchen
| Assignee | ||
Comment 5•13 years ago
|
||
Patch to have better exception messages
Attachment #759117 -
Flags: review?(cpeterson)
| Reporter | ||
Updated•13 years ago
|
Whiteboard: [native-crash] → [native-crash][leave open]
Comment 6•13 years ago
|
||
Comment on attachment 759117 [details] [diff] [review]
Log better exception messages in GeckoEditable (v1)
Review of attachment 759117 [details] [diff] [review]:
-----------------------------------------------------------------
LGTM! :D
Attachment #759117 -
Flags: review?(cpeterson) → review+
| Assignee | ||
Comment 7•13 years ago
|
||
Status: NEW → ASSIGNED
Comment 8•13 years ago
|
||
| Reporter | ||
Comment 9•13 years ago
|
||
Here is a crash report with more info: bp-1f617790-53c8-4c8a-8720-4ca202130618.
java.lang.IllegalArgumentException: invalid span offsets: -1 to 0
at org.mozilla.gecko.GeckoEditable$Action.newSetSpan(GeckoEditable.java:169)
at org.mozilla.gecko.GeckoEditable.setSpan(GeckoEditable.java:1049)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at org.mozilla.gecko.GeckoEditable.invoke(GeckoEditable.java:978)
at $Proxy0.setSpan(Native Method)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at org.mozilla.gecko.GeckoInputConnection$InputThreadUtils$3$1.run(GeckoInputConnection.java:161)
at org.mozilla.gecko.GeckoInputConnection$InputThreadUtils.waitForUiThread(GeckoInputConnection.java:122)
at org.mozilla.gecko.GeckoInputConnection.sendKeyEvent(GeckoInputConnection.java:717)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:364)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:77)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at org.mozilla.gecko.GeckoInputConnection$1.run(GeckoInputConnection.java:485)
at java.lang.Thread.run(Thread.java:856)
Crash Signature: [@ java.lang.IllegalArgumentException: invalid span offsets at org.mozilla.gecko.GeckoEditable$Action.newSetSpan(GeckoEditable.java)] → [@ java.lang.IllegalArgumentException: invalid span offsets at org.mozilla.gecko.GeckoEditable$Action.newSetSpan(GeckoEditable.java)]
[@ java.lang.IllegalArgumentException: invalid span offsets: -1 to 0 at org.mozilla.gecko.GeckoEditable$Action.newSetSpa…
| Assignee | ||
Comment 10•13 years ago
|
||
I think we still need more information. This exception is happening off the main thread, but it's based on something that's happening on the main thread, so I think for off-main-thread exceptions, we should log the main thread stack also. This may help with other threading bugs too.
Attachment #764757 -
Flags: review?(cpeterson)
Comment 11•13 years ago
|
||
Comment on attachment 764757 [details] [diff] [review]
Log main thread stack for off-main-thread exceptions (v1)
Review of attachment 764757 [details] [diff] [review]:
-----------------------------------------------------------------
LGTM!
::: mobile/android/base/GeckoAppShell.java
@@ +196,5 @@
> + Thread mainThread = ThreadUtils.getUiThread();
> + if (mainThread != null && thread != mainThread) {
> + Log.e(LOGTAG, "Main thread stack:");
> + for (StackTraceElement ste : mainThread.getStackTrace()) {
> + Log.e(LOGTAG, ste.toString());
It would be nice if we could reuse or refactor the existing getStackTraceString(Throwable e) code so our exception logging is always consistent. But not a deal breaker. :)
Attachment #764757 -
Flags: review?(cpeterson) → review+
| Assignee | ||
Comment 12•13 years ago
|
||
Comment 13•13 years ago
|
||
| Reporter | ||
Comment 14•13 years ago
|
||
Here is a post-investigation-patch crash report: bp-534e168b-06a9-4810-81eb-b53212130713.
| Reporter | ||
Updated•13 years ago
|
status-firefox25:
--- → affected
Updated•10 years ago
|
Crash Signature: org.mozilla.gecko.GeckoEditable$Action.newSetSpan(GeckoEditable.java) ] → org.mozilla.gecko.GeckoEditable$Action.newSetSpan(GeckoEditable.java) ]
[@ java.lang.IllegalArgumentException: invalid span offsets at org.mozilla.gecko.GeckoEditable$Action.newSetSpan]
[@ java.lang.IllegalArgumentException: invalid span offsets: -1 to…
| Assignee | ||
Updated•9 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
Updated•5 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•