Reproduced on django-cms 2.3.3
Steps to reproduce:
Expected: page admin opens
KeyError at /admin/cms/page/119/
Request Method: GET
Request URL: http://pbs.org/admin/cms/page/119/
Why this happens:
Looking at django.contrib.admin.options.ModelAdmin.change_view
inline_admin_formsets = 
for inline, formset in zip(inline_instances, formsets):
fieldsets = list(inline.get_fieldsets(request, obj))
Each inline admin has an associated formset.
Now looking at cms.admin.pageadmin.PageAdmin.get_formsets. This method excludes the formset that belongs to PagePermissionInlineAdmin.
Because of the excluded formset, because there will be an offset between the inline admins and their corresponding formsets, the page will obviously break.