Debugger opens in compiled db!

Hi,

Yesterday I upgraded a customer site from 4Dv17R4 to 4Dv17R6 (243126).
This is a compiled database. But on the 4D remote client running the web server, the debugger window opens once in a while. Which is of course blocking the web app.

Though the debugger indicates ‘TRACE Command’ in red in the left bottom corner, there is no TRACE command involved. Anyway TRACE should do nothing in a compiled db, neither should the debugger window be activated.

As far as I can see, the piece of code shown in the code pane is coming from a text file which is executed using PROCESS 4D TAGS
The call chain shows External Call Back / On Web Connection

What is going on?

[]32209574;“Debugger opens on compiled db…”[/]

Strange. This is a feature in v18, but you are writing v17 R6?

If v18:
check the text file you are using for PROCESS 4D TAGS
Inside that file you are using 4DCODE block. And inside that block, you are using TRACE.

We had heavy demand to allow TRACE even in compiled applications for PROCESS 4D TAGS to allow on site debugging for custom reports.
Feature will be described shortly in v18 blog posts and documentation.

If v17 R6:
please also check your text file and open a TAOW case.

Hi Thomas,

I’m definitely in v17R6 (can’t find the v18 release download… :mrgreen:). It seems some 4D developer accidentally turned on a new feature flag in the latest build… :oops:

There is no TRACE command at all in the document used for process 4d tags. You can see the actual code in my screen shot.
Just had a look at the customers web client and there was a debugger window once again.

In the meanwhile a debugger window also showed up on the server, probably while executing a trigger. And three other empty debugger windows… Could not note datails as they were blocking the users and I had to dismiss them immediately.

Quite annoying!

Hi Thomas,

This is really annoying. The debugger windows are popping up now and then on the server (when executing a trigger) and on de web server. And they are blocking the users.
On the server I get an empty debugger window, just closing it lets the user continue.

I reported on TAOW, but no response yet! :evil:

I’m not using the TRACE command inside my text files going trough PROCESS 4D TAGS.

Previously the customer was running v17R4. The trouble started when upgrading to the final v17R6 version. I would like to stay on R6 (going back to R4 means reindexing).

Can you check in which nightly build this troublesome feature was activated? So I can install the previous version.

Right now I have to keep an eye on the web and 4D server and close the debugger windows to keep the customer site up and running .

Koen

It’s only in v18, only when TRACE is used and everytime when TRACE is used.

As you use R6, don’t use TRACE at all and have it only sometimes, it does not fit at all.

I don’t know if tech support already suggested, but I would enable debug log (async) and keep that running (you could do revolving 3 x 10 MB), to check what happened in the last seconds before the server stopped…

Hi Thomas,

I guess I’ve got it sorted out somehow. I commented all TRACE commands everywhere in whole 4D project, compiled and installed an update at the customer site. No more unexpected debug windows so far.

I found that v17R6 actually supports the TRACE command in a block of code inside tag.

But I also noticed that when running in compiled mode, if somewhere in a process a TRACE command is executed, 4D does not stop at the trace (which is correct), but later on opens the debugger at the first call of PROCESS 4D TAGS where a block of #4DCODE is used (which is awkward IMHO).

Same behavior for v18.

I can understand the advantage of this feature, but I suppose the debugger should only open when the TRACE command is explicitly written inside the #4DCODE block and not if trace is issued in the preceding ‘normal’ 4D code.
If not, there should at least be a database parameter or setting to activate/deactivate it. To prevent debug windows pop up in a customer production system, like we experienced the last two days. My 2 cents…

Kind regards,
Koen

Hello

today we have updated our production site to 4D 17 R6 and some users, that are not belonging to Designer group, are getting debugger windows pop-up on break points.

But they are not designers ! With previous 4D version never got this.

As proof I tried to get into the structure and cannot.

Once removed the breakpoint on their session all is ok, but very annoying for all end users.

Is it a bug with 4D 17R6 ?

Or is there anything that can be done ?

Thanks for any help !!!

We reproduced the issue late Friday afternoon and are working on it, still trying to understand what produced this unexpected side effect and how it could came into R6.

About TRACE in compiled applications in R6:

We found the origin of the issue. It was a mix of feature and bug fix, and the bug fix code made it in R6 with unexpected side effect.

The feature was to allow to use TRACE in PROCESS 4D TAGS. This feature was not finished for R6 and so disabled.
The bug was “TRACE should act similar as the TRACE button in Server admin window”. Which is, set a flag and next interpreted line will trigger the debugger.

The bug in the bug fix was, of course this should not occur for TRACE in a compiled method…

Solution for R6:
either remove TRACE from your methods or wrap it/replace TRACE with myTrace and create method myTrace such as:
If(Not(Is compiled mode))
TRACE
end if

For v18 we need to go back and discuss specs, and check if we can modify it in a way to answer the need without having side effects or if we need to add an option to enable/disable it or if we need to delay the total feature for a later release.
More later…

Thanks for the reply.
We recognized another different behavior on R6 compared to previous version.
In R6 select in the method editor the command TRACE than search reference show also TRACE that are commented.
In previous version if select in the method editor the command TRACE than search reference show only active TRACE, so the ones that are commented are not resulting.
We prefer previous version behavior.
Thanks.

About TRACE in compiled applications in R6:

to avoid unexpected behaviour in your deployments, we updated the product. Build 243856, download url as usual via 4D web site, replaces the original version.

Only difference is the behaviour of TRACE in compiled mode in combination with PROCESS 4D TAGS or tabs in (s)html files. No need to update if you are not having this issue.