(BUG)[AttysECG VERSION 1.4.0 ] The application crashes when I try to browse the file

in #utopian-io5 years ago (edited)

Project Information

The PO has acknowledged the bug

berndporr commented 7 hours ago •
Thanks for reporting it. I have fixed the issue and tested under Android 9 and Android 7. Let me know if that works again. I recently upgraded to androidx and that requires now a lot more security checks.
It's uploaded to play but take an hour to update.

Expected behavior

When I try to file a browser, all the information in the file should appear in the application and the application should not be crashed.

Actual behavior

The app gets crashes when I try to upload or browse file

How to reproduce

  • download and open the application

  • At the top right click three vertical dots

  • click on File Browser

  • select the .tsv File

  • click on the ok button

  • Note the Bug

  • Browser/App version-: 1.4.0

  • Operating system----: 9.0.0

Mobile version Proof :

Screenshot_20190609-021706_Settings.jpg

Recording Of The Bug

20190608_152032

Logcat

06-08 14:44:29.523  1386  1386 E AndroidRuntime: FATAL EXCEPTION: main
06-08 14:44:29.523  1386  1386 E AndroidRuntime: Process: tech.glasgowneuro.attysecg, PID: 1386
06-08 14:44:29.523  1386  1386 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'void java.io.PrintWriter.flush()' on a null object reference
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at tech.glasgowneuro.attysecg.AttysECG$HRRecorder.shutdown(AttysECG.java:167)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at tech.glasgowneuro.attysecg.AttysECG$HRRecorder.access$2500(AttysECG.java:131)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at tech.glasgowneuro.attysecg.AttysECG.startRRrec(AttysECG.java:588)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at tech.glasgowneuro.attysecg.AttysECG.onStart(AttysECG.java:633)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1395)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at android.app.Activity.performStart(Activity.java:7348)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3139)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:106)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:214)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:7073)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
06-08 14:44:29.523  1386  1386 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
06-08 14:44:35.874  1493  1493 E AndroidRuntime: FATAL EXCEPTION: main
06-08 14:44:35.874  1493  1493 E AndroidRuntime: Process: tech.glasgowneuro.attysecg, PID: 1493
06-08 14:44:35.874  1493  1493 E AndroidRuntime: java.lang.SecurityException: Permission Denial: starting Intent { act=android.settings.BLUETOOTH_SETTINGS cmp=com.android.settings/.Settings$BluetoothSettingsActivity } from ProcessRecord{c834b2bd0 1493:tech.glasgowneuro.attysecg/u0a178} (pid=1493, uid=10178) requires android.permission.BLUETOOTH_ADMIN
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at android.os.Parcel.createException(Parcel.java:1966)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at android.os.Parcel.readException(Parcel.java:1934)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at android.os.Parcel.readException(Parcel.java:1884)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at android.app.IActivityManager$Stub$Proxy.startActivity(IActivityManager.java:3600)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1673)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at android.app.Activity.startActivityForResult(Activity.java:4689)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:767)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at android.app.Activity.startActivityForResult(Activity.java:4647)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:754)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at android.app.Activity.startActivity(Activity.java:5008)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at android.app.Activity.startActivity(Activity.java:4976)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at tech.glasgowneuro.attysecg.AttysECG$4.onClick(AttysECG.java:685)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:106)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:214)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:7073)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
06-08 14:44:35.874  1493  1493 E AndroidRuntime: Caused by: android.os.RemoteException: Remote stack trace:
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at com.android.server.am.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:2139)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:899)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:662)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:1534)
06-08 14:44:35.874  1493  1493 E AndroidRuntime:    at com.android.server.am.ActivityStarter.execute(ActivityStarter.java:604)
06-08 14:44:35.874  1493  1493 E AndroidRuntime: 
06-08 14:44:41.380  1689  1689 E AndroidRuntime: FATAL EXCEPTION: main
06-08 14:44:41.380  1689  1689 E AndroidRuntime: Process: tech.glasgowneuro.attysecg, PID: 1689
06-08 14:44:41.380  1689  1689 E AndroidRuntime: java.lang.SecurityException: Permission Denial: starting Intent { act=android.settings.BLUETOOTH_SETTINGS cmp=com.android.settings/.Settings$BluetoothSettingsActivity } from ProcessRecord{f1bd45bd0 1689:tech.glasgowneuro.attysecg/u0a178} (pid=1689, uid=10178) requires android.permission.BLUETOOTH_ADMIN
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at android.os.Parcel.createException(Parcel.java:1966)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at android.os.Parcel.readException(Parcel.java:1934)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at android.os.Parcel.readException(Parcel.java:1884)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at android.app.IActivityManager$Stub$Proxy.startActivity(IActivityManager.java:3600)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1673)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at android.app.Activity.startActivityForResult(Activity.java:4689)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:767)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at android.app.Activity.startActivityForResult(Activity.java:4647)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:754)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at android.app.Activity.startActivity(Activity.java:5008)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at android.app.Activity.startActivity(Activity.java:4976)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at tech.glasgowneuro.attysecg.AttysECG$4.onClick(AttysECG.java:685)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:106)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:214)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:7073)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
06-08 14:44:41.380  1689  1689 E AndroidRuntime: Caused by: android.os.RemoteException: Remote stack trace:
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at com.android.server.am.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:2139)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:899)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:662)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:1534)
06-08 14:44:41.380  1689  1689 E AndroidRuntime:    at com.android.server.am.ActivityStarter.execute(ActivityStarter.java:604)
Sort:  

Hi @crysports, thanks for making this contribution.

I see the PO has acknowledged and fixed this report in the latest version . Thanks for providing a logcat. This was really helpful. From the trace, it seems this was an issue with access permissions and the security checks. But I see the PO has rectified this

Also, I will like you to work on your usage of the English language. I had difficulty understanding your write up, there were misplaced tenses. The expected and actual behaviors should properly describe to the reader in clear terms what you tester experienced.

Thanks again for the report. I look forward to more of your reports.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Chat with us on Discord.

[utopian-moderator]

Thank you for your review, @fego! Keep up the good work!

Hi @xamir5!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Hey, @xamir5!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.032
BTC 63754.85
ETH 3055.95
USDT 1.00
SBD 3.85