Skip to content

Infinite loop trying to recover from error #403

@renatoathaydes

Description

@renatoathaydes

I've just pulled from master and built serve-d locally.

Tried to use it in emacs. It asked me to download DCD which I accepted, but it did not do anything. No visible errors.
But when I looked at the eglot buffer for the process, I saw it was printing this in an infinite loop:

[stderr] 2025-08-14T20:05:06.125 [trace] dcd.d:226:startServer Server: 
[stderr] 2025-08-14T20:05:06.125 [trace] extension.d:995:startDCDServer refreshImports
[stderr] 2025-08-14T20:05:06.125 [trace] dcd.d:259:__lambda_L231_C24 DCD-Server stopped with code -11
[stderr] 2025-08-14T20:05:06.161 [trace] async.d:85:setTimeout Setting timeout for 0 hnsecs
[stderr] 2025-08-14T20:05:06.161 [info] extension.d:1007:startDCDServer Imports for /Users/renatoathaydes/programming/experiments/d/source: ["/Users/renatoathaydes/programming/experiments/d/source", "/Users/renatoathaydes/programming/experiments/d/source"]
[stderr] 2025-08-14T20:05:06.174 [trace] index.d:131:traceIndexerStats Indexer stats for /Users/renatoathaydes/programming/experiments/d/source:
[stderr] 2025-08-14T20:05:06.174 [trace] index.d:133:traceIndexerStats - failed files: ["/Users/renatoathaydes/programming/experiments/d/source/app.d"]
[stderr] 2025-08-14T20:05:06.174 [trace] index.d:134:traceIndexerStats - total modules: 0
[stderr] 2025-08-14T20:05:06.174 [trace] index.d:135:traceIndexerStats - total definitions: 0
[stderr] 2025-08-14T20:05:06.174 [trace] index.d:136:traceIndexerStats - total imports: 0
[stderr] 2025-08-14T20:05:06.174 [trace] async.d:85:setTimeout Setting timeout for 2 secs and 500 ms
[stderr] 2025-08-14T20:05:06.174 [trace] stdlib_detect.d:51:autoDetectStdlibPaths falling back to global imports search
[stderr] 2025-08-14T20:05:06.174 [warning] stdlib_detect.d:113:detectDMDStdlibPaths Could not find DMD in $PATH for stdlib auto-detection! Checking for dmd.conf at hardcoded system-wide location...
[stderr] 2025-08-14T20:05:06.174 [warning] stdlib_detect.d:59:autoDetectStdlibPaths returning to default hardcoded fallback phobos paths
[stderr] 2025-08-14T20:05:06.174 [trace] extension.d:988:startDCDServer Running DCD setup
[stderr] 2025-08-14T20:05:06.174 [trace] stdlib_detect.d:51:autoDetectStdlibPaths falling back to global imports search
[stderr] 2025-08-14T20:05:06.174 [warning] stdlib_detect.d:113:detectDMDStdlibPaths Could not find DMD in $PATH for stdlib auto-detection! Checking for dmd.conf at hardcoded system-wide location...
[stderr] 2025-08-14T20:05:06.174 [trace] index.d:341:__lambda_L325_C19 Indexing 2 files inside workspace /Users/renatoathaydes/programming/experiments/d/source...
[stderr] 2025-08-14T20:05:06.174 [warning] stdlib_detect.d:59:autoDetectStdlibPaths returning to default hardcoded fallback phobos paths
[stderr] 2025-08-14T20:05:06.174 [trace] extension.d:993:startDCDServer startServer ["/Library/D/dmd/src/druntime/import", "/Library/D/dmd/src/phobos"]
[stderr] 2025-08-14T20:05:06.174 [trace] dcd.d:219:startServer Start dcd-server ["/Users/renatoathaydes/.code-d/bin/dcd-server", "--socketFile", "/var/folders/hn/dv8742714txg_k2b6yd9djf40000gn/T/workspace-d-sock55455-38IISFDJ64AC6"]
[stderr] 2025-08-14T20:05:06.174 [trace] index.d:346:__lambda_L345_C24 Done indexing 2 files in 120 μs and 6 hnsecs
[stderr] 2025-08-14T20:05:06.175 [trace] index.d:190:saveIndex Saved file index with 0 entries to /var/folders/hn/dv8742714txg_k2b6yd9djf40000gn/T/serve-d/symbolindex.bin


