I just finished reading a long recent thread on some issues with LDLt.
In some numerical experiments I was doing today, I've come across a related issue. It appears that the current implementation of LDLt requires that the matrix be positive definite. This is not strictly necessary for the LDLt factorization to succeed. It is necessary only that the diagonal term not be zero during factorization. A negative diagonal term is not, by itself, a problem.
From reading the previous posts, it appears that a main reason for the LDLt implementation compared with LLt was to avoid the performance penalty of a square root. In fact, I think the main benefit of LDLt is that it can factor both negative- and positive-definite symmetric matrices. (As an aside, these routinely occur in dynamic analysis of mechanical systems)
I suggest the test in the LDLt factorization routine be changed to check that abs(diag_term) > eps.