I found this in the Error Messages manual.
" Cause: ... this message could occur when ALTER SYSTEM KILL SESSION or ALTER SYSTEM DISCONNECT SESSION were issued with the IMMEDIATE qualifier because, in those cases, the client's connection to the database is terminated without waiting for the client to issue a request." In effect, by killing the process, you may be doing the same thing.

Under Action, the manual states:
"... If the message occurs after a connection is well established, and the error is not due to a physical failure, check if a trace file was generated on the server at failure time. Existence of a trace file may suggest an Oracle internal error that requires the assistance of customer support."

I don't know if this is relevant to your situation, since we know the cause of the problem (you're killing the process). Instead of killing your process, it might be better to kill the session from within Oracle by using the ALTER SYSTEM KILL SESSION command. This will allow Oracle to kill the connection correctly and clean up anything that was going on when you killed the session.