New Beta 14.2.102.1066 (32 bit) issue with Oracle client 12.1.0.1

As soon as I try to log into a schema I get an exception :

Could not convert variant of type (OleStr) into type (Integer)

The schema name tab appears as "SCHEMA_NAMEROCEDURE', 1, 0)) exe@MYINSTANCE"

Are you using Oracle Client version 12.1.0.1? This is a known issue with that version only. Please use 12.1.0.2, 12.2.x or 18.x. I don’t recommend the 19c client as it has a memory leak with LOBs

Hi John, yes I use client version 12.1.0.1 - mainly because that matches the lowest Oracle version on one of our instances. I've never had a problem with a Toad version and this Oracle client version before, so is this a new restriction?

Yes, unfortunately, it is a bug in the current version of our data access component. I've reported it to them here. Hopefully they will have it fixed soon, and the next version of Toad won't have any problem with 12.1.0.1 clients, but for 14.2 at least, you should use anything except 12.1.0.1 client and 19c client (19c has memory leaks with LOB columns. We believe this is an Oracle bug. It affects all Toad versions.)

The prior version of our data access component had a problem with CLOBs that was impossible to work around, so I felt like it was necessary for us to switch to this new version despite the 12.1.0.1 problem (which has an easy workaround - update to 12.1.0.2)

And it appears that the new 15.0.42 beta still suffers from this issue.

And, John, in many large enterprises, which need uniformity and consistency, updating the client version across the enterprise is neither easy or quick. Just saying.

Thanks, we're aware it's still an issue. We have notified the third party vendor about the problem (multiple times) and hope to have a resolution soon.

No offense meant.

Just that I was told that this release would fix it as well as your comment on 6/21/21. But some issues are more intractable than originally thought. Especially with other parties.

Appreciate the response.

No problem, none taken. I didn't mean to sound offended. I feel bad that it's broken.

I did say "Hopefully" :slight_smile:

Hi John,

I got curious when I read this and tried to reproduce it, since I was using Instant Client 19.10. I did get the memory leak. But then when I switched to Instant Client 18.5, I got the same memory leak. With Instant Client 11.2, the result was the same again.

Here's what I did:
Start Toad (version 14.2)
Connect to a database, open a single editor, run a query fetching a LOB column from a large table.
Fetch records until Toad memory usage is well over 1GB.
Close the editor window.

Memory usage did go down when I closed the editor window, but not by a lot and it stayed around 1GB, like the bug report says.

After you tested with the 19.10 client, did you close Toad completely before re-testing with the other clients? (You should). Sometimes Oracle client DLLs stay in memory after disconnecting, so if you make a connection using a different client (but without closing Toad), the DLLs remain in memory.

Yes, I did close Toad for each test. The memory leak remains even after deleting the 19.10 client from my hard drive.

For me, with Toad 15, there is a big difference.

Using this query in both cases:
select *
from sys.WRI$_ADV_OBJECTS
where attr4 is not null
or other is not null;

19.10 client: 150K rows uses up 2Gb. After closing editor, memory dropped only to 1700 Mb.
18.5 client: 450K rows uses up only 1Gb. Closed editor, memory dropped to 340 Mb.
12.2 client - same result as 18.5

@JohnDorlon Have you tried with the 21c Instant Client? I believe version 21.3.0.0.0 is now available.

Yes. On Windows 11, no less.

I did not do an extensive test (nor did I check the lob memory leak problem), but it connected just fine.

I imagined you would, but I was referring to the memory leak.

I need to update my Instant Client, but am wondering whether 21c is a good choice (for the LOB leak reasons).

The leak is still present in 21c. Stick with 18c client.

1 Like