[stderr] 2025-08-14T20:05:06.210 [trace] dcd.d:226:startServer Server: 
[stderr] 2025-08-14T20:05:06.210 [trace] extension.d:995:startDCDServer refreshImports
[stderr] 2025-08-14T20:05:06.210 [trace] dcd.d:259:__lambda_L231_C24 DCD-Server stopped with code -11
[stderr] 2025-08-14T20:05:06.260 [trace] async.d:85:setTimeout Setting timeout for 0 hnsecs
[stderr] 2025-08-14T20:05:06.260 [info] extension.d:1007:startDCDServer Imports for /Users/renatoathaydes/programming/experiments/d/source: ["/Users/renatoathaydes/programming/experiments/d/source", "/Users/renatoathaydes/programming/experiments/d/source"]
[stderr] 2025-08-14T20:05:06.273 [trace] index.d:131:traceIndexerStats Indexer stats for /Users/renatoathaydes/programming/experiments/d/source:
[stderr] 2025-08-14T20:05:06.273 [trace] index.d:133:traceIndexerStats - failed files: ["/Users/renatoathaydes/programming/experiments/d/source/app.d"]
[stderr] 2025-08-14T20:05:06.273 [trace] index.d:134:traceIndexerStats - total modules: 0
[stderr] 2025-08-14T20:05:06.273 [trace] index.d:135:traceIndexerStats - total definitions: 0
[stderr] 2025-08-14T20:05:06.273 [trace] index.d:136:traceIndexerStats - total imports: 0
[stderr] 2025-08-14T20:05:06.273 [trace] async.d:85:setTimeout Setting timeout for 2 secs and 500 ms
[stderr] 2025-08-14T20:05:06.273 [trace] stdlib_detect.d:51:autoDetectStdlibPaths falling back to global imports search
[stderr] 2025-08-14T20:05:06.274 [warning] stdlib_detect.d:113:detectDMDStdlibPaths Could not find DMD in $PATH for stdlib auto-detection! Checking for dmd.conf at hardcoded system-wide location...
[stderr] 2025-08-14T20:05:06.274 [warning] stdlib_detect.d:59:autoDetectStdlibPaths returning to default hardcoded fallback phobos paths
[stderr] 2025-08-14T20:05:06.274 [trace] extension.d:988:startDCDServer Running DCD setup
[stderr] 2025-08-14T20:05:06.274 [trace] stdlib_detect.d:51:autoDetectStdlibPaths falling back to global imports search
[stderr] 2025-08-14T20:05:06.274 [warning] stdlib_detect.d:113:detectDMDStdlibPaths Could not find DMD in $PATH for stdlib auto-detection! Checking for dmd.conf at hardcoded system-wide location...
[stderr] 2025-08-14T20:05:06.274 [trace] index.d:341:__lambda_L325_C19 Indexing 2 files inside workspace /Users/renatoathaydes/programming/experiments/d/source...
[stderr] 2025-08-14T20:05:06.274 [warning] stdlib_detect.d:59:autoDetectStdlibPaths returning to default hardcoded fallback phobos paths
[stderr] 2025-08-14T20:05:06.274 [trace] extension.d:993:startDCDServer startServer ["/Library/D/dmd/src/druntime/import", "/Library/D/dmd/src/phobos"]
[stderr] 2025-08-14T20:05:06.274 [trace] index.d:346:__lambda_L345_C24 Done indexing 2 files in 114 μs and 5 hnsecs
[stderr] 2025-08-14T20:05:06.274 [trace] index.d:190:saveIndex Saved file index with 0 entries to /var/folders/hn/dv8742714txg_k2b6yd9djf40000gn/T/serve-d/symbolindex.bin
[stderr] 2025-08-14T20:05:06.274 [trace] dcd.d:219:startServer Start dcd-server ["/Users/renatoathaydes/.code-d/bin/dcd-server", "--socketFile", "/var/folders/hn/dv8742714txg_k2b6yd9djf40000gn/T/workspace-d-sock55455-2ZFN4FM96DF88"]


