OSX's OpenCL implementation is a disaster.
Tell me about it. And it's an Nvidia card...
Anyhow, at least with this configuration, there is a serious performance regression and you should know about it...
At any rate, the LP bug you're having doesn't make sense. It almost sounds like the pool ls intentionally not returning on LP. Look at the code yourself: if the LP either returns or errors out, it tells all the mining threads to go refresh their getworks, it then goes back to starting another LP.
It almost sounds like you're mining on a pool that is down, and my miner (obviously) isn't shutting down. The only way you'd realistically run out of memory (since I tell Java to limit it to a small size) is if the sendwork queue fills up.
It's not intentional (and for reference, I usually mine at deepbit). Our phone somehow causes some interference with the DSL connection, triggering a reconnect on every phone call and therefore usually a new IP address. LP obviously can't work properly after this.
Also note that I said there is a high chance it doesn't recover - sometimes it does. Anyway, I'm logging the current run, and will send you the complete log once the OOM occurs. So far there has been no longpolling debug message for >5 hours and there were some before the first reconnect. 1 share and three stales found so far.
Here's the log up to this point (using swepool to see whether it would make a difference; so far it hasn't):
[05.07.11 10:28:26] Started
[05.07.11 10:28:26] Connecting to: http://swepool.net:8337/
[05.07.11 10:28:26] Using Apple OpenCL 1.0 (Dec 23 2010 17:30:26)
[05.07.11 10:28:40] Added GeForce 9400 (#1) (2 CU, local work size of 128)
[05.07.11 10:28:41] DEBUG: Enabling long poll support
[05.07.11 10:35:42] DEBUG: Long poll returned
[05.07.11 10:41:46] DEBUG: Long poll returned
[05.07.11 13:07:06] DEBUG: Attempt 1 found on GeForce 9400 (#1)
[05.07.11 13:07:07] Rejected block 1 found on GeForce 9400 (#1)
[05.07.11 14:17:05] DEBUG: Attempt 2 found on GeForce 9400 (#1)
[05.07.11 14:17:05] Rejected block 2 found on GeForce 9400 (#1)
[05.07.11 15:54:03] DEBUG: Forcing getwork update due to nonce saturation
[05.07.11 16:07:54] DEBUG: Attempt 3 found on GeForce 9400 (#1)
[05.07.11 16:07:54] Accepted block 1 found on GeForce 9400 (#1)
[05.07.11 17:35:49] DEBUG: Forcing getwork update due to nonce saturation
[05.07.11 17:45:00] DEBUG: Attempt 4 found on GeForce 9400 (#1)
[05.07.11 17:45:01] Rejected block 3 found on GeForce 9400 (#1)
mhash 1,3/1,3 | a/r/hwe: 1/3/0 | ghash: 38,9 | fps: 21,0
(I just had a quick look at the code and long polling doesn't time out, which is obviously problematic. This would also fail if the network connection broke long enough for the long polling answer to fail to reach the client. jgarzik's cpuminer manages to revive the long polling connection after it is broken, so it can't be only the pool.)