Fasthub: Crashes when opening GitHub commit links

Created on 23 Jun 2018  路  12Comments  路  Source: k0shk0sh/FastHub

FastHub Version: 4.6.7
Android Version: 8.0.0 (SDK: 26)
Device Information:

  • Manufacturer: asus
  • Brand: asus

- Model: ZenFone4 (ZE554KL)

I tried opening a link to a commit in a comment for an issue and it crashes. I reproduced it 5 times so far.

Can't Reproduce Investigate

All 12 comments

The link that crashes the app would be helpful

In the Feed I tapped to see this comment:

https://github.com/gonetz/GLideN64/issues/1574#issuecomment-399386890

In it there's the link below. The app crashed (the typical Android " has stopped working" dialog) when I tapped to open it.

https://github.com/gonetz/GLideN64/commit/a3e34aa426294f8fe9a1cfda9ed4034d2aedea10

Sorry for not having included those with the report. I had no idea it would be sent to GitHub.

Ps.: For the sake of curiosity, it seems if I tap "Send Feedback" in the crash dialog and then go back, the app would reload actually show the commit page.

It also crashes by tapping the link in the last comment of this issue:

https://github.com/skilion/onedrive/issues/36

That's strange, both links open for me without any crashes.

I'll have a look at the crash reports

Even clicking the links here crash it.

Do you have more than one browser installed? My system probably will ask me what app to use to open these links.

I have only chrome installed.

I set Chrome as the default, it still crashes...

I uninstalled the others, it still crashes...

If I grab the project here and build it myself, would I be able to debug it? I have some experience with development for Android, though not extensive, but given my backgroup with Java I think I can at least find out what's going on...

@andrebrait yes you will

Just launched the app in debug mode, waited for the debugger to attach, logged in and opened the first link I could see. Here's the stack trace:

E/IssueTimelineFragment聽||聽onNotifyAdapter(): [9]
V/FA: Inactivity, disconnecting from the service
E/SchemeParser聽||聽launchUri(): [https://discord.gg/m3fqNBS]
E/InputEventReceiver: Exception dispatching input event.
E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
E/MessageQueue-JNI: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.text.Layout.getLineForOffset(int)' on a null object reference
                        at android.widget.Editor.calculateTheFakeOffset(Editor.java:6449)
                        at android.widget.Editor.onTouchUpEvent(Editor.java:2272)
                        at android.widget.TextView.onTouchEvent(TextView.java:9760)
                        at android.view.View.dispatchTouchEvent(View.java:11722)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                        at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:445)
                        at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1828)
                        at android.app.Activity.dispatchTouchEvent(Activity.java:3333)
                        at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:68)
                        at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:68)
                        at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:407)
                        at android.view.View.dispatchPointerEvent(View.java:11961)
                        at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4798)
                        at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4612)
                        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4150)
                        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4203)
                        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4169)
                        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4296)
                        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4177)
                        at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4353)
                        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4150)
                        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4203)
                        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4169)
                        at android.view.ViewRootImpl$InputStage.apply
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.fastaccess.github.debug, PID: 25850
                  java.lang.NullPointerException: Attempt to invoke virtual method 'int android.text.Layout.getLineForOffset(int)' on a null object reference
                      at android.widget.Editor.calculateTheFakeOffset(Editor.java:6449)
                      at android.widget.Editor.onTouchUpEvent(Editor.java:2272)
                      at android.widget.TextView.onTouchEvent(TextView.java:9760)
                      at android.view.View.dispatchTouchEvent(View.java:11722)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2961)
                      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2650)
                      at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:445)
                      at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1828)
                      at android.app.Activity.dispatchTouchEvent(Activity.java:3333)
                      at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:68)
                      at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:68)
                      at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:407)
                      at android.view.View.dispatchPointerEvent(View.java:11961)
                      at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4798)
                      at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4612)
                      at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4150)
                      at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4203)
                      at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4169)
                      at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4296)
                      at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4177)
                      at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4353)
                      at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4150)
                      at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4203)
                      at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4169)
                      at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4177)
                      at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4150)
                      at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6671)
                      at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6645)
                      at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6606)
                      at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6774)
                      at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:186)
                      at android.os.MessageQueue.nativePollOnce(Native Method)
                      at android.os.MessageQueue.next(MessageQueue.java:325)
                      at android.os.Looper.loop(Looper.java:145)
                      at android.app.ActivityThread.main(ActivityThread.java:6568)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

@k0shk0sh here's the stack trace for the crash.

Some links do not exhibit this behavior, but I couldn't identify what's the difference between the two.

this is an internal bug and i can't do anything about not even trying to catch it :'( ..

Dang...

I'll try updating some of the dependencies and then I'll get back to you.

The only places I've seen this errer were people returning a Layout as null :/

Was this page helpful?
0 / 5 - 0 ratings