https://bugs.ruby-lang.org/https://bugs.ruby-lang.org/favicon.ico?17113305112012-11-05T02:50:13ZRuby Issue Tracking SystemRuby master - Bug #7276: TestFile#test_utime failurehttps://bugs.ruby-lang.org/issues/7276?journal_id=323432012-11-05T02:50:13Zjonforums (Jon Forums)
<ul></ul><p>Appears to be a trunk regression as <code>TestFile#test_utime</code> passes on ruby_1_9_3@37334</p>
<p>C:\Jenkins\workspace\ruby-1_9_3-svn>ruby -v test\ruby\test_file.rb<br>
ruby 1.9.3p305 (2012-10-26 revision 37334) [i386-mingw32]<br>
Run options:</p>
<a name="Running-tests"></a>
<h1 >Running tests:<a href="#Running-tests" class="wiki-anchor">¶</a></h1>
<p>................................</p>
<p>Finished tests in 1.154402s, 27.7200 tests/s, 127.3387 assertions/s.</p> Ruby master - Bug #7276: TestFile#test_utime failurehttps://bugs.ruby-lang.org/issues/7276?journal_id=324312012-11-05T23:10:14Zmame (Yusuke Endoh)mame@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Assigned</i></li><li><strong>Assignee</strong> set to <i>nobu (Nobuyoshi Nakada)</i></li></ul> Ruby master - Bug #7276: TestFile#test_utime failurehttps://bugs.ruby-lang.org/issues/7276?journal_id=330432012-11-18T12:35:22Zjonforums (Jon Forums)
<ul></ul><p>Ping.</p>
<p>This is the only test-all fail I have when building trunk on Win7 with mingw-w64 gcc 4.7.2.</p>
<p>This fail does not show up at <a href="http://ci.rubyinstaller.org/" class="external">http://ci.rubyinstaller.org/</a> because the current build slaves reside in an area that doesn't participate in the daylight savings time circus.</p> Ruby master - Bug #7276: TestFile#test_utime failurehttps://bugs.ruby-lang.org/issues/7276?journal_id=330552012-11-18T23:29:15Zluislavena (Luis Lavena)luislavena@gmail.com
<ul><li><strong>Assignee</strong> changed from <i>nobu (Nobuyoshi Nakada)</i> to <i>usa (Usaku NAKAMURA)</i></li></ul><p>Nakamura-san,</p>
<p>Do you have any idea about this? Nobu seems not responding so perhaps you can help us figure out the best solution for this.</p>
<p>Thank you.</p> Ruby master - Bug #7276: TestFile#test_utime failurehttps://bugs.ruby-lang.org/issues/7276?journal_id=330612012-11-19T00:59:29Zjonforums (Jon Forums)
<ul></ul><p>No failure when building trunk@37710 on Arch 3.6.6 with gcc 4.7.2</p> Ruby master - Bug #7276: TestFile#test_utime failurehttps://bugs.ruby-lang.org/issues/7276?journal_id=339372012-11-26T15:01:19Zh.shirosaki (Hiroshi Shirosaki)h.shirosaki@gmail.com
<ul></ul><p>This seems due to r37337. I don't know the reason of r37337, but reverting the commit (use rb_w32_fstati64 for fstat) will fix this.</p> Ruby master - Bug #7276: TestFile#test_utime failurehttps://bugs.ruby-lang.org/issues/7276?journal_id=339402012-11-26T15:57:11Zusa (Usaku NAKAMURA)usa@garbagecollect.jp
<ul><li><strong>Assignee</strong> changed from <i>usa (Usaku NAKAMURA)</i> to <i>nobu (Nobuyoshi Nakada)</i></li></ul> Ruby master - Bug #7276: TestFile#test_utime failurehttps://bugs.ruby-lang.org/issues/7276?journal_id=342902012-12-02T02:21:33Zjonforums (Jon Forums)
<ul></ul><p>This still fails as of r38131 on my Win7 32bit system. Given Shirosaki-san's comment, what's preventing this from being quickly fixed on trunk?</p>
<p>Since this bug is not made visible by the rubyinstaller CI (build slave location) I will manually run any tests or builds you need in order to validate the fix. Let me know what you need.</p> Ruby master - Bug #7276: TestFile#test_utime failurehttps://bugs.ruby-lang.org/issues/7276?journal_id=352822013-01-09T01:36:58Zjonforums (Jon Forums)
<ul></ul><p>Status? Is this planned to be fixed for 2.0.0?</p>
<p>This is the only failure I get when building trunk (<code>make test-all</code> and <code>make test</code>) with mingw-w64 4.7.2 32bit on Win7.</p>
<p>As stated previously, you don't see this failure at <a href="http://ci.rubyinstaller.org/" class="external">http://ci.rubyinstaller.org/</a> because Luis' build slaves are located in an uneffected timezone.</p> Ruby master - Bug #7276: TestFile#test_utime failurehttps://bugs.ruby-lang.org/issues/7276?journal_id=356892013-01-28T23:24:09Zphasis68 (Heesob Park)phasis@gmail.com
<ul></ul><p>This daylight savings time bug is described at<br>
<a href="http://www.codeproject.com/Articles/1144/Beating-the-Daylight-Savings-Time-bug-and-getting" class="external">http://www.codeproject.com/Articles/1144/Beating-the-Daylight-Savings-Time-bug-and-getting</a><br>
and<br>
<a href="http://support.microsoft.com/kb/158588/en-us" class="external">http://support.microsoft.com/kb/158588/en-us</a></p>
<p>The workaround is using the Windows API call instead of using the C library call.</p> Ruby master - Bug #7276: TestFile#test_utime failurehttps://bugs.ruby-lang.org/issues/7276?journal_id=356952013-01-29T13:21:08Zjonforums (Jon Forums)
<ul></ul><p>Nobu-san: why was r37337 required and <code>rb_w32_fstati64</code> no longer correct?</p>
<p>Heesob: good read. After reverting r37337 as per Hiroshi's comment, I get 0 fails on trunk@38966 (Win7 32bit + mingw-w64 4.7.2) because <code>fstat</code> -> <code>rb_w32_fstati64</code> (win32/win32.c:4474) rather than <code>fstat</code> -> <code>_fstati64</code> which causes mingw-w64 to use msvcrt's <code>_fstat64</code> (i686-w64-mingw32/include/_mingw_stat64.h:12)</p>
<p><a href="http://msdn.microsoft.com/en-us/library/221w8e43%28v=vs.90%29.aspx" class="external">http://msdn.microsoft.com/en-us/library/221w8e43%28v=vs.90%29.aspx</a></p>
<p>Given the info you linked, do you think the current <code>rb_w32_fstati64</code> is a valid workaround? Does reverting r37337 also work for you on Win8?</p> Ruby master - Bug #7276: TestFile#test_utime failurehttps://bugs.ruby-lang.org/issues/7276?journal_id=356962013-01-29T13:45:53Zphasis68 (Heesob Park)phasis@gmail.com
<ul></ul><p>Reverting r37337 works on Windows 8.</p>
<p>I think the only drawback to rb_w32_fstati64 is a little performance loss.</p> Ruby master - Bug #7276: TestFile#test_utime failurehttps://bugs.ruby-lang.org/issues/7276?journal_id=357192013-01-30T16:59:46Znobu (Nobuyoshi Nakada)nobu@ruby-lang.org
<ul></ul><p>I don't remember the reason well, probably some mingw failed to link the dll or extension libraries.<br>
But I can't find which failed, so revert it.</p> Ruby master - Bug #7276: TestFile#test_utime failurehttps://bugs.ruby-lang.org/issues/7276?journal_id=357202013-01-30T17:08:29Znobu (Nobuyoshi Nakada)nobu@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Closed</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>This issue was solved with changeset r38992.<br>
Jon, thank you for reporting this issue.<br>
Your contribution to Ruby is greatly appreciated.<br>
May Ruby be with you.</p>
<hr>
<p>win32.h: revert r37337</p>
<ul>
<li>include/ruby/win32.h (fstat): revert r37337, which uses _fstati64()<br>
instead of fstati64() on mingw32. [Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: TestFile#test_utime failure (Closed)" href="https://bugs.ruby-lang.org/issues/7276">#7276</a>]</li>
</ul>