November 02, 2012 [Issue 8936] New: Throwing results in searching the whole directory tree rooted in current directory | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=8936 Summary: Throwing results in searching the whole directory tree rooted in current directory Product: D Version: D2 Platform: All OS/Version: Windows Status: NEW Severity: regression Priority: P1 Component: druntime AssignedTo: nobody@puremagic.com ReportedBy: verylonglogin.reg@gmail.com --- Comment #0 from Denis Shelomovskij <verylonglogin.reg@gmail.com> 2012-11-02 17:11:54 MSK --- This is catastrophic Windows druntime issue. Triggering code: --- void main() { throw new Exception("Ex"); // or Error, or any Throwable // try throw new Exception("Ex"); catch { } // same here } --- Want something really long? Lunch this on Windows: --- import std.file; void main() { chdir(`C:\`); try // Let's serach the whole C: drive! throw new Exception("Ex"); catch { } } --- Since dmd 2.060. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 02, 2012 [Issue 8936] Throwing results in searching the whole directory tree rooted in current directory | ||||
---|---|---|---|---|
| ||||
Posted in reply to Denis Shelomovskij | http://d.puremagic.com/issues/show_bug.cgi?id=8936 Alex Rønne Petersen <alex@lycus.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |alex@lycus.org --- Comment #1 from Alex Rønne Petersen <alex@lycus.org> 2012-11-02 15:13:50 CET --- I don't have a Windows machine available. Do you know where in druntime this search is being triggered? This is...kind of bad. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 02, 2012 [Issue 8936] Throwing results in searching the whole directory tree rooted in current directory | ||||
---|---|---|---|---|
| ||||
Posted in reply to Denis Shelomovskij | http://d.puremagic.com/issues/show_bug.cgi?id=8936 Andrej Mitrovic <andrej.mitrovich@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrej.mitrovich@gmail.com --- Comment #2 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2012-11-02 07:18:59 PDT --- My best bet is that new dbghelp.dll code which tries to find dbghelp.dll is causing the search. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 02, 2012 [Issue 8936] Throwing results in searching the whole directory tree rooted in current directory | ||||
---|---|---|---|---|
| ||||
Posted in reply to Denis Shelomovskij | http://d.puremagic.com/issues/show_bug.cgi?id=8936 --- Comment #3 from Denis Shelomovskij <verylonglogin.reg@gmail.com> 2012-11-02 17:33:05 MSK --- Call stack (thanks OllyDbg): --- Address Stack Procedure / arguments 0012E578 7C90D77A Includes ntdll.KiFastSystemCallRet 0012E57C 7C80ED62 ntdll.ZwQueryDirectoryFile 0012E888 7C8138B7 kernel32.FindFirstFileExW 0012EB1C 59C7117B kernel32.FindFirstFileA 0012EB20 0012EE90 FileName = ".\D\dmd2.055\html\d\*.*" 0012EB24 0012EC4C pFindFileData = 0012EC4C 0012EF9C 59C71636 dbghelp.59C7109F 0012F110 59C717C6 ? dbghelp.59C7149F 0012F15C 59C71839 ? dbghelp.59C716F4 0012F17C 59C7B424 ? dbghelp.FindExecutableImageEx 0012F1C0 59C816F7 ? dbghelp.59C7B2D1 0012F32C 59C820BF dbghelp.59C81652 0012F33C 59C82109 dbghelp.59C82061 0012F37C 59C75332 ? dbghelp.59C820D5 0012F3B0 59C84B93 dbghelp.59C75309 0012F408 59C84CC4 dbghelp.59C84B53 0012F4B4 59C8530F dbghelp.59C84C5E 0012F4DC 59C8356D dbghelp.59C852DF 0012F514 00421AF0 Includes dbghelp.59C8356D 0012FDA4 004219B3 test_d2.00421A0C 0012FDD0 0042178D test_d2.00421974 0012FDDC 004171F4 test_d2.00421778 0012FDEC 0041A546 test_d2.004171E0 0012FDF0 00410CEC test_d2.0041A530 0012FE08 0040B9FD test_d2.00410CC4 0012FE18 004082D4 test_d2.0040B9F0 0012FE20 00402082 test_d2.004082C8 0012FE54 0040823A test_d2.00402010 0012FE68 00407EBC test_d2.00408228 0012FE98 0040827D test_d2.00407E54 0012FEAC 00407EBC test_d2.00408248 0012FEDC 00407E40 test_d2.00407E54 0012FF84 00435311 test_d2.00407BF4 0012FF88 00000001 Arg1 = 00000001 0012FF8C 009303C4 Arg2 = 009303C4 0012FF90 00930400 Arg3 = 00930400 0012FF94 00000000 Arg4 = 00000000 0012FFC4 7C817077 Includes test_d2.00435311 --- `FileName` goes through the whole disk. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 14, 2012 [Issue 8936] Throwing results in searching the whole directory tree rooted in current directory | ||||
---|---|---|---|---|
| ||||
Posted in reply to Denis Shelomovskij | http://d.puremagic.com/issues/show_bug.cgi?id=8936 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla@digitalmars.com --- Comment #4 from Walter Bright <bugzilla@digitalmars.com> 2012-11-13 22:39:47 PST --- Any idea what file it's looking for? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 14, 2012 [Issue 8936] Throwing results in searching the whole directory tree rooted in current directory | ||||
---|---|---|---|---|
| ||||
Posted in reply to Denis Shelomovskij | http://d.puremagic.com/issues/show_bug.cgi?id=8936 --- Comment #5 from Denis Shelomovskij <verylonglogin.reg@gmail.com> 2012-11-14 12:49:12 MSK --- (In reply to comment #4) > Any idea what file it's looking for? Launching "throw-C-release.exe" with code from the second example from description: Call stack of main thread Address Stack Procedure / arguments Called from Frame Call stack of main thread Address Stack Procedure / arguments Called from Frame 0012D540 7C90D5AA Includes ntdll.KiFastSystemCallRet ntdll.7C90D5A8 0012D838 0012D544 7C80EC96 Includes ntdll.7C90D5AA kernel32.7C80EC94 0012D838 0012D83C 7C8138B7 kernel32.FindFirstFileExW kernel32.7C8138B2 0012D838 0012DAD0 59C7117B kernel32.FindFirstFileA dbghelp.59C71175 0012DACC 0012DAD4 0012DE44 FileName = ".\Documents and Settings\Denis\Local Settings\Temp\ 0012DAD8 0012DC00 pFindFileData = 0012DC00 0012DF50 59C71636 dbghelp.59C7109F dbghelp.59C71631 0012DF4C 0012E0C4 59C717C6 ? dbghelp.59C7149F dbghelp.59C717C1 0012E0C0 0012E110 59C71839 ? dbghelp.59C716F4 dbghelp.59C71834 0012E10C 0012E114 00B27E68 Arg1 = 00B27E68 ASCII "throw-C-release.exe" 0012E118 00B7FEA0 Arg2 = 00B7FEA0 0012E11C 00B27772 Arg3 = 00B27772 ASCII "C:\throw-C-release.exe" 0012E120 59C7ABE7 Arg4 = 59C7ABE7 0012E124 00B27748 Arg5 = 00B27748 0012E128 00000000 Arg6 = 00000000 0012E130 59C7B424 ? dbghelp.FindExecutableImageEx dbghelp.59C7B41F 0012E12C 0012E134 00B27E68 Arg1 = 00B27E68 ASCII "throw-C-release.exe" 0012E138 00B7FEA0 Arg2 = 00B7FEA0 0012E13C 00B27772 Arg3 = 00B27772 ASCII "C:\throw-C-release.exe" 0012E140 59C7ABE7 Arg4 = 59C7ABE7 0012E144 00B27748 Arg5 = 00B27748 0012E174 59C816F7 ? dbghelp.59C7B2D1 <same as in comment 3> MSDN about FindExecutableImageEx function: http://msdn.microsoft.com/ru-ru/library/windows/desktop/ms679343(v=vs.85).aspx P.S. Common, OllyDbg if free and easy to use. And probably not the only available debugger. Everybody can do the same himself. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 15, 2012 [Issue 8936] Throwing results in searching the whole directory tree rooted in current directory | ||||
---|---|---|---|---|
| ||||
Posted in reply to Denis Shelomovskij | http://d.puremagic.com/issues/show_bug.cgi?id=8936 --- Comment #6 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2012-11-14 17:24:53 PST --- Just a guess, but maybe caused by one of these (since they deal with dbghelp.dll): https://github.com/D-Programming-Language/druntime/pull/243 https://github.com/D-Programming-Language/druntime/pull/225 It's damn hard to find matching DMD+druntime+phobos versions that compile together for that pull so I can't test these out. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 15, 2012 [Issue 8936] Throwing results in searching the whole directory tree rooted in current directory | ||||
---|---|---|---|---|
| ||||
Posted in reply to Denis Shelomovskij | http://d.puremagic.com/issues/show_bug.cgi?id=8936 --- Comment #7 from Walter Bright <bugzilla@digitalmars.com> 2012-11-14 18:50:51 PST --- (In reply to comment #6) > It's damn hard to find matching DMD+druntime+phobos versions that compile together for that pull so I can't test these out. Just use the latest versions of everything, but the older version of the stack trace code. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 22, 2012 [Issue 8936] Throwing results in searching the whole directory tree rooted in current directory | ||||
---|---|---|---|---|
| ||||
Posted in reply to Denis Shelomovskij | http://d.puremagic.com/issues/show_bug.cgi?id=8936 David Held <dmd@wyntrmute.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dmd@wyntrmute.com --- Comment #8 from David Held <dmd@wyntrmute.com> 2012-11-22 02:54:27 PST --- The root cause is that druntime/core/sys/windows/stacktrace.d::static this() calls WinAPI's SymInitialize() with a NULL user path. This results in the default path: %CWD%;%_NT_SYMBOL_PATH%;%_NT_ALTERNATE_SYMBOL_PATH% as per the MSDN documentation here: http://msdn.microsoft.com/en-us/library/windows/desktop/ms681351%28v=vs.85%29.aspx. Unfortunately, I cannot repro this behavior on Windows 7 Home Premium SP1, dbghelp.dll 6.1. I suspect that newer versions of dbghelp.dll are simply more clever than what MSDN states (for instance, if the semantics were changed to make the default path start with the image location, 99% of all directory scanning would be eliminated; also, it is pretty silly to not have this as the default behavior). Please report which version of dbghelp.dll you are using. There are likely multiple versions present on your machine, so you can discover the one being used via 'where': where dbghelp.dll It will most likely discover the version in %SystemRoot%\system32. You can find the version in the file properties. Assuming that this is truly only a problem with older versions of dbghelp.dll (e.g.: 5.x versions), it is not difficult to simply provide a custom user path starting with the current executable image path. However, I do not have a means to verify the fix, as I cannot repro the actual problem. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
December 07, 2012 [Issue 8936] Throwing results in searching the whole directory tree rooted in current directory | ||||
---|---|---|---|---|
| ||||
Posted in reply to Denis Shelomovskij | http://d.puremagic.com/issues/show_bug.cgi?id=8936 Benjamin Thaut <code@benjamin-thaut.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |code@benjamin-thaut.de --- Comment #9 from Benjamin Thaut <code@benjamin-thaut.de> 2012-12-07 09:37:27 PST --- I don't quite understand the issue here. Why is it a problem that is searches for appropriate .pdb files? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation