(14.0.0.242 -) TOAD crashes when the session was dropped by the server

This was happening before (for sure in 13.1) but getting worse in 14 beta.
TOAD is not handling the "disappearing sessions" too good.
I have profiles defined on databases that limit inactive session time - they get disconnected.
When I leave my PC with TOAD open and come back after that limit passes I need to reconnect.
If, in such situation, I hit the Session Reconnect button then all ends fine - all my sessions reconnect. However, if I try to do anything else, then TOAD usually crashes (not even showing the error dialog box) - the Windows threads are just killed immediately.
If I have several connections open (a few users in the same dtb + other databases too) then when my sessions expire and I click anything else, then TOAD hangs for 15 minutes (this might be the time on the server set for the session inactivity threshold) before communicating to me that the connection was dropped - it repeats that for every connection I had. After the last session it crashes = terminates immediately.

Usually I am only editing some PL/SQL scripts, so only editor windows are opened for my connections. Usually single edit window with several tabs that I switch between connections (e.g. run the same script on several databases).

Edit: TOAD shows the info image then terminates.
I thought it is resolved in the previous beta (272), but just installed 14.0.0.314 and the problem is still there.

I just tried this with a database profile, and after it times out and I try something database related, I quickly get an "ORA-02396 exceeded max idle time." We must be using different timeout mechanisms.

If you can provide more details about how your timeout works, I'll try to reproduce it again.

I've just found that my user has different profiles assigned on databases. When I was working on the database with connection time limit, I was getting an expected behaviour (ORA-02396 + reconnect) but on the database with unlimited profile the described problems happen.
I have no idea what could disconnect the session. We run all through VPN of course, but I do not see that VPN gets disconnected...
Maybe it is due to checksums or encryption in the sqlnet?

Client side:
Instant client 19.3.0 64-bit
sqlnet.ora:

SQLNET.AUTHENTICATION_SERVICES=(ALL)
NAMES.DIRECTORY_PATH=(TNSNAMES)

tnsnames.ora:

TEST= (DESCRIPTION= (ADDRESS=  (PROTOCOL=TCP)   (HOST=...)   (PORT=1521)  )  (CONNECT_DATA= (SERVER=dedicated)  (SERVICE_NAME=test01)    )  )

Server side:
Version: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
Profile:

SESSIONS_PER_USER         UNLIMITED
CPU_PER_SESSION           UNLIMITED
CPU_PER_CALL              UNLIMITED
CONNECT_TIME              UNLIMITED
IDLE_TIME                 UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL    UNLIMITED
PRIVATE_SGA               UNLIMITED 
FAILED_LOGIN_ATTEMPTS     3
PASSWORD_LIFE_TIME        UNLIMITED
PASSWORD_REUSE_TIME       DEFAULT
PASSWORD_REUSE_MAX        DEFAULT
PASSWORD_LOCK_TIME        1         -- 1 day
PASSWORD_GRACE_TIME       7         -- 7 days
PASSWORD_VERIFY_FUNCTION  DEFAULT

sqlnet.ora:

NAMES.DIRECTORY_PATH= (TNSNAMES)
SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT= (SHA256, SHA1)
SQLNET.ENCRYPTION_CLIENT = required
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER= (SHA256, SHA1)
SQLNET.ENCRYPTION_SERVER = required
SQLNET.CRYPTO_SEED = '.........'
SQLNET.ENCRYPTION_TYPES_CLIENT= (AES256)
SQLNET.ENCRYPTION_TYPES_SERVER= (AES256)
SQLNET.CRYPTO_CHECKSUM_CLIENT = required
ADR_BASE = /u01/app/oracle
SQLNET.CRYPTO_CHECKSUM_SERVER = required
SSL_VERSION=1.2 or 1.1 or 1.0 or 3.0

listener.ora

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = plsekatlastst01)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )

Database is autodiscovered.

The connections must have been killed by one of the corporate firewalls.
Anyway the issue seems to be resolved in the meantime - I'm using 14.0.0.519 now and the dropped connection is properly caught and handled with a reconnect dialog.

1 Like