Known reasons why D crashes without any message?

Thorsten Sommer via Digitalmars-d digitalmars-d at puremagic.com
Wed Sep 13 03:20:48 PDT 2017


Dear Community,

My student assistant and I working on an artificial intelligence 
library in D for a while. This library is part of my PhD thesis 
in order to perform several experiments to push the state of the 
art.

(Yes, after the thesis is published, the entire library gets open 
source on GitHub including novel algorithms)

Right now, we are done with the development and ready to start 
experiments. Until now, almost anything runs fine with our unit 
tests.

Besides the unit tests, the main program is now able to startup 
but crashes after a while without any message at all. No stack 
trace, no exception, nothing. Obviously, this makes it hard to 
debug anything...

To get a roughly impression, what the code uses (maybe this 
information will help to limit the possibilities):

- External dependencies: fluent-asserts, requests and our own 
library quantum-random for physical randomness
- Many meta-programming e.g. with templates across 9,000 lines of 
code
- The code was designed to be OOP... composition, inheritance, 
delegation, polymorphism...
- We call many instances of an external Go program with a Maze 
simulation (the task for the AI) by using pipeProcess()
- We use parallel foreach loops for scaling (we have issues with 
that also -- may I open another thread for it)
- We send thousands of HTTP requests using the requests library
- The entire simulation runs in Docker containers on huge servers 
(144 CPU Cores, ~470 GB RAM). Base image uses DMD 2.076.0 + 
Ubuntu Server 16.04

Are there any well-known circumstances, bugs, etc. where an 
abrupt interruption of a D program without any message is 
possible? My expectation was, that I would receive at least a 
stack trace. For debugging, I disabled parallelism at all in 
order to eliminate effects like exceptions are hidden in threads, 
missing/wrong variable sharing, etc.

I would be pleased about any idea, as I am currently stuck and no 
longer know how and where to continue debugging.


Best regards
Thorsten



More information about the Digitalmars-d mailing list