or it could still be the server config since you said it was fine before... seems like when p2p connects it tries to talk and it crashes...
I had a similar issue when the android wallet would connect the node would crash and that was because it would try to deserialize a aux block that was null, and deferencing null crashes. So I added a null check there and then everything worked... but i was never sure why its getting null there, why would it try to pull up a block from the disk, deserialize it and find that the merged-mine section was null? Anyways I think beginning with commit 13cf0dd190e59b3ebf83f638872db6b2b9a5bc7f on jan 13 I tried to fix this issue, so maybe first try before this commit, I think it was stable on Dec 31. Before that we started to play with min fees and changed the dust fee definition.... so that might be an issue... before that we have initial implmentation.. so we have a few to try out and it would be interesting if as we go back that it works.
Hmm it might be related to this.
I remember something about what I was doing yesterday - I had actually set the user as Devcoinrpc and the pool was trying to log in as devcoinrpc...devcoind may not have been crashing initially because p2pool wasn't even connecting. I changed it when I started looking at the p2pool logs, and noticed it was saying "Authorization failure" every time it tried to access devcoind. That may actually have been when it started terminating process, so I'm thinking it's less likely server problem atm.
I'm going back to initial 0.8.5 and trying that now