(BUG)[AttysECG VERSION 1.4.0 ] The app gets crashes when I click on the configure bluetooth

in #utopian-io5 years ago

Project Information

The PO has acknowledged the bug

berndporr commented 7 hours ago
This was due to a null pointer exception from the new heartrate logging feature. Thanks for pointing it out. Fix has been uploaded and works here. However, I see in the logs that your phone didn't like to be directed to the bluetooth screen. If it's now a permission problem let me know and of course if it works now. Latest version is 41/1.4.2.

Expected behavior

When I click on configure bluetooth, the bluetooth should be turned on and the application should not crash

Actual behavior

The app gets crashes when I click on the configure bluetooth

How to reproduce

  • download and open the application

  • configure bluetooth

  • Note the Bug

  • Browser/App version-: 1.4.0

  • Operating system----: 9.0.0

Recording Of The Bug

20190608_151830

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)
06-08 14:44:41.380  1689  1689 E AndroidRuntime: 
06-08 14:46:46.542  1813  1813 E AndroidRuntime: FATAL EXCEPTION: main
06-08 14:46:46.542  1813  1813 E AndroidRuntime: Process: tech.glasgowneuro.attysecg, PID: 1813
06-08 14:46:46.542  1813  1813 E AndroidRuntime: android.os.FileUriExposedException: file:///storage/emulated/0/attys/hr.tsv exposed beyond app through ClipData.Item.getUri()
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at android.os.StrictMode.onFileUriExposed(StrictMode.java:1978)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at android.net.Uri.checkFileUriExposed(Uri.java:2371)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at android.content.ClipData.prepareToLeaveProcess(ClipData.java:966)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at android.content.Intent.prepareToLeaveProcess(Intent.java:10917)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at android.content.Intent.prepareToLeaveProcess(Intent.java:10923)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at android.content.Intent.prepareToLeaveProcess(Intent.java:10902)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1671)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at android.app.Activity.startActivityForResult(Activity.java:4689)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:767)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at android.app.Activity.startActivityForResult(Activity.java:4647)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:754)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at android.app.Activity.startActivity(Activity.java:5008)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at android.app.Activity.startActivity(Activity.java:4976)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at tech.glasgowneuro.attysecg.AttysECG$12.onClick(AttysECG.java:1015)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:106)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:214)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:7073)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
06-08 14:46:46.542  1813  1813 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
06-08 14:46:58.750  3238  3238 E AndroidRuntime: FATAL EXCEPTION: main
06-08 14:46:58.750  3238  3238 E AndroidRuntime: Process: tech.glasgowneuro.attysecg, PID: 3238
06-08 14:46:58.750  3238  3238 E AndroidRuntime: android.os.FileUriExposedException: file:///storage/emulated/0/attys/hr.tsv exposed beyond app through ClipData.Item.getUri()
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at android.os.StrictMode.onFileUriExposed(StrictMode.java:1978)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at android.net.Uri.checkFileUriExposed(Uri.java:2371)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at android.content.ClipData.prepareToLeaveProcess(ClipData.java:966)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at android.content.Intent.prepareToLeaveProcess(Intent.java:10917)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at android.content.Intent.prepareToLeaveProcess(Intent.java:10923)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at android.content.Intent.prepareToLeaveProcess(Intent.java:10902)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1671)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at android.app.Activity.startActivityForResult(Activity.java:4689)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:767)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at android.app.Activity.startActivityForResult(Activity.java:4647)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:754)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at android.app.Activity.startActivity(Activity.java:5008)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at android.app.Activity.startActivity(Activity.java:4976)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at tech.glasgowneuro.attysecg.AttysECG$12.onClick(AttysECG.java:1015)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:106)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:214)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:7073)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
06-08 14:46:58.750  3238  3238 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
Sort:  

Hello, @xamir5. Thank you for your contribution. Good to see that you provided log-cat to help the PO easily understand the cause of this bug. Well done!
That's said, I would like you to not only publish your report via Utopian immediately your report gets acknowledged. Do well to help the PO more by following up with their comment. Provide them with more information to help them understand the issue better.

I look forward to your next report.

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, @knowledges! 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.31
TRX 0.11
JST 0.034
BTC 65139.82
ETH 3206.69
USDT 1.00
SBD 4.16