This is a bug in the Oracle client library (OCI) and is known to Oracle. We ran across it at Greenpeace in June, 2002 and Oracle confirmed that it is a bug that crops up when you run a client application on X86 Linux that talks to an Oracle server on Solaris. We were not the first to report it and it fails with other clients, not just the db driver used by AOLserver.
However, what we were seeing was Oracle itself crashing on Solaris ... rather than the client.
You say the only error you get is in the DB log, which logs a core dump on the Solaris side. Isn't this an indication that your Oracle server on Solaris is crashing, too? Not the client in Linux (AOLserver)? My guess is that this is the case and that you've got scripts set up to restart Oracle if it dies.
Our workaround was to set CLOBs to the empty string rather than empty_clob().
Supposedly this was being fixed in OCI - surely by 9i it must be fixed?
As to why SQL*Plus doesn't crash ... Oracle didn't say but clearly it's not using the same OCI library the rest of us use.