Execute as Script stops parsing correctly

Toad for Oracle Base Edition (64-bit)
Add-Ons:
25.1.20.5192

I logged a problem a while ago where Execute As Script stops working, back in the v13-14 days, which is worth reading as I gave quite a lot of info. I'm using the up to date 64 bit version and I am still seeing the same issues, when executing scripts.

The symptoms are that when running a Execute As Script on large build files a few times, eventually Execute As Script doesn't behave correctly, e.g.:

  1. Stops in the middle of a script with no error
  2. Won't even run a script
  3. Gives really bizarre errors thinking syntax is incorrect (it isn't).

There is no way to cure it. Spawning new sessions doesn't help and so I have to restart Toad, which can be a huge pain if I am working on lots of things. I suspect it's to do with qp5.dll, but can't say for sure. I connect to our Oracle servers over VPN and sometimes the VPN dies / disconnects and I have to reconnect sessions, so it might be related to that.

Paul

Any comments from Quest Toad team on this?

As an example, I've just had this happen again after running a load of scripts with Execute as Script. In this case I had a script with a load of tables to drop (these are tables created temporarily as part of another process), in the form:

drop table <OWNER>.<TABLEMAME> purge;

There are 80 of them. It didn't run any and I got the following in Script Output???:

unknown command "list" - rest of line ignored.

There is no list command in the script, so it is garbage. If I used Execute via SQL*Plus it executed fine. This is a recurring issue with Execute as Script after a while, and it is quite a concern for me, as it seems to sometimes run a few lines or it gives strange syntax errors which DON'T appear to relate to anything in the scripts, so I've no idea what it thinks it is running.

Hi Paul.

I read your messages. Just didn't reply because I have nothing helpful to say about this because I haven't been able to reproduce it.

It does seem like QP5, but what exactly the problem is, I don't know.

-John

Around the time of Toad 13/14, we enabled settings in Toad and related DLLs against exploit protection. For 99.9% of users, it went unnoticed, but for some, we got reports of F5 doing nothing because Windows Defender thought it was a virus/hack. There was actually a recent post here in the forum about it.

I wonder if that is at all related. For those who were having problems with Toad running (or running scripts), these steps helped. I don't know if this will solve anything for you but maybe it's worth a try.

  1. Click on the windows search and type in "Security". Click on the "Windows Security" app.

  2. On the right, click "App and browser control"

  3. On the right, click "Exploit protection settings"

  4. Exploit Protection Settings comes up on the "System Settings" tab. Click it over to "Program Settings"

  5. If "Toad.exe" is not in the list, add it. You can just add it by program name and not full path.

  6. Scroll down to "Randomize memory allocations (Bottom-up ASLR)". Check "Override system settings" and "Off". (Note: Checking "Don't use high entropy" works too.)

Hi John

Thanks for the reply.

I can certainly try that, but I'm not sure the symptoms mentioned match mine. Mine generally attempts to execute things, and sometimes executes partially. I suspect it's a problem with qp5.

Paul

Hi Paul,

Yeah, I know it's a bit of a long shot. Just trying to think of what change was made around that time.

Probably, those settings won't have any effect on Toad/QP5 interaction. It would be more interesting to just disable those security settings in Toad and see if it has any impact, but that's not possible at the moment.

-John

Hi John

I suspect it's some sort of memory trashing in QP5 (a leak?). It only happens after executing quite a lot of scripts, but once it does, the errors are nonsensical and it's not curable without restarting Toad.

Paul

It's too late for this version, but once we start version 25.3 betas, I'll give you a way to unload/reload qp5 w/o restarting Toad. I don't intended this as a solution. Just to see what happens.

1 Like