You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Yes, the manifest parser creates parser objects recursively for nested files. It will overflow stacks on posix too, with enough nesting.
Can you outline the structure of your ninja files? The ones created by cmake always have a nesting level of 1 (one file for all the build edges, and one with the rules iirc), and the ones written by gyp have a nesting depth of either 2 (a global file defining common rules and then several hundred "subninja" files for including ninja files containing projects) or sometimes 3 (for fat binaries, the 2nd level can include one ninja file per arch). A nesting depth of 266 sounds pretty high.
I have 266 ninja files and they are quite deeply nested.
I had to remove the try _except block at fake-main to be able to see any error message at all
With VS2012 Express i get the message:
First-chance exception at 0x77810DA9 (ntdll.dll) in ninja.exe: 0xC00000FD: Stack overflow (parameters: 0x00000001, 0x00192FFC).
Unhandled exception at 0x77810DA9 (ntdll.dll) in ninja.exe: 0xC00000FD: Stack overflow (parameters: 0x00000001, 0x00192FFC).
Which happens reproducibly at source line:
util:cc:282
int ReadFile(const string& path, string* contents, string* err) {
FILE* f = fopen(path.c_str(), "r");
I will post more information on this later when i get a change to analyze the depth of the include tree.
The text was updated successfully, but these errors were encountered: