12-10-2009 07:17 AM
I've made an app that stops and delete a running module, and reinstalls and launch a new version of it. Some kind of upgrading module mechanism using GlobalEventListener.
I've been able to test it succesfully on a Curve 8900 4.6.1, with my apps built using 4.5.0 jde but when i test it in both Storm 2 126.96.36.1996 and Bold 9700 188.8.131.521 I'm getting the following prompt:
"Application terminated: MyApp has been denied the "Cross Application Communication" permission"
In the eventlog this is what i get. The java error is exactly when launching new module. If later i make a hard-reset the new module launches properly (it's an auto-run module)
guid:0x9C3CD62E3320B498 time: Thu Dec 10 12:34:30 2009 severity:1 type:3 app:Java Exception data:
No detail message
It's strange because i've checked that the "cross application communication" default permission is set to allow. I have even tried setting all permissions to allow and i get the same error...
Thanks in advance...
12-10-2009 08:00 AM
Long time ago there used to be a bug/feature where reinstalling a module without rebooting would result in the permissions of this module looking OK, but actually the module would lack the IPC permission. Cold-rebooting the device used to help.
12-10-2009 08:14 AM
Thanks for your reply...
What do you mean with cold-reboot? is what i call hard-reset? (battery out and so...)
Is this the one and only solution?
Is this a known "bug/feature" which i can follow somewhere?
01-19-2011 02:05 PM
Fun "feature"... there are a lot of such "features" when installing/updating modules.
There is a workaround that does not require a cold boot though.
It requires you to request a permission screen (via ApplicationPermissionsManager) the request for permissions is blocking, so you can just force the permissions screen and add a flag to persistent object that the permissions have been requested.
As far as I can tell just saving the permissions is enough to fix all of the "features" as we like to call them.
This is really annoying bug, since it requires user interaction. Nevertheless, asking for permissions is much less painful than a 15 minute cold boot.
This fixes all sorts of "features" with CMM libraries, class linking, etc. Stuff that typically requires a reboot.