Boost C++ Libraries: Ticket #7239: Stack overflow when calling create_directories(":D") https://svn.boost.org/trac10/ticket/7239 <p> On Windows7 x64, boost::filesystem::create_directories(":D") causes a stack overflow </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/7239 Trac 1.4.3 anonymous Mon, 27 Aug 2012 18:19:27 GMT <link>https://svn.boost.org/trac10/ticket/7239#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7239#comment:1</guid> <description> <p> We are seeing this problem in boost 1.49. Crash dumps are showing endless recursion in create_directories(). I will attach one. Thanks. henri@… </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Mon, 27 Aug 2012 18:26:26 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7239#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7239#comment:2</guid> <description> <p> The crash dump file exceeds the maximum allowed file size. Trying a screenshot of it for now. Contact me if you need more info. </p> </description> <category>Ticket</category> </item> <item> <author>henri@…</author> <pubDate>Mon, 27 Aug 2012 18:27:09 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/7239 https://svn.boost.org/trac10/ticket/7239 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">create_directories.png</span> </li> </ul> <p> Screenshot of create_directories() crash dump </p> Ticket Beman Dawes Mon, 27 Aug 2012 19:38:18 GMT status changed https://svn.boost.org/trac10/ticket/7239#comment:3 https://svn.boost.org/trac10/ticket/7239#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> Ticket Beman Dawes Tue, 28 Aug 2012 12:57:05 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/7239#comment:4 https://svn.boost.org/trac10/ticket/7239#comment:4 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/80279" title="Fix #7239, Stack overflow when calling create_directories(&#34;:D&#34;). The ...">[80279]</a>) Fix <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7239" title="#7239: Bugs: Stack overflow when calling create_directories(&#34;:D&#34;) (closed: fixed)">#7239</a>, 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(). </p> Ticket henri@… Tue, 28 Aug 2012 23:43:59 GMT <link>https://svn.boost.org/trac10/ticket/7239#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7239#comment:5</guid> <description> <p> Thanks for the fix. </p> <p> 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.) </p> </description> <category>Ticket</category> </item> </channel> </rss>