Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

@EXECSTR ... TCSTART ... something's wrong!

May
12,846
164
Here's TCC27's TCSTART and a pretty simple BTM.

Code:
v:\> type d:\tc27\TCSTART.BTM
IF "%_PIPE %_TRANSIENT" != "0 0" QUIT

v:\> type test.btm
echo foo

If I do this (below) repeatedly, TCC27 will crash, usually on the second try.

Code:
v:\> echo %@execstr[test.btm]
foo

v:\> echo %@execstr[test.btm]

CRASH!

If I start TCC27 with no TCSTART (/is) I can execute echo %@execstr[test.btm] any number of times without a crash.
 
The same thing happens with an empty TCSTART.

Code:
v:\> echo %@execstr[test.btm]
foo

v:\> echo %@execstr[test.btm]
foo

v:\> echo %@execstr[test.btm]
foo

v:\> echo %@execstr[test.btm]
foo

v:\> type d:\tc27\TCSTART.BTM


v:\> d:\tc27\TCSTART.BTM

v:\> echo %@execstr[test.btm]
foo

CRASH!
 
It has nothing to do with TCSTART. Run any BTM. And then echo %@execstr[some.btm] a few times (any BTM). TCC27 will crash.

TCC v24, v25. v26 do not behave this way
 
some times it works some times not. some v27 functions & commands that run and cause errors

(tcstart.bat)
PROCESSMONITOR sketchup_webhelper.exe STARTED FOREVER tasklist /zu sketchup_webhelper.exe

It says its killled the process but actually hasn't
 
When it happens, Reliability Monitor has this to say (it comes straight out of the Application event log).

Code:
Faulting application name: tcc.exe, version: 27.1.23.0, time stamp: 0x60879202
Faulting module name: ntdll.dll, version: 10.0.19041.964, time stamp: 0xbd2c3c23
Exception code: 0xc0000374
Fault offset: 0x00000000000ff199
Faulting process id: 0x868
Faulting application start time: 0x01d75b3dfdf70606
Faulting application path: d:\tc27\tcc.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: d0bcafe5-ded2-4f3c-b99e-8a2b6ca4eaed
Faulting package full name: 
Faulting package-relative application ID:
 
Fixed in build 24. (New RTL / STL combo bug.)

But I can't imagine any reason to actually *need* to execute a batch file in @EXECSTR ...
I was experimanting with implementing multi-line UDFs. I never got back to that ... sidetracked trying to figure out the crash. The error code was about heap corruption. I thought maybe compiler or library error.
 
But I can't imagine any reason to actually *need* to execute a batch file in @EXECSTR ...
I did that repeatedly before switching to POSIX scripts.
Write a short code that build the string you need (f.e. fetch IP address from checkip.dyndns.org), and return it in @EXECSTR.
 

Similar threads

Back
Top