https://issues.dlang.org/show_bug.cgi?id=20562
--- Comment #9 from JR <zor...@gmail.com> --- (In reply to Jonathan Marler from comment #8) > JR how did you do your git bisect? What command were you using to build dmd? I used digger to automate the bisection. I might add that I started all this with trying to make a minimal test case using dustmite, but after a while it gets reduced to a vague state that sometimes compiles, sometimes doesn't. The test expression I used to bisect was the build command that `dub build -v` printed, grepped for "Memory allocation failed". I needed to invert the result for digger (a success should be when the string was not detected), so I couldn't just leave it as a normal command and had to make a batch script. I don't know Windows so it may be a roundabout way of doing it, but it works. With my repo cloned into C:\Temp\kameloso, then with a C:\Temp\bisect.bat test script looking like the following: (necessitates having run `dub build` at least once to fetch and build the dependencies) ``` @echo off cd \Temp\kameloso dmd -dip25 -dip1008 -m64 -c -ofk -debug -g -w -d -version=WithAdminPlugin -version=WithAutomodePlugin -version=WithBashQuotesPlugin -version=WithChanQueriesService -version=WithChatbotPlugin -version=WithConnectService -version=WithCTCPService -version=WithHelpPlugin -version=WithNotesPlugin -version=WithOnelinersPlugin -version=WithPersistenceService -version=WithPipelinePlugin -version=WithPrinterPlugin -version=WithQuotesPlugin -version=WithSedReplacePlugin -version=WithSeenPlugin -version=WithWebtitlesPlugin -version=WithPlugins -version=Have_kameloso -version=Have_dialect -version=Have_lu -version=FlagAsUpdated -version=Have_lu_core -version=Have_lu_meld -Isource -IC:\Users\zorael\AppData\Local\dub\packages\dialect-0.3.2\dialect\source -IC:\Users\zorael\AppData\Local\dub\packages\lu-0.1.2\lu\source -IC:\Users\zorael\AppData\Local\dub\packages\lu-0.1.2\lu\source source\kameloso\common.d source\kameloso\constants.d source\kameloso\debugging.d source\kameloso\getopt.d source\kameloso\irccolours.d source\kameloso\kameloso.d source\kameloso\logger.d source\kameloso\main.d source\kameloso\messaging.d source\kameloso\plugins\admin.d source\kameloso\plugins\automode.d source\kameloso\plugins\bashquotes.d source\kameloso\plugins\chanqueries.d source\kameloso\plugins\chatbot.d source\kameloso\plugins\common.d source\kameloso\plugins\connect.d source\kameloso\plugins\ctcp.d source\kameloso\plugins\hello.d source\kameloso\plugins\help.d source\kameloso\plugins\notes.d source\kameloso\plugins\oneliners.d source\kameloso\plugins\package.d source\kameloso\plugins\persistence.d source\kameloso\plugins\pipeline.d source\kameloso\plugins\printer.d source\kameloso\plugins\quotes.d source\kameloso\plugins\sedreplace.d source\kameloso\plugins\seen.d source\kameloso\plugins\twitchbot.d source\kameloso\plugins\webtitles.d source\kameloso\printing.d source\kameloso\terminal.d source\kameloso\thread.d source\kameloso\traits.d -vcolumns 2>&1 | findstr /C:"Memory allocation failed" if %ERRORLEVEL% EQU 0 (exit /b 1) else (exit /b 0) ``` I set up a digger bisect.ini looking like the following: ``` good = master@v2.087.1 bad = master@v2.089.1 reverse = false tester = C:\Temp\bisect.bat ``` Then I set it off with `dub run digger -- bisect bisect.ini`. --