Another addendum: I can actually reproduce the busted call stack with a much smaller workspace that contains no symlinks. Of course, smaller in this case is a still rather large:
Any large node project tends to have a lot of dependencies, which in turn have many dependencies, and so on until the number of files is preposterous. I don't know of a good way to filter those out of the workspace, and even if I did I would then be losing a lot of meaningful context (80% of the time I would prefer documentation on the modules I'm using rather than my team's code). It might be worthwhile to try and implement lazy file addition -- just add the immediate node_modules for the project and only add their dependencies if you open an editor into one of their files.
More generally, it would be excellent if you could lazily load files into tern based on a dependency graph from opened files -- you'll never want or need documentation or source locations for things which aren't referenced in the files that are immediately open. I'd also recommend offloading the process of adding files into a separate task to improve the latency issue (and spare me the 45 second wait for file addition to crash :P ).
All in all, excellent work for a beta, really looking forward to seeing this mature. Tern and Light Table together is a wonderful thing.
Cheers,
Josh