#7239 closed Bugs (fixed)
Stack overflow when calling create_directories(":D")
Reported by: | Owned by: | Beman Dawes | |
---|---|---|---|
Milestone: | To Be Determined | Component: | filesystem |
Version: | Boost 1.44.0 | Severity: | Problem |
Keywords: | filesystem crash colon | Cc: |
Description
On Windows7 x64, boost::filesystem::create_directories(":D") causes a stack overflow
Attachments (1)
Change History (6)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
The crash dump file exceeds the maximum allowed file size. Trying a screenshot of it for now. Contact me if you need more info.
by , 10 years ago
Attachment: | create_directories.png added |
---|
Screenshot of create_directories() crash dump
comment:3 by , 10 years ago
Status: | new → assigned |
---|
comment:4 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
(In [80279]) Fix #7239, Stack overflow when calling create_directories(":D"). The reported problem was a symptom of an internal bug that caused path::filename() and path::parent_path() to fail on Windows for path(":"), and that in turn caused other functions that depend on filename() or parent_path() to fail, such as create_directories().
comment:5 by , 10 years ago
Thanks for the fix.
In the meantime, I realized why we were running into this. On Windows, libraries have virtual names of the form "::[GUID]/[name].library-ms" and thus would trigger the issue. (Aside: code should not attempt to create a directory with such a name, but legacy code not used to dealing with Windows library nodes probably have cases that fall into the creation action... at least, that was our situation.)
We are seeing this problem in boost 1.49. Crash dumps are showing endless recursion in create_directories(). I will attach one. Thanks. henri@…