Ok, I'm completely stumped, and am hoping someone out there has some bright ideas.
This site was installed with the beta copy of 4.6. Everything was fine until 4.6 came out, and I upgraded. I used CVS to upgrade the files, and implemented the one SQL change (host_node_map, as I recall). I figured this was fairly safe since there wasn't time for many changes between the beta and final releases.
Since I did that, however, we can't add users to classes or communities anymore. I've traced it down to notifications_request__new; my Notice at the very end of that shows up in the log, but the one in package_instantiate_object that comes immediately after the call does not. So for some reason, notifications_request__new is not returning to the caller. The thread hangs and eventually the entire site stops responding, although scheduled procs still run. There are no errors in the error log.
I cannot seem to figure out why this is happening. Where does a return go, if it doesn't go back to the caller??? I suspected memory corruption but the problem survived a reboot, and it's too consistent to be a bad bit.
I should also mention that I'm not 100% sure it's due to the upgrade - but the timing seems suspicious.
Anyone else seeing this, or ever seen anything like it?