[Aerogear-users] An app crash scenario after clicking on push notification

Federico Cerminara fedecentrico at gmail.com
Fri Apr 21 02:37:03 EDT 2017


Summers,
I'd like to thank you for all your important support.
I'm gonna have a look at Cordova developer docs.
Eventually I'll try to write you again if there are some specific question
about the bug fix.
Have a nice day and thanks again for everything.
Federico

2017-04-20 17:43 GMT+02:00 Summers Pittman <supittma at redhat.com>:

>
>
> On Thu, Apr 20, 2017 at 10:42 AM, Federico Cerminara <
> fedecentrico at gmail.com> wrote:
>
>> Hi Summers,
>> even if I am not the bravest developer I know, the main trouble is the
>> lack of time available to spend on this job. Before deciding internally how
>> to face the problem, I'd like to ask you if you've already scheduled a
>> fixing activity for this bug in a future release (and eventually which
>> could be a date to have an official fix).
>> Instead, if you think the better approach is to trust on my bravery, I'm
>> here to ask you how I could recompile the plugin after applyng all the
>> modifies it requires. What can you suggest me to do? Wait anyway for a
>> future release or start testing a solution and after sending a pull
>> request?
>>
>>
> Well it isn't my project so I can't make any timeline commitments.
> However if you send a pull request it makes it easier to bundle a release.
>
> I suggest you read the Cordova developer docs to learn how to write a
> plugin, they teach you how to compile it for the various platforms as well.
>
>
>> Thanks anyway, Federico.
>>
>>
>>
>>
>> 2017-04-20 15:24 GMT+02:00 Summers Pittman <supittma at redhat.com>:
>>
>>>
>>>
>>> On Thu, Apr 20, 2017 at 6:08 AM, Federico Cerminara <
>>> fedecentrico at gmail.com> wrote:
>>>
>>>> Hi Summers,
>>>> first of all, i'd like to thank you for your precious suggestion.
>>>> I managed to launch my app using Android Emulator and together with the
>>>> logcat tool.
>>>> Thanks to this new approach, i was able to take some lines from the
>>>> logcat stacktrace and now i can share them in the following.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> *04-20 11:35:44.861 31658 31658 E AndroidRuntime:
>>>> java.lang.RuntimeException: Unable to start activity
>>>> ComponentInfo{org.jboss.aerogear.android.cookbook.aerodoc/org.jboss.aerogear.cordova.push.PushHandlerActivity}:
>>>> java.lang.NullPointerException: Attempt to invoke interface method
>>>> 'java.util.Collection org.jboss.aerogear.android.store.Store.readAll()' on
>>>> a null object reference... ... ... 04-20 11:35:44.861 31658 31658 E
>>>> AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to
>>>> invoke interface method 'java.util.Collection
>>>> org.jboss.aerogear.android.store.Store.readAll()' on a null object
>>>> reference04-20 11:35:44.861 31658 31658 E AndroidRuntime:     at
>>>> org.jboss.aerogear.cordova.push.PushHandlerActivity.processPushBundle(PushHandlerActivity.java:60)04-20
>>>> 11:35:44.861 31658 31658 E AndroidRuntime:     at
>>>> org.jboss.aerogear.cordova.push.PushHandlerActivity.onCreate(PushHandlerActivity.java:45)04-20
>>>> 11:35:44.861 31658 31658 E AndroidRuntime:     at
>>>> android.app.Activity.performCreate(Activity.java:6876)04-20 11:35:44.861
>>>> 31658 31658 E AndroidRuntime:     at android.app.Instrumentation.ca
>>>> <http://android.app.Instrumentation.ca>llActivityOnCreate(Instrumentation.java:1135)04-20
>>>> 11:35:44.861 31658 31658 E AndroidRuntime:     at
>>>> android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3207)04-20
>>>> 11:35:44.861 31658 31658 E AndroidRuntime:     ... 9 more*
>>>> As i wrote in the first mail, this is the app crash scenario. If I have
>>>> my app closed or already open, clicking on push notification seems to
>>>> behave correctly, bringing user to application first page. Instead, if I
>>>> try to close all my applications after receiving one or more push
>>>> notification (image notification frequency is quite low) and then I try to
>>>> click on my waiting push, application crashes showing a message that sound
>>>> quite like this “The program <app_name> has been interrupted”
>>>>
>>>> Reading the log stacktrace, it seems like there's a NPE in
>>>> *PushHandlerActivity.java:60*, and more precisely when it tries to
>>>> read the store content.
>>>> Now, I don't know if it's the right place to face the problem, of if I
>>>> should open a ticket somewhere else, or if it's an already known and solved
>>>> bug, or if eventually it's some kind of problem related to a wrong
>>>> configuration in my app. Before losing me in all this wondering, can you
>>>> suggest me what to do? Could i try directly to change the java code in the
>>>> class PushHandlerActivity? Should it have effect, also eventually to make a
>>>> test locally?
>>>>
>>>>
>>> So 1) I think we have this bug known already (
>>> https://issues.jboss.org/browse/AGCORDOVA-167), sorry about that.
>>>
>>> 2) If you are feeling brave you can add the null/initialization check
>>> from here :
>>>
>>>    https://github.com/aerogear/aerogear-cordova-push/blob/b313
>>> fcfb20708089f2e0bcb871e396f67ee2b1a5/src/android/org/jboss/a
>>> erogear/cordova/push/NotificationMessageHandler.java#L43
>>>
>>> to here :
>>>
>>>   https://github.com/aerogear/aerogear-cordova-push/blob/b31
>>> 3fcfb20708089f2e0bcb871e396f67ee2b1a5/src/android/org/jboss/
>>> aerogear/cordova/push/PushHandlerActivity.java#L60
>>>
>>> rebuild the cordova library, test it, and send a pull request if it
>>> fixes your problem.
>>>
>>>
>>>> Here some information about my test conditions which could be useful.
>>>>
>>>> OS: Android 6.0.1
>>>> Device: Samsung S6
>>>> Aerogear Plugin Version: 3.1.0
>>>>
>>>> We're talking about a cross platform application developed with Ionic 1
>>>> and Angular 1.
>>>> I did not try to verify if the problem is happening also on a iOS
>>>> device, but i'm gonna do it immediately after writing this reply.
>>>> Do you think some other info could be useful?
>>>>
>>>> Thanks anyway, Federico.
>>>>
>>>>
>>>>
>>>>
>>>> 2017-04-19 13:37 GMT+02:00 Summers Pittman <supittma at redhat.com>:
>>>>
>>>>> The easiest tool to use is logcat with the Android emulator.  Logcat
>>>>> is part of the Android SDK which you installed while you were setting up
>>>>> your development environment (it may have been installed by another tool
>>>>> but it is there).
>>>>>
>>>>> All you need to do is, from the command line, run logcat.  Then run
>>>>> your application and wait for it to crash, and you will find the stack
>>>>> trace (and a bunch of other stuff), in the log.  It is possible to filter
>>>>> the logcat output based on the package name of the application generating
>>>>> logs, but one thing at a time.
>>>>>
>>>>> Summers
>>>>>
>>>>> On Wed, Apr 19, 2017 at 4:11 AM, Federico Cerminara <
>>>>> fedecentrico at gmail.com> wrote:
>>>>>
>>>>>> Still not able to introduce a tool to produce a stacktrace. I know it
>>>>>> would be helpful (if you have suggestions about which tool/plugin/approach
>>>>>> to use...) but now i am still not able to do it. I’m a beginner in
>>>>>> cross platform app development, as i said before :(
>>>>>>
>>>>>> 2017-04-18 17:23 GMT+02:00 Summers Pittman <supittma at redhat.com>:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Apr 18, 2017 at 10:55 AM, Federico Cerminara <
>>>>>>> fedecentrico at gmail.com> wrote:
>>>>>>>
>>>>>>>> Hi Summers,
>>>>>>>> thanks for your immediate reply. The OS on the device i am testing
>>>>>>>> now is Android 6.0.1, but I don't know if it's an useful information cause
>>>>>>>> I'm using Ionic 1 and Angular 1 to develop a Cross Platform App.
>>>>>>>>
>>>>>>>> The code is not publicly available but I can share some code pieces
>>>>>>>> if you suggest me which pieces of code could help us for this analysis.
>>>>>>>>
>>>>>>>> It's not ax example app, I just took inspiration from the snippet
>>>>>>>> of code included in Android aerogear variant and used them to complete my
>>>>>>>> app.js code.
>>>>>>>>
>>>>>>>> How could you help me?
>>>>>>>>
>>>>>>>
>>>>>>> Would you be able to include your stack trace from logcat when the
>>>>>>> application crashes?
>>>>>>>
>>>>>>> I'm not as familiar with Cordova as I should be, but I should be
>>>>>>> able to make heads or tails of it.
>>>>>>>
>>>>>>>
>>>>>>>> Thanks anyway, Federico.
>>>>>>>>
>>>>>>>>
>>>>>>>> 2017-04-18 16:33 GMT+02:00 Summers Pittman <supittma at redhat.com>:
>>>>>>>>
>>>>>>>>> Frederico,
>>>>>>>>>
>>>>>>>>> Hi, sorry you are having trouble with UPS.  If you could help us
>>>>>>>>> out by answering a couple of questions that would be great.
>>>>>>>>>
>>>>>>>>> 1) Which OS is your applicatoin having trouble on and are you
>>>>>>>>> using Cordova or native libraries?
>>>>>>>>>
>>>>>>>>> 2) Is your code publicly available somewhere for us to look at?
>>>>>>>>>
>>>>>>>>> 3) Are you using the example app or is this your own
>>>>>>>>> implementation?
>>>>>>>>>
>>>>>>>>> I know from experience that with Android one of the common
>>>>>>>>> problems is that if the application has been killed by the OS then the Push
>>>>>>>>> libraries have to be reinitialized before you can send metrics to the
>>>>>>>>> server.  If you are initializing your push libraries in an Activity class
>>>>>>>>> instead of the Application class this may be something to double check.  Of
>>>>>>>>> course if this is iOS or Cordova then everything I just said is nonsense :)
>>>>>>>>>
>>>>>>>>> Summers
>>>>>>>>>
>>>>>>>>> On Tue, Apr 18, 2017 at 10:18 AM, Federico Cerminara <
>>>>>>>>> fedecentrico at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>> my name is Federico Cerminara, 35 years old, engineer and web
>>>>>>>>>> developer in Rome.
>>>>>>>>>> I’m a beginner in cross platform app development and I’ve started
>>>>>>>>>> using aerogear cordova push plugin to enable reception of push
>>>>>>>>>> notification.
>>>>>>>>>>
>>>>>>>>>> I’ve developed my first app. I’m able to receive correctly push
>>>>>>>>>> notification, both sending them directly by aerogear admin panel after
>>>>>>>>>> choosing a variant and and sending them from the application backend
>>>>>>>>>> following a custom logic. If I have my app closed or already open, clicking
>>>>>>>>>> on push notification seems to behave correctly, bringing user to
>>>>>>>>>> application first page. Instead, if I try to close all my applications
>>>>>>>>>> after receiving one or more push notification (image notification frequency
>>>>>>>>>> is quite low) and then I try to click on my waiting push, application
>>>>>>>>>> crashes showing a message that sound quite like this “The program
>>>>>>>>>> <app_name> has been interrupted”
>>>>>>>>>>
>>>>>>>>>> Can you tell me a way to solve this problem?
>>>>>>>>>> Thanks anyway, Federico.
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Aerogear-users mailing list
>>>>>>>>>> Aerogear-users at lists.jboss.org
>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/aerogear-users
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-users/attachments/20170421/282c9855/attachment-0001.html 


More information about the Aerogear-users mailing list