The recursive function marshallDs() contains a recursion counter to limit recursion.
This is incremented at the start of the function, but is never decremented.
Suggest adding the line:
pInfo->level--;
immediately prior to the return at the end of the function.
Thank you, Thomas. This is missing in several functions, btw. Will be fixed asap.