This function in the system module, system_admin_menu_block(), does a query against the menu_links table looking for an entry for the given path from the system module. That query is not guaranteed to produce results - for whatever reason - yes, probably because of a bug somewhere else, it does not matter why. But it is being added with the '+' operator to the $item argument to the function. When the result is not an array, this results in a fatal error.
Sure seems like this is something that ought to be added to the coding standards. That use of the '+' operator with arrays is responsible for a number of bugs like this. It's one thing to be optimistic, but accepting a full stop error as a consequence is a bit much. Is it so much more efficient than checking that the value is an array, or that at least it's not empty?
|FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch system.admin_menu_block-d7-1.patch.|
|FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch system.admin_menu_block-d6-1.patch.|
|FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch system.admin_menu_block-d7.patch.|
|FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch system.mblock.patch.|