www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - digger: Failed to spawn new process (The system cannot find the file

reply Anonymouse <zorael gmail.com> writes:
I'm trying to bisect a dmd compilation error on Windows 10 and I 
can't get digger to do more than one initial test. When preparing 
to compile the next dmd build (the BAD revision) it errors out. 
This is in a normal cmd console.

The bisect ini has nothing weird in it:

```
bad = v2.088.1
good = v2.087.1
reverse = false

tester = cd C:\Temp\init2 && C:\D\dmd2\windows\bin\dub.exe build 
2>&1 | findstr /C:"Memory allocation failed"
```


Console log excerpt:

```
[...]
digger: ---------------------- Running test command... 
-----------------------
core.exception.OutOfMemoryError src\core\exception.d(647): Memory 
allocation failed
digger: ------------- Test command exited with status 0 (GOOD). 
--------------
digger: Sanity-check, testing BAD revision 
b7a303005afce50f317c768311b71bc21d47090d...
digger: Testing revision: b7a303005afce50f317c768311b71bc21d47090d
digger: Starting at meta repository commit 
b7a303005afce50f317c768311b71bc21d47090d
digger: Building components dmd, druntime, phobos-includes, 
phobos, rdmd
digger: needInstalled: 
dmd-8a2067c4bd9c720098c8acb5429f189b12b32ab6-07d4846ed48eb28d158e52488e305015
digger: Cache miss.
digger: needBuild: 
dmd-8a2067c4bd9c720098c8acb5429f189b12b32ab6-07d4846ed48eb28d158e52488e305015
digger: Cleaning repository dmd...
HEAD is now at 758722e42 bump VERSION to v2.087.1
digger: Checking out dmd commit 
8a2067c4bd9c720098c8acb5429f189b12b32ab6...
Previous HEAD position was 758722e42 bump VERSION to v2.087.1
HEAD is now at 8a2067c4b bump VERSION to v2.088.1
digger: Building 
dmd-8a2067c4bd9c720098c8acb5429f189b12b32ab6-07d4846ed48eb28d158e52488e305015
digger: DMC=C:\Temp\work\dl\dm857-snn2074-optlink80017\bin
digger: Preparing DMD v2.079.0
digger: 
hostDC=C:\Temp\work\dl\dmd-2.079.0\dmd2/windows/bin\dmd.exe
digger: Cleaning repository dmd...
HEAD is now at 8a2067c4b bump VERSION to v2.088.1
digger: Environment: SystemDrive=C:
digger: Environment: TMPDIR=C:\Temp\work\tmp
digger: Environment: HOME=C:\Temp\work\home
digger: Environment: SystemRoot=C:\WINDOWS
digger: Environment: 
PATH=C:\Temp\work\dl\dm857-snn2074-optlink80017\bin;C:\WINDOWS\system32;C:\WINDOWS
digger: Environment: TEMP=C:\Temp\work\tmp
digger: Environment: TMP=C:\Temp\work\tmp
digger: Environment: 
DMC=C:\Temp\work\dl\dm857-snn2074-optlink80017\bin
digger: Working directory: C:\Temp\work\repo\dmd\src
digger: Running: "make" -f win32.mak ^"MODEL=32^" 
HOST_DC=C:\Temp\work\dl\dmd-2.079.0\dmd2/windows/bin\dmd.exe dmd
if not exist "..\generated\windows\release\32" mkdir 
..\generated\windows\release\32

make -fwin32.mak C=dmd\backend ROOT=dmd\root MAKE="make" 
HOST_DC="C:\Temp\work\dl\dmd-2.079.0\dmd2/windows/bin\dmd.exe" 
MODEL=32 CC="" LIB="lib" OBJ_MSVC="" "OPT=-o" "DEBUG=" "DDEBUG=" 
"DOPT=-O -release -inline" "LFLAGS=-L/delexe/la" 
..\generated\windows\release\32\dmd.exe

[...]

Digital Mars Librarian Version 8.02n
Copyright (C) Digital Mars 2000-2007 All Rights Reserved
http://www.digitalmars.com/ctg/lib.html
Digital Mars Librarian complete.

C:\Temp\work\dl\dmd-2.079.0\dmd2/windows/bin\dmd.exe 
-of..\generated\build.exe -debug build.d

..\generated\build.exe --called-from-make OS=windows 
BUILD=release MODEL=32 HOST_DMD= 
HOST_DC=C:\Temp\work\dl\dmd-2.079.0\dmd2/windows/bin\dmd.exe 
..\generated\windows\release\32\lexer.lib

std.process.ProcessException std\process.d(752): Failed to spawn 
new process (The system cannot find the file specified.)
----------------
[...]

--- errorlevel 1

--- errorlevel 1
digger: Saving to cache.
digger: Clearing temporary cache
digger: Build failed: 
object.Exception C:\Users\zorael\AppData\Local\dub\packages\ae-0.0.2413\ae\s
s\d\manager.d(850): Command ["make", "-f", "win32.mak", "MODEL=32",
"HOST_DC=C:\\Temp\\work\\dl\\dmd-2.079.0\\dmd2/windows/bin\\dmd.exe", "dmd"]
failed with status 1
----------------
[...]

object.Exception C:\Users\zorael\AppData\Local\dub\packages\digger-3.0.0-alpha-8\
igger\bisect.d(89): BAD revision b7a303005afce50f317c768311b71bc21d47090d is
not testable
----------------
[...]

Program exited with code 1
```


It does a `dmd.exe -of..\generated\build.exe`, but then the 
immediately following call to `..\generated\build.exe` fails? 
What am I doing wrong?
Feb 03 2020
parent reply MoonlightSentinel <moonlightsentinel disroot.org> writes:
On Monday, 3 February 2020 at 16:54:20 UTC, Anonymouse wrote:
 It does a `dmd.exe -of..\generated\build.exe`, but then the 
 immediately following call to `..\generated\build.exe` fails? 
 What am I doing wrong?
The executable was launched because make would yield a different error message otherwise. This seems to be an error during the environment processing of build.d, could you provide the full stack trace for this exception?
 std.process.ProcessException std\process.d(752): Failed to 
 spawn new process (The system cannot find the file specified.)
Feb 03 2020
parent reply Anonymouse <zorael gmail.com> writes:
On Monday, 3 February 2020 at 20:09:43 UTC, MoonlightSentinel 
wrote:
 On Monday, 3 February 2020 at 16:54:20 UTC, Anonymouse wrote:
 It does a `dmd.exe -of..\generated\build.exe`, but then the 
 immediately following call to `..\generated\build.exe` fails? 
 What am I doing wrong?
The executable was launched because make would yield a different error message otherwise. This seems to be an error during the environment processing of build.d, could you provide the full stack trace for this exception?
 std.process.ProcessException std\process.d(752): Failed to 
 spawn new process (The system cannot find the file specified.)
It doesn't seem to include debugging symbols. Does digger not build its dmds with -g? ``` std.process.ProcessException std\process.d(752): Failed to spawn new process (The system cannot find the file specified.) ---------------- 0x004386D0 0x00441132 0x00454B5C 0x00444994 0x0042C808 0x004039BD 0x0040257D 0x004353FB 0x0043537D 0x00435218 0x0042948B 0x76C96359 in BaseThreadInitThunk 0x77457B74 in RtlGetAppContainerNamedObjectPath 0x77457B44 in RtlGetAppContainerNamedObjectPath ``` Here's the full log: https://pastebin.com/raw/6MyVDFPc
Feb 03 2020
next sibling parent reply Vladimir Panteleev <thecybershadow.lists gmail.com> writes:
On Monday, 3 February 2020 at 20:41:00 UTC, Anonymouse wrote:
 It doesn't seem to include debugging symbols.
Is your Digger version up-to-date? https://github.com/CyberShadow/ae/commit/48ee31a3b0d47e52769ee87b0e673034abe4add5
Feb 03 2020
parent reply Anonymouse <zorael gmail.com> writes:
On Monday, 3 February 2020 at 20:54:46 UTC, Vladimir Panteleev 
wrote:
 On Monday, 3 February 2020 at 20:41:00 UTC, Anonymouse wrote:
 It doesn't seem to include debugging symbols.
Is your Digger version up-to-date? https://github.com/CyberShadow/ae/commit/48ee31a3b0d47e52769ee87b0e673034abe4add5
I was on beta 8. I forced dub to download the latest now (3.0.0-alpha-9), wiped the work directory and retried, but to similar results. https://pastebin.com/raw/zF39VKzc
Feb 03 2020
parent reply Vladimir Panteleev <thecybershadow.lists gmail.com> writes:
On Monday, 3 February 2020 at 21:30:57 UTC, Anonymouse wrote:
 I was on beta 8. I forced dub to download the latest now 
 (3.0.0-alpha-9), wiped the work directory and retried, but to 
 similar results.
The latest is v3.0.0-alpha-11. Oh, I guess that's not how semantic versioning works. Probably I should make a normal stable release. For now you can clone and build from source.
Feb 03 2020
parent reply Anonymouse <zorael gmail.com> writes:
On Monday, 3 February 2020 at 21:33:09 UTC, Vladimir Panteleev 
wrote:
 On Monday, 3 February 2020 at 21:30:57 UTC, Anonymouse wrote:
 I was on beta 8. I forced dub to download the latest now 
 (3.0.0-alpha-9), wiped the work directory and retried, but to 
 similar results.
The latest is v3.0.0-alpha-11. Oh, I guess that's not how semantic versioning works. Probably I should make a normal stable release. For now you can clone and build from source.
New log: https://pastebin.com/raw/uUMNQjEN ``` ..\generated\build.exe --called-from-make OS=windows BUILD=release MODEL=32 HOST_DMD= HOST_DC=C:\Temp\work\dl\dmd-2.079.0\dmd2/windows/bin\dmd.exe ..\generated\windows\release\32\lexer.lib (TX) VERSION std.process.ProcessException std\process.d(752): Failed to spawn new process (The system cannot find the file specified.) ---------------- 0x00448EDC in trusted std.process.Pid std.process.spawnProcessImpl(const(char[]), std.stdio.File, std.stdio.File, std.stdio.File, const(immutable(char)[][immutable(char)[]]), std.process.Config, const(char[])) 0x0044D6AA in trusted std.process.Pid std.process.spawnProcess(const(char[][]), std.stdio.File, std.stdio.File, std.stdio.File, const(immutable(char)[][immutable(char)[]]), std.process.Config, const(char[])) 0x0046E114 in trusted std.process.ProcessPipes std.process.pipeProcessImpl!(std.process.spawnProcess, const(char[])[]).pipeProcessImpl(const(char[])[], std.process.Redirect, const(immutable(char)[][immutable(char)[]]), std.process.Config, const(char[])) 0x004555A4 in safe std.process.ProcessPipes std.process.pipeProcess(const(char[][]), std.process.Redirect, const(immutable(char)[][immutable(char)[]]), std.process.Config, const(char[])) 0x0043B160 in trusted std.typecons.Tuple!(int, "status", immutable(char)[], "output").Tuple std.process.execute(const(char[][]), const(immutable(char)[][immutable(char)[]]), std.process.Config, uint, const(char[])) 0x0041DEAF in void build.__funcliteral51().__lambda1() at C:\Temp\work\repo\dmd\src\build.d(278) 0x00406D0B in void build.DependencyRef.runSynchronized() at C:\Temp\work\repo\dmd\src\build.d(1092) 0x0040347F in void build.DependencyRef.run() at C:\Temp\work\repo\dmd\src\build.d(1065) 0x00406C1D in void build.DependencyRef.runSynchronized() at C:\Temp\work\repo\dmd\src\build.d(1078) 0x0040347F in void build.DependencyRef.run() at C:\Temp\work\repo\dmd\src\build.d(1065) 0x00402783 in _Dmain at C:\Temp\work\repo\dmd\src\build.d(138) 0x004375B3 in void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll().__lambda1() 0x00437535 in void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll() 0x004373D0 in _d_run_main 0x004371C8 in main at C:\Temp\work\repo\dmd\src\build.d(7) 0x004B4B91 in mainCRTStartup 0x74D36359 in BaseThreadInitThunk 0x77337B74 in RtlGetAppContainerNamedObjectPath 0x77337B44 in RtlGetAppContainerNamedObjectPath ```
Feb 03 2020
parent reply Vladimir Panteleev <thecybershadow.lists gmail.com> writes:
On Monday, 3 February 2020 at 21:44:20 UTC, Anonymouse wrote:
 New log: https://pastebin.com/raw/uUMNQjEN
It looks like it fails to execute git (to get the current version for the build). I don't know why that fails, as I see C:\Temp\work\dl\git\cmd is in PATH in the environment that build.exe is invoked with. I assume that that directory does contain a git.exe? You may have some luck further debugging the cause of the error with a strace-like tool such as Process Monitor.
Feb 03 2020
parent reply Anonymouse <zorael gmail.com> writes:
On Monday, 3 February 2020 at 21:58:31 UTC, Vladimir Panteleev 
wrote:
 On Monday, 3 February 2020 at 21:44:20 UTC, Anonymouse wrote:
 New log: https://pastebin.com/raw/uUMNQjEN
It looks like it fails to execute git (to get the current version for the build). I don't know why that fails, as I see C:\Temp\work\dl\git\cmd is in PATH in the environment that build.exe is invoked with. I assume that that directory does contain a git.exe? You may have some luck further debugging the cause of the error with a strace-like tool such as Process Monitor.
No, C:\Temp\work\dl\git does not exist. :o ``` Directory of C:\Temp\work\dl 03/02/2020 22:20 <DIR> . 03/02/2020 22:20 <DIR> .. 03/02/2020 22:20 <DIR> 7z 03/02/2020 22:20 384,846 7za920.zip 03/02/2020 22:20 <DIR> dm857-snn2074-optlink80017 03/02/2020 22:19 3,057,337 dm857c.zip 03/02/2020 22:20 <DIR> dmd-2.079.0 03/02/2020 22:20 20,614,650 dmd.2.074.0.windows.7z 03/02/2020 22:20 41,903,965 dmd.2.079.0.windows.zip 4 File(s) 65,960,798 bytes 5 Dir(s) 42,867,355,648 bytes free ```
Feb 03 2020
parent reply Vladimir Panteleev <thecybershadow.lists gmail.com> writes:
On Monday, 3 February 2020 at 22:01:18 UTC, Anonymouse wrote:
 No, C:\Temp\work\dl\git does not exist. :o
OK, that makes sense. Please try the latest Digger version (24cd4168956dad382d05984b4b8d37d9e8ebe3ae).
Feb 03 2020
parent Anonymouse <zorael gmail.com> writes:
On Monday, 3 February 2020 at 22:08:50 UTC, Vladimir Panteleev 
wrote:
 On Monday, 3 February 2020 at 22:01:18 UTC, Anonymouse wrote:
 No, C:\Temp\work\dl\git does not exist. :o
OK, that makes sense. Please try the latest Digger version (24cd4168956dad382d05984b4b8d37d9e8ebe3ae).
Works great. Thanks for your help!
Feb 03 2020
prev sibling parent MoonlightSentinel <moonlightsentinel disroot.org> writes:
On Monday, 3 February 2020 at 20:41:00 UTC, Anonymouse wrote:
 It doesn't seem to include debugging symbols. Does digger not 
 build its dmds with -g?
The exceptions happens inside of build.d not dmd which wasn't built with debug informations until recently.
 Here's the full log: https://pastebin.com/raw/6MyVDFPc
Thanks. I can't tell exactly what went wrong but i would suggest building build.d with debug symbols and running it in verbose mode, e.g.:
 ..\generated\build.exe --called-from-make OS=windows 
 BUILD=release MODEL=32 HOST_DMD= 
 HOST_DC=C:\Temp\work\dl\dmd-2.079.0\dmd2/windows/bin\dmd.exe 
 ..\generated\windows\release\32\lexer.lib -v
The repository should be checked out in work/repo/dmd IIRC
Feb 03 2020