I think there is a bug inside the native.showPopup. After you call it (let's say asking for "mail" or even "requestAppPermission") I noticed the 2 empty tables are being added to the lua stack and they stay there forever.
That is causing issues with my Android Broadcast receiver functions that I have that calls a lua function. Since there are 2 empty tables taking the index 1 and 2, the callback lua function is added to index 3 and therefore is not called.
So for now I am having to clear the lua stack manually (using luaState.setTop(0)), but I do think that Corona would want to fix that bug.