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

Summers Pittman supittma at redhat.com
Thu Apr 20 09:24:41 EDT 2017


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.callActivityOnCreate(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/b313fcfb20708089f2e0bcb871e396f67ee2b1a5/src/android/org/jboss/aerogear/cordova/push/NotificationMessageHandler.java#L43

to here :


https://github.com/aerogear/aerogear-cordova-push/blob/b313fcfb20708089f2e0bcb871e396f67ee2b1a5/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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Aerogear-users mailing list
>>>>>> Aerogear-users at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/aerogear-users
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Puoi trovarmi qui, se vuoi:
>>>>> facebook <http://www.facebook.com/fedecentrico>, flickr
>>>>> <http://www.flickr.com/photos/fedecentrico>, linkedin
>>>>> <http://it.linkedin.com/in/fedecentrico>, twitter
>>>>> <http://twitter.com/fedecentrico>, anobii
>>>>> <http://www.anobii.com/fedecentrico/books>
>>>>> Link consigliati: Piccoli Maestri <http://www.piccolimaestri.org>, Il
>>>>> clima di Cipro <http://www.facebook.com/#%21/IlClimaDiCipro>
>>>>>
>>>>> _______________________________________________
>>>>> Aerogear-users mailing list
>>>>> Aerogear-users at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/aerogear-users
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Aerogear-users mailing list
>>>> Aerogear-users at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/aerogear-users
>>>>
>>>>
>>>
>>>
>>> --
>>> Puoi trovarmi qui, se vuoi:
>>> facebook <http://www.facebook.com/fedecentrico>, flickr
>>> <http://www.flickr.com/photos/fedecentrico>, linkedin
>>> <http://it.linkedin.com/in/fedecentrico>, twitter
>>> <http://twitter.com/fedecentrico>, anobii
>>> <http://www.anobii.com/fedecentrico/books>
>>> Link consigliati: Piccoli Maestri <http://www.piccolimaestri.org>, Il
>>> clima di Cipro <http://www.facebook.com/#%21/IlClimaDiCipro>
>>>
>>> _______________________________________________
>>> Aerogear-users mailing list
>>> Aerogear-users at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/aerogear-users
>>>
>>>
>>
>> _______________________________________________
>> Aerogear-users mailing list
>> Aerogear-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-users
>>
>>
>
>
> --
> Puoi trovarmi qui, se vuoi:
> facebook <http://www.facebook.com/fedecentrico>, flickr
> <http://www.flickr.com/photos/fedecentrico>, linkedin
> <http://it.linkedin.com/in/fedecentrico>, twitter
> <http://twitter.com/fedecentrico>, anobii
> <http://www.anobii.com/fedecentrico/books>
> Link consigliati: Piccoli Maestri <http://www.piccolimaestri.org>, Il
> clima di Cipro <http://www.facebook.com/#%21/IlClimaDiCipro>
>
> _______________________________________________
> 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/20170420/0c36a9c8/attachment-0001.html 


More information about the Aerogear-users mailing list