"Cannot use string offset as an array in wp-includes/capabilities.php on line 115"
after an hour of hacking the culprit seems to be get_option();
get_option in a multisite does not seem to be working too good.
any array given to it, it will not unserialize. ( value assigned as array )
the function update_option/ add_option clearly state, it will serialize itself if need be. and it works good on the main site (even with multisite enabled.)
1. create 2 WPMU sites, get to the "backend" of the first, then from the sites list, goto the second. it generates an error.
2. create a site, deleting it, will create the same error.
3. get into a WPMU sub site, activate it and update settings which uses update_option ( assigned as an array ). what comes back in the form with get_option is a serialized string,