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

May 20, 2008
11,183
94
Syracuse, NY, USA
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.
 
May 20, 2008
11,183
94
Syracuse, NY, USA
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!
 
May 20, 2008
11,183
94
Syracuse, NY, USA
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
 
Aug 9, 2009
204
1
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
 
May 20, 2008
11,183
94
Syracuse, NY, USA
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:
 
May 20, 2008
11,183
94
Syracuse, NY, USA
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.
 
Aug 23, 2010
629
9
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.