The 500 - Internal Server Error resolve by re-inheriting the permission levels on the broken site after you have broken them. So to reiterate the full steps for resolving both the permissions and 500 - Internal Server Error, are as follows:
Step 1: From your broken sub-site, go to the '/_layouts/role.aspx' page,
Step 2: Select 'Edit Permission Levels'
Step 3: Then from the same page, click the 'Inherit Permission Levels' button.
Close the Internet Explorer and again open the site. Now your site will be working fine.
http://site/sub-site/broken-site. I inherited permission levels at http://site/sub-site. Now any site under 'sub-site' I get the 500 - Internal Server Error without going directly to the 'default.aspx' and the sites Permission Inheritance on the broken sites can no longer be broken from the parent. You simply get a 'Cannot Complete this Action' Error.
On the broken sub-site, you must first break the 'permission level' inheritance. To do so, you have to know the URL. So for our example broken sub-site, we would have to go to http://site/sub-site/broken-site/_layouts/role.aspx then select 'Edit Permission Levels'. Then from the same page, click the 'Inherit Permission Levels' button.
Close the Internet Explorer and again open the site. Everything will be working fine.
Your site should no longer display the 500 - Internal Server Error nor should you no longer be able to edit permissions.