All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sitsofe Wheeler <sitsofe@gmail.com>
To: Rebecca Cran <rebecca@bluestop.org>
Cc: fio <fio@vger.kernel.org>
Subject: Re: Windows: FIO randomly hangs using attached script
Date: Tue, 6 Mar 2018 16:35:20 +0000	[thread overview]
Message-ID: <CALjAwxjoTtRp1jVhfKMTcbn6wnmEmmCsjkpO7CkBgF5zj4B3Bg@mail.gmail.com> (raw)
In-Reply-To: <e044afaa-22ad-c7e2-d041-e2658f49bac8@bluestop.org>

On 6 March 2018 at 01:23, Rebecca Cran <rebecca@bluestop.org> wrote:
> I've had a report that FIO on Windows (at least Server 2012 R2 and 2016)
> hangs when the attached script is run. The point at which it hangs is
> apparently random, and within the condvar (pthread-win32) calls.
>
> I've replicated the hang, but I don't have time to debug it so I was hoping
> somebody on this mailing list might have time to dig into it and figure out
> what's wrong.

I'd like to look but I no longer have access to Windows machines
beyond what you can get with Appveyor so I'd need quite a restricted
test case to analyse this (see below for the problems I've been
having).

> The people I was talking to thought it might be due to FIO linking to
> msvcrt.dll, which is old and not supposed to be used by applications - they
> should use the CRT distributed with Visual C++, such as msvcr120.dll
> instead. However, it appears that fixing this would take quite a lot of work
> since while FIO is relatively straightforward to change, pthread-win32
> hasn't had a full release since 2012 and doesn't build under a current msys
> environment due to duplicated symbols etc.

It's true you're not supposed to link against the system msvcrt.dll
(see https://blogs.msdn.microsoft.com/oldnewthing/20140411-00/?p=1273
and https://sourceforge.net/p/mingw-w64/wiki2/The%20case%20against%20msvcrt.dll/
) however the MinGW folks have observed it can't really go away and
seem to gear everything up for doing that and only use it for basic
functionality (e.g. see
http://mingw-users.1079350.n2.nabble.com/Which-msvcrt-dll-does-MinGW-use-tp7582968p7582969.html
and https://ghc.haskell.org/trac/ghc/ticket/14537#comment:2 ).

Since your commit back in Jan 2014
(https://github.com/axboe/fio/commit/9aa5fe3290fd49c70e498d5e072a5b27e1c3034f
) fio migrated from pthread-win32 to MinGW's
internal winpthread (which seems to be alive as there's a commit from
Jan 2018 - https://github.com/mirror/mingw-w64/commits/master/mingw-w64-libraries/winpthreads
). If we have a repeatable small test case we might be able to send it
to the MinGW folks to look at...

I tried out the python script but it seemed to be complaining about a
whitespace issue. After fixing that up it's unclear exactly what fio
command lines it runs. I think for others to dig in we'd need
something less fiddly like the raw fio command lines that generate the
hang. Is there any chance the mystery user could join the mailing list
so they can answer questions directly? Ideally we'd need a job that
works on files within a filesystem and ideally nice small files so it
could go into an AppVeyor job...

-- 
Sitsofe | http://sucs.org/~sits/

  reply	other threads:[~2018-03-06 16:35 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-06  1:23 Windows: FIO randomly hangs using attached script Rebecca Cran
2018-03-06 16:35 ` Sitsofe Wheeler [this message]
2018-03-06 20:01   ` Rebecca Cran
2018-03-07  6:00     ` Sitsofe Wheeler
2018-03-07 15:33       ` David Knierim
2018-03-07 15:39         ` Rob Scheepens
2018-03-07 16:01           ` Sitsofe Wheeler
2018-03-07 16:03             ` Rebecca Cran
2018-03-07 16:05             ` Rob Scheepens
2018-03-07 16:09               ` Rebecca Cran
2018-03-08 10:51           ` Rob Scheepens
2018-03-08 12:28             ` Sitsofe Wheeler
2018-03-08 12:39               ` Rob Scheepens
2018-03-08 14:35                 ` Rob Scheepens
2018-03-08 14:38                   ` Rob Scheepens
2018-03-08 15:15                     ` Sitsofe Wheeler
2018-03-08 15:13                   ` Sitsofe Wheeler
2018-03-08 15:45                     ` Rob Scheepens
2018-03-08 15:47                       ` Sitsofe Wheeler
2018-03-08 15:46                     ` Sitsofe Wheeler
2018-03-08 15:59                       ` Sitsofe Wheeler
2018-03-08 16:18                         ` Jens Axboe
2018-03-09 14:40                           ` Sitsofe Wheeler
2018-03-09 14:55                             ` Jens Axboe
2018-03-16  8:13                               ` Sitsofe Wheeler
2018-05-01 14:41                                 ` Rob Scheepens
2018-05-01 14:42                                   ` Jens Axboe
2018-05-01 14:58                                   ` Sitsofe Wheeler
2018-03-08 22:44                         ` Sitsofe Wheeler
2018-03-06 21:53 ` Jens Axboe
2018-03-06 22:35   ` Rebecca Cran

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CALjAwxjoTtRp1jVhfKMTcbn6wnmEmmCsjkpO7CkBgF5zj4B3Bg@mail.gmail.com \
    --to=sitsofe@gmail.com \
    --cc=fio@vger.kernel.org \
    --cc=rebecca@bluestop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.