[stderr] 2025-08-14T20:05:06.321 [trace] dcd.d:226:startServer Server: 
[stderr] 2025-08-14T20:05:06.321 [trace] extension.d:995:startDCDServer refreshImports
[stderr] 2025-08-14T20:05:06.321 [trace] dcd.d:259:__lambda_L231_C24 DCD-Server stopped with code -11
[stderr] 2025-08-14T20:05:06.405 [trace] async.d:85:setTimeout Setting timeout for 0 hnsecs
[stderr] 2025-08-14T20:05:06.405 [info] extension.d:1007:startDCDServer Imports for /Users/renatoathaydes/programming/experiments/d/source: ["/Users/renatoathaydes/programming/experiments/d/source", "/Users/renatoathaydes/programming/experiments/d/source"]
[stderr] 2025-08-14T20:05:06.418 [trace] index.d:131:traceIndexerStats Indexer stats for /Users/renatoathaydes/programming/experiments/d/source:
[stderr] 2025-08-14T20:05:06.418 [trace] index.d:133:traceIndexerStats - failed files: ["/Users/renatoathaydes/programming/experiments/d/source/app.d"]
[stderr] 2025-08-14T20:05:06.418 [trace] index.d:134:traceIndexerStats - total modules: 0
[stderr] 2025-08-14T20:05:06.418 [trace] index.d:135:traceIndexerStats - total definitions: 0
[stderr] 2025-08-14T20:05:06.418 [trace] index.d:136:traceIndexerStats - total imports: 0
[stderr] 2025-08-14T20:05:06.418 [trace] async.d:85:setTimeout Setting timeout for 2 secs and 500 ms
[stderr] 2025-08-14T20:05:06.418 [trace] stdlib_detect.d:51:autoDetectStdlibPaths falling back to global imports search
[stderr] 2025-08-14T20:05:06.418 [warning] stdlib_detect.d:113:detectDMDStdlibPaths Could not find DMD in $PATH for stdlib auto-detection! Checking for dmd.conf at hardcoded system-wide location...
[stderr] 2025-08-14T20:05:06.418 [warning] stdlib_detect.d:59:autoDetectStdlibPaths returning to default hardcoded fallback phobos paths
[stderr] 2025-08-14T20:05:06.418 [trace] extension.d:988:startDCDServer Running DCD setup
[stderr] 2025-08-14T20:05:06.418 [trace] stdlib_detect.d:51:autoDetectStdlibPaths falling back to global imports search
[stderr] 2025-08-14T20:05:06.418 [warning] stdlib_detect.d:113:detectDMDStdlibPaths Could not find DMD in $PATH for stdlib auto-detection! Checking for dmd.conf at hardcoded system-wide location...
[stderr] 2025-08-14T20:05:06.418 [trace] index.d:341:__lambda_L325_C19 Indexing 2 files inside workspace /Users/renatoathaydes/programming/experiments/d/source...
[stderr] 2025-08-14T20:05:06.418 [warning] stdlib_detect.d:59:autoDetectStdlibPaths returning to default hardcoded fallback phobos paths
[stderr] 2025-08-14T20:05:06.418 [trace] extension.d:993:startDCDServer startServer ["/Library/D/dmd/src/druntime/import", "/Library/D/dmd/src/phobos"]
[stderr] 2025-08-14T20:05:06.418 [trace] index.d:346:__lambda_L345_C24 Done indexing 2 files in 114 μs and 7 hnsecs
[stderr] 2025-08-14T20:05:06.418 [trace] index.d:190:saveIndex Saved file index with 0 entries to /var/folders/hn/dv8742714txg_k2b6yd9djf40000gn/T/serve-d/symbolindex.bin
[stderr] 2025-08-14T20:05:06.418 [trace] dcd.d:219:startServer Start dcd-server ["/Users/renatoathaydes/.code-d/bin/dcd-server", "--socketFile", "/var/folders/hn/dv8742714txg_k2b6yd9djf40000gn/T/workspace-d-sock55455-2CQIGVSB7QQO1"]


[stderr] 2025-08-14T20:05:06.465 [trace] dcd.d:226:startServer Server: 
[stderr] 2025-08-14T20:05:06.465 [trace] extension.d:995:startDCDServer refreshImports
[stderr] 2025-08-14T20:05:06.465 [trace] dcd.d:259:__lambda_L231_C24 DCD-Server stopped with code -11

I added two empty lines between the repeated parts of the log.

This continued even after I closed the D files!

I don't have DMD installed in the default path because DMD doesn't work on Mac, currently (it used to work, badly but worked, but since a few months back, it just cannot run at all).

I can see that even though /Library/D/ does not exist, ~/.code-d/bin/dcd-server does, but trying to run that results in a Segmentation fault (as with all DMD binaries on Mac, currently).

I understand that this is why the error is happening, but I can't understand why instead of telling me that there's an error, it decides to retry infinitely.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions