Re: Windows test failures

2018-12-06 Thread Phyx
forgot to copy in ghc-devs.

On Fri, Dec 7, 2018 at 12:05 AM Phyx  wrote:

> Ah great,
>
> Normally an msys2 .profile will contain the following line
>
> # Set user-defined locale
> export LANG=$(locale -uU)
>
> which would attach ".UTF-8" to the user's current locale.
> I'm guessing when you run it from emacs the profile isn't loaded (probably
> because bash isn't being called with --login) or something in bashrc or
> profile is overwriting this.
>
> Setting this should bring the test failures down more.
>
> Which leaves only these tests
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/plugins/plugin-recomp-pure.run  plugin-recomp-pure [bad
> exit code] (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/plugins/plugin-recomp-impure.runplugin-recomp-impure
> [bad exit code] (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/plugins/plugin-recomp-flags.run plugin-recomp-flags [bad
> exit code] (normal)
>
> as the remaining unexplained ones.
>
> Do these still fail for you?
>
> Cheers,
> Tamar
>
>
> On Thu, Dec 6, 2018 at 11:50 PM Simon Peyton Jones 
> wrote:
>
>> Aha!   Yes, in libraries/base/tests, I find that make TEST=T3307 fails;
>> but succeeds with
>>
>>
>>
>> export LANG=en_GB.UTF-8
>>
>>
>>
>> Progress!
>>
>>
>>
>> Simon
>>
>>
>>
>> *From:* Phyx 
>> *Sent:* 06 December 2018 23:43
>> *To:* Simon Peyton Jones 
>> *Cc:* ghc-devs@haskell.org Devs 
>> *Subject:* Re: Windows test failures
>>
>>
>>
>> Hi Simon,
>>
>>
>>
>> > Does that help at all?
>>
>> >
>>
>> > I can try your “export LANG=en_GB.UTF-8” … shall I do that? Can I test
>> its efficacy by running one test rather than 6,000 of them?  In which case,
>> which one?
>>
>>
>>
>> Yes, "en_GB" doesn't seem to be a unicode locale, one test you can try to
>> check is T3307,so make TEST="T3307" -C testsuite/tests/
>>
>>
>>
>> I tried using your "en_GB" locale and the test failed for me too then.
>>
>>
>>
>> Kind regards,
>>
>> Tamar
>>
>>
>>
>> On Thu, Dec 6, 2018 at 2:17 PM Simon Peyton Jones 
>> wrote:
>>
>> Hi Tamar
>>
>>
>>
>> Thanks for working on this.
>>
>>
>>
>> if it's an msys2 shell, what does "locale" return?
>>
>>
>>
>> It’s a shell running inside emacs.  Here’s what locale returns
>>
>> /c/tmp$ locale
>>
>> LANG=en_GB
>>
>> LC_CTYPE="en_GB"
>>
>> LC_NUMERIC="en_GB"
>>
>> LC_TIME="en_GB"
>>
>> LC_COLLATE="en_GB"
>>
>> LC_MONETARY="en_GB"
>>
>> LC_MESSAGES="en_GB"
>>
>> LC_ALL=
>>
>>
>>
>> Does that help at all?
>>
>>
>>
>> I can try your “export LANG=en_GB.UTF-8” … shall I do that? Can I test
>> its efficacy by running one test rather than 6,000 of them?  In which case,
>> which one?
>>
>>
>> Thanks
>>
>>
>>
>> Simon
>>
>>
>>
>>
>>
>> *From:* Phyx 
>> *Sent:* 02 December 2018 20:43
>> *To:* Simon Peyton Jones 
>> *Cc:* ghc-devs@haskell.org Devs 
>> *Subject:* Re: Windows test failures
>>
>>
>>
>> Hi Simon,
>>
>>
>>
>> That's a bit better (still need to figure out why the recent threading
>> issues, but one problem at a time :) )
>>
>>
>>
>> From that list T10672_x64 is one I'm looking at already, seems to have
>> something to do with the libstdc++ destructors.
>>
>> Plugins 09 and 10 are the other two I know about, but haven't had time to
>> look at them yet. Frankly I know too little about plugins to make an
>> accurate determination here, but the input files are empty
>>
>> yet it expects output, so I don't know what it's supposed to do here.  If
>> someone who knows more about plugins can chime in that would save some time.
>>
>>
>>
>> The segfaulting plugin I haven't triaged yet. Now the remaining failures
>> aside from T14452 that Roland is taking care of, seem to have to do with
>> your locale in your console.  You seem to be running the
>>
>> tests in a console that has l

Re: Windows test failures

2018-12-06 Thread Phyx
Hi Roland,

Thanks for looking into thiis,

> To fix the issue on Windows, the compiler and the plugin should use the
same buffer for stdout.

I'm not convinced that they're not. I'm guessing the answer lies in why
your messages have a different
ordering, but I don't know why off the top of my head.

if the plugins use the stdout caf then it should be using the same
CharBuffer.

You can verify this by doing something like

cbuf <- readIORef haCharBuffer stdout
summaryBuffer cbuf
putStrLn $ "buffer: " ++ show cbuf

at the places you check the buffer mode.

> However I don't know whether this is possible / difficult / easy?
> What's your opinion?

On Tue, Dec 4, 2018 at 11:52 AM Roland Senn  wrote:

> Hi Tamar,
>
> WINDOWS
> ===
> On Windows I did the following changes before running the 'plugin09' test:
> 1.) In the compiler (HscMain.hs), just before calling the plugin function
> 'parsedPlugin', I set BufferMode of the file stdout to LineBuffering.
> 2.) At the same place, I write a message to stdout with the text "COMPILER
> About to call plugin parse" and the result of the buffer-mode query.
> 3.) In the plugin, in the function parsedPlugin, I query and print (to
> stdout) the buffer mode.
> 4.) I added the heading PLUGIN to the normal parse message issued by the
> parsedPlugin function
> 5.) In the compiler (HscMain.hs) just after returning from the plugin, I
> print the line "COMPILER Returning from plugin parse" to stdout.
> 6.) In the  plugin function interfaceLoadPlugin' that is called much
> later, I flush stdout, and add the heading "PLUGIN".
>
> This gives the following interesting result:
>
>  COMPILER About to call plugin parse: LineBuffering
>  COMPILER Returning from plugin parse
>  PLUGIN Buffermode: BlockBuffering Nothing
>  PLUGIN parsePlugin(a,b)
>  PLUGIN interfacePlugin: Prelude
>  ...
>
> The output lines do not appear in the sequence they were produced!!
> The plugin doesn't see/inherit the BlockBuffer mode (LineBuffering) set by
> the compiler!!
>
> This is a strong indication, that *there are two different buffers for
> stdout*. One in the compiler and another one in the plugin.
> At the end of the processing, the buffer in the compiler is automatically
> flushed, however the buffer in the plugin never gets flushed!
>
> LINUX
> =
> I did a similar test in Linux, however, here I set the buffer mode to
> 'Blockmode Nothing' and I didn't do a manual flush in the plugin. I got the
> following result:
>
>  COMPILER About to call plugin parse: Buffering mode: BlockBuffering
> Nothing
>  PLUGIN Buffering: BlockBuffering Nothing
>  PLUGIN parsePlugin(a,b)
>  COMPILER Returning from plugin parse
>  PLUGIN interfacePlugin: Prelude
>  ...
>
> Here the lines are in the same order as they were produced.
> The setting of the Buffering mode is inherited by the plugin.
>
> I think, on Linux the compiler and the plugin share the same buffer.
>
> To fix the issue on Windows, the compiler and the plugin should use the
> same buffer for stdout.
> However I don't know whether this is possible / difficult / easy?
> What's your opinion?
>
> Many thanks and kind regards
>Roland
>
> Here are my changes for Windows in code:
>
> Change in HscMain the line "import System.IO (fixIO)" to "import System.IO
> "
>
> Last lines of function HscMain.hs:hscParse'
>
> -- apply parse transformation of plugins
> let applyPluginAction p opts
>   = parsedResultAction p opts mod_summary
> liftIO $ hSetBuffering stdout LineBuffering
> mode <- liftIO $ hGetBuffering stdout
> liftIO $ putStrLn ("COMPILER About to call plugin parse: " ++
> show mode)
> rsxresult <- withPlugins dflags applyPluginAction res
> liftIO $ putStrLn "COMPILER Returning from plugin parse"
> return rsxresult
>
> New code for function SourcePlugin.hs:parsedPlugin
>
> parsedPlugin opts _ pm
>   = do
>mode <- liftIO $ hGetBuffering stdout
>liftIO $ putStrLn $ "PLUGIN Buffermode: " ++ show mode
>liftIO $ putStrLn $ "PLUGIN parsePlugin(" ++ intercalate "," opts
> ++ ")"
>return pm
>
> New code for function SourcePlugin.hs:interfaceLoadPlugin'
>
> interfaceLoadPlugin' :: [CommandLineOption] -> ModIface -> IfM lcl ModIface
> interfaceLoadPlugin' _ iface
>   = do liftIO $ putStrLn $ "PLUGIN interfacePlugin: "
>   ++ (showSDocUnsafe $ ppr $ mi_module iface)
>liftIO $ hFlush stdout
>return iface
>
>
>
> Am Dienstag, den 04.12.2018, 00:02 + schrieb Phyx:
>
> Hi Roland,
>
> Thanks for looking into these.
>
> > I looked into the testcases 'plugins09', 'plugins10' and 'plugins11' and
> found the following: GHC-Windows uses BufferMode 'BlockBuffering Nothing',
> however, GHC-Linux uses 'LineBuffering'.
>
> Ah, yes, this isn't technically a Linux vs Windows thing, GHC will always
> default to LineBuffering for terminals and BlockBuffering for anything
> else. The issue is

Re: Windows test failures

2018-12-06 Thread Phyx
Hi Simon,

> Does that help at all?

>

> I can try your “export LANG=en_GB.UTF-8” … shall I do that? Can I test
its efficacy by running one test rather than 6,000 of them?  In which case,
which one?


Yes, "en_GB" doesn't seem to be a unicode locale, one test you can try to
check is T3307,so make TEST="T3307" -C testsuite/tests/


I tried using your "en_GB" locale and the test failed for me too then.


Kind regards,

Tamar

On Thu, Dec 6, 2018 at 2:17 PM Simon Peyton Jones 
wrote:

> Hi Tamar
>
>
>
> Thanks for working on this.
>
>
>
> if it's an msys2 shell, what does "locale" return?
>
>
>
> It’s a shell running inside emacs.  Here’s what locale returns
>
> /c/tmp$ locale
>
> LANG=en_GB
>
> LC_CTYPE="en_GB"
>
> LC_NUMERIC="en_GB"
>
> LC_TIME="en_GB"
>
> LC_COLLATE="en_GB"
>
> LC_MONETARY="en_GB"
>
> LC_MESSAGES="en_GB"
>
> LC_ALL=
>
>
>
> Does that help at all?
>
>
>
> I can try your “export LANG=en_GB.UTF-8” … shall I do that? Can I test
> its efficacy by running one test rather than 6,000 of them?  In which case,
> which one?
>
>
> Thanks
>
>
>
> Simon
>
>
>
>
>
> *From:* Phyx 
> *Sent:* 02 December 2018 20:43
> *To:* Simon Peyton Jones 
> *Cc:* ghc-devs@haskell.org Devs 
> *Subject:* Re: Windows test failures
>
>
>
> Hi Simon,
>
>
>
> That's a bit better (still need to figure out why the recent threading
> issues, but one problem at a time :) )
>
>
>
> From that list T10672_x64 is one I'm looking at already, seems to have
> something to do with the libstdc++ destructors.
>
> Plugins 09 and 10 are the other two I know about, but haven't had time to
> look at them yet. Frankly I know too little about plugins to make an
> accurate determination here, but the input files are empty
>
> yet it expects output, so I don't know what it's supposed to do here.  If
> someone who knows more about plugins can chime in that would save some time.
>
>
>
> The segfaulting plugin I haven't triaged yet. Now the remaining failures
> aside from T14452 that Roland is taking care of, seem to have to do with
> your locale in your console.  You seem to be running the
>
> tests in a console that has latin-1 locale? So some unicode characters
> fail encoding/decoding.
>
>
>
> If it's a Windows shell you can change it to utf-8 using "chcp 65001", if
> it's an msys2 shell, what does "locale" return?
>
>
>
> For reference mine is
>
>
>
> $ locale
> LANG=en_GB.UTF-8
> LC_CTYPE="en_GB.UTF-8"
> LC_NUMERIC="en_GB.UTF-8"
> LC_TIME="en_GB.UTF-8"
> LC_COLLATE="en_GB.UTF-8"
> LC_MONETARY="en_GB.UTF-8"
> LC_MESSAGES="en_GB.UTF-8"
> LC_ALL=
>
>
>
> If it does say latin1 you can change it with
>
>
>
> export LANG=en_GB.UTF-8
>
>
>
> This should fix more of the tests.
>
>
>
> The reason I don't mark the remaining tests as expect fail yet is because
> I haven't had the time to triage them, so I don't know their severity and
>
> last time there were a few nasty issues hidden in them.
>
>
>
> Unfortunately I won't have time to look at them till next weekend.
>
>
>
> Thanks,
>
> Tamar
>
>
>
> On Fri, Nov 30, 2018 at 9:49 PM Simon Peyton Jones 
> wrote:
>
> At the end of the first test run it would have given a list of tests that
> failed and a line saying TEST=" List of tests..."
>
>
>
> Copy that line and at the root of the checkout do
>
>
>
> make TEST=" List of tests..."  test -C testsuite/tests
>
>
>
> (that's uppercase C). This will run everything using one thread. :)
>
>
>
> OK, done.  Results below.
>
>
>
> Simon
>
>
>
>
>
> /c/code/HEAD$ make TEST="T10420 T10672_x64 T13385 T14452 T15815 T3307
> T3319 T4006 TH_scopedTvs environment001 plugin-recomp-change
> plugin-recomp-flags plugin-recomp-impure plugin-recomp-pure plugins07
> plugins09 plugins10 plugins11 plugins13 plugins14 print017"  test -C
> testsuite/tests
>
> make: Entering directory '/c/code/HEAD/testsuite/tests'
>
> PYTHON="python3" "python3" ../driver/runtests.py  -e
> "ghc_compiler_always_flags='-dcore-lint -dcmm-lint -no-user-package-db
> -rtsopts  -fno-warn-missed-specialisations -fshow-warning-groups
> -fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat
> -dno-debug-output'&

RE: Windows test failures

2018-12-06 Thread Simon Peyton Jones via ghc-devs
Hi Tamar

Thanks for working on this.

if it's an msys2 shell, what does "locale" return?

It’s a shell running inside emacs.  Here’s what locale returns

/c/tmp$ locale

LANG=en_GB

LC_CTYPE="en_GB"

LC_NUMERIC="en_GB"

LC_TIME="en_GB"

LC_COLLATE="en_GB"

LC_MONETARY="en_GB"

LC_MESSAGES="en_GB"

LC_ALL=

Does that help at all?

I can try your “export LANG=en_GB.UTF-8” … shall I do that? Can I test its 
efficacy by running one test rather than 6,000 of them?  In which case, which 
one?

Thanks

Simon


From: Phyx 
Sent: 02 December 2018 20:43
To: Simon Peyton Jones 
Cc: ghc-devs@haskell.org Devs 
Subject: Re: Windows test failures

Hi Simon,

That's a bit better (still need to figure out why the recent threading issues, 
but one problem at a time :) )

From that list T10672_x64 is one I'm looking at already, seems to have 
something to do with the libstdc++ destructors.
Plugins 09 and 10 are the other two I know about, but haven't had time to look 
at them yet. Frankly I know too little about plugins to make an accurate 
determination here, but the input files are empty
yet it expects output, so I don't know what it's supposed to do here.  If 
someone who knows more about plugins can chime in that would save some time.

The segfaulting plugin I haven't triaged yet. Now the remaining failures aside 
from T14452 that Roland is taking care of, seem to have to do with your locale 
in your console.  You seem to be running the
tests in a console that has latin-1 locale? So some unicode characters fail 
encoding/decoding.

If it's a Windows shell you can change it to utf-8 using "chcp 65001", if it's 
an msys2 shell, what does "locale" return?

For reference mine is

$ locale
LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_ALL=

If it does say latin1 you can change it with

export LANG=en_GB.UTF-8

This should fix more of the tests.

The reason I don't mark the remaining tests as expect fail yet is because I 
haven't had the time to triage them, so I don't know their severity and
last time there were a few nasty issues hidden in them.

Unfortunately I won't have time to look at them till next weekend.

Thanks,
Tamar

On Fri, Nov 30, 2018 at 9:49 PM Simon Peyton Jones 
mailto:simo...@microsoft.com>> wrote:
At the end of the first test run it would have given a list of tests that 
failed and a line saying TEST=" List of tests..."

Copy that line and at the root of the checkout do

make TEST=" List of tests..."  test -C testsuite/tests

(that's uppercase C). This will run everything using one thread. :)

OK, done.  Results below.

Simon



/c/code/HEAD$ make TEST="T10420 T10672_x64 T13385 T14452 T15815 T3307 T3319 
T4006 TH_scopedTvs environment001 plugin-recomp-change plugin-recomp-flags 
plugin-recomp-impure plugin-recomp-pure plugins07 plugins09 plugins10 plugins11 
plugins13 plugins14 print017"  test -C testsuite/tests

make: Entering directory '/c/code/HEAD/testsuite/tests'

PYTHON="python3" "python3" ../driver/runtests.py  -e 
"ghc_compiler_always_flags='-dcore-lint -dcmm-lint -no-user-package-db -rtsopts 
 -fno-warn-missed-specialisations -fshow-warning-groups 
-fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat 
-dno-debug-output'" -e config.compiler_debugged=False -e 
ghc_with_native_codegen=True -e config.have_vanilla=True -e 
config.have_dynamic=False -e config.have_profiling=False -e 
ghc_with_threaded_rts=True -e ghc_with_dynamic_rts=False -e 
config.have_interp=True -e config.unregisterised=False -e config.have_gdb=False 
-e config.have_readelf=True -e config.ghc_dynamic_by_default=False -e 
config.ghc_dynamic=False -e ghc_with_smp=True -e ghc_with_llvm=False -e 
windows=True -e darwin=False -e config.in_tree_compiler=True -e 
config.cleanup=True -e config.local=True --rootdir=. 
--config-file=../config/ghc -e 'config.platform="x86_64-unknown-mingw32"' -e 
'config.os="mingw32"' -e 'config.arch="x86_64"' -e 'config.wordsize="64"' -e 
'config.timeout=int() or config.timeout' -e 'config.exeext=".exe"' -e 
'config.top="/c/code/HEAD/testsuite"' --config 
'compiler="/c/code/HEAD/inplace/bin/ghc-stage2.exe"' --config 
'ghc_pkg="/c/code/HEAD/inplace/bin/ghc-pkg.exe"' --config 'haddock=' --config 
'hp2ps="/c/code/HEAD/inplace/bin/hp2ps.exe"' --config 
'hpc="/c/code/HEAD/inplace/bin/hpc.exe"' --config 'gs="gs"' --config 

Re: Windows test failures

2018-12-04 Thread Roland Senn
Hi Tamar,
WINDOWS===On Windows I did the following changes before running the
'plugin09' test: 1.) In the compiler (HscMain.hs), just before calling
the plugin function 'parsedPlugin', I set BufferMode of the file stdout
to LineBuffering. 2.) At the same place, I write a message to stdout
with the text "COMPILER About to call plugin parse" and the result of
the buffer-mode query. 3.) In the plugin, in the function parsedPlugin,
I query and print (to stdout) the buffer mode. 4.) I added the heading
PLUGIN to the normal parse message issued by the parsedPlugin function
5.) In the compiler (HscMain.hs) just after returning from the plugin,
I print the line "COMPILER Returning from plugin parse" to stdout. 6.)
In the  plugin function interfaceLoadPlugin' that is called much later,
I flush stdout, and add the heading "PLUGIN".
This gives the following interesting result:
 COMPILER About to call plugin parse: LineBuffering COMPILER Returning
from plugin parse PLUGIN Buffermode: BlockBuffering Nothing PLUGIN
parsePlugin(a,b) PLUGIN interfacePlugin: Prelude ...
The output lines do not appear in the sequence they were produced!!The
plugin doesn't see/inherit the BlockBuffer mode (LineBuffering) set by
the compiler!!
This is a strong indication, that there are two different buffers for
stdout. One in the compiler and another one in the plugin.At the end of
the processing, the buffer in the compiler is automatically flushed,
however the buffer in the plugin never gets flushed!
LINUX=I did a similar test in Linux, however, here I set the buffer
mode to 'Blockmode Nothing' and I didn't do a manual flush in the
plugin. I got the following result:
 COMPILER About to call plugin parse: Buffering mode: BlockBuffering
Nothing PLUGIN Buffering: BlockBuffering Nothing PLUGIN
parsePlugin(a,b) COMPILER Returning from plugin parse PLUGIN
interfacePlugin: Prelude ...
Here the lines are in the same order as they were produced.The setting
of the Buffering mode is inherited by the plugin.
I think, on Linux the compiler and the plugin share the same buffer.
To fix the issue on Windows, the compiler and the plugin should use the
same buffer for stdout.However I don't know whether this is possible /
difficult / easy?What's your opinion?
Many thanks and kind regards   Roland
Here are my changes for Windows in code:
Change in HscMain the line "import System.IO (fixIO)" to "import
System.IO"
Last lines of function HscMain.hs:hscParse'
-- apply parse transformation of pluginslet
applyPluginAction p opts  = parsedResultAction p opts
mod_summaryliftIO $ hSetBuffering stdout
LineBufferingmode <- liftIO $ hGetBuffering
stdoutliftIO $ putStrLn ("COMPILER About to call plugin
parse: " ++ show mode)rsxresult <- withPlugins dflags
applyPluginAction resliftIO $ putStrLn "COMPILER Returning
from plugin parse"return rsxresult
New code for function SourcePlugin.hs:parsedPlugin
parsedPlugin opts _ pm  = do   mode <- liftIO $ hGetBuffering
stdout   liftIO $ putStrLn $ "PLUGIN Buffermode: " ++ show
mode   liftIO $ putStrLn $ "PLUGIN parsePlugin(" ++ intercalate ","
opts ++ ")"   return pm
New code for function SourcePlugin.hs:interfaceLoadPlugin'
interfaceLoadPlugin' :: [CommandLineOption] -> ModIface -> IfM lcl
ModIfaceinterfaceLoadPlugin' _ iface  = do liftIO $ putStrLn $ "PLUGIN
interfacePlugin: "  ++ (showSDocUnsafe $
ppr $ mi_module iface)   liftIO $ hFlush stdout   return iface


Am Dienstag, den 04.12.2018, 00:02 + schrieb Phyx:
> Hi Roland,
> 
> Thanks for looking into these.
> 
> > 
> I looked into the testcases 'plugins09', 'plugins10' and 'plugins11'
> and
>  found the following: GHC-Windows uses BufferMode 'BlockBuffering 
> Nothing', however, GHC-Linux uses 'LineBuffering'. 
> 
> Ah, yes, this isn't technically a Linux vs Windows thing, GHC will
> always default to LineBuffering for terminals and BlockBuffering for
> anything else. The issue is that msys2 terminals have std handles
> that are backed by files instead of pipes. This is an artifact of how
> they try to emulate posix shells, See https://github.com/msys2/msys2/
> wiki/Porting#standard-streams-in-mintty.  
> This means that when GHC runs inside an msys2 program such as bash
> it'll always default to BlockBuffering.
> 
> 
> 
> > 
> I don't know anything about the "Why" and "Where" in the GHC IO
> module on Windows, so I'm unable to come up with a patch. 
> 
> The above said the handles should be getting flushed when the
> finalizers are run, but these aren't 100% guaranteed so if the tests
> rely on this then your solution (to force buffer mode to
> LineBuffering) sounds like perfectly adequate.  Could you put a patch
> up with that?
> 
> My new I/O manager takes a different approach to determine the buffer
> mode, but I still have some kinks to work out before posting it.
> 
> > 
> PS: I can't say anything a

Re: Windows test failures

2018-12-03 Thread Phyx
Hi Roland,

Thanks for looking into these.

> I looked into the testcases 'plugins09', 'plugins10' and 'plugins11' and
found the following: GHC-Windows uses BufferMode 'BlockBuffering Nothing',
however, GHC-Linux uses 'LineBuffering'.

Ah, yes, this isn't technically a Linux vs Windows thing, GHC will always
default to LineBuffering for terminals and BlockBuffering for anything
else. The issue is that msys2 terminals have std handles that are backed by
files instead of pipes. This is an artifact of how they try to emulate
posix shells, See
https://github.com/msys2/msys2/wiki/Porting#standard-streams-in-mintty.
This means that when GHC runs inside an msys2 program such as bash it'll
always default to BlockBuffering.

> I don't know anything about the "Why" and "Where" in the GHC IO module on
Windows, so I'm unable to come up with a patch.

The above said the handles should be getting flushed when the finalizers
are run, but these aren't 100% guaranteed so if the tests rely on this then
your solution (to force buffer mode to LineBuffering) sounds like perfectly
adequate.  Could you put a patch up with that?

My new I/O manager takes a different approach to determine the buffer mode,
but I still have some kinks to work out before posting it.

> PS: I can't say anything about the tests 'plugin-recomp-pure' and
'plugin-recomp-impure' as these tests run successfully on my (slow) Windows
box.

These don't fail for me or harbormaster either, so if Simon is able to
consistently reproduce these then I'll have to ask him for a core dump so I
can take a look.

Thanks again,
I appreciate the help!

Regards,
Tamar

On Mon, Dec 3, 2018 at 3:34 PM Roland Senn  wrote:

> Hi Tamar,
>
> I looked into the testcases 'plugins09', 'plugins10' and 'plugins11' and
> found the following: GHC-Windows uses BufferMode 'BlockBuffering Nothing',
> however, GHC-Linux uses 'LineBuffering'.
>
> If I add an 'import System.IO' and the line 'liftIO $ hSetBuffering stdout
> LineBuffer' as first line in the do block of the function
> '.../testuite/tests/plugins/simple-plugin/Simple/SourcePlugin.hs:parsedPlugin'
> then all 3 tests pass successfully on Windows!
>
> I don't know anything about the "Why" and "Where" in the GHC IO module on
> Windows, so I'm unable to come up with a patch.
>
> Regards
>Roland
>
> PS: I can't say anything about the tests 'plugin-recomp-pure' and
> 'plugin-recomp-impure' as these tests run successfully on my (slow) Windows
> box.
>
> Am Sonntag, den 02.12.2018, 20:42 + schrieb Phyx:
>
> Hi Simon,
>
> That's a bit better (still need to figure out why the recent threading
> issues, but one problem at a time :) )
>
> From that list T10672_x64 is one I'm looking at already, seems to have
> something to do with the libstdc++ destructors.
> Plugins 09 and 10 are the other two I know about, but haven't had time to
> look at them yet. Frankly I know too little about plugins to make an
> accurate determination here, but the input files are empty
> yet it expects output, so I don't know what it's supposed to do here.  If
> someone who knows more about plugins can chime in that would save some time.
>
> The segfaulting plugin I haven't triaged yet. Now the remaining failures
> aside from T14452 that Roland is taking care of, seem to have to do with
> your locale in your console.  You seem to be running the
> tests in a console that has latin-1 locale? So some unicode characters
> fail encoding/decoding.
>
> If it's a Windows shell you can change it to utf-8 using "chcp 65001", if
> it's an msys2 shell, what does "locale" return?
>
> For reference mine is
>
> $ locale
> LANG=en_GB.UTF-8
> LC_CTYPE="en_GB.UTF-8"
> LC_NUMERIC="en_GB.UTF-8"
> LC_TIME="en_GB.UTF-8"
> LC_COLLATE="en_GB.UTF-8"
> LC_MONETARY="en_GB.UTF-8"
> LC_MESSAGES="en_GB.UTF-8"
> LC_ALL=
>
> If it does say latin1 you can change it with
>
> export LANG=en_GB.UTF-8
>
> This should fix more of the tests.
>
> The reason I don't mark the remaining tests as expect fail yet is because
> I haven't had the time to triage them, so I don't know their severity and
> last time there were a few nasty issues hidden in them.
>
> Unfortunately I won't have time to look at them till next weekend.
>
> Thanks,
> Tamar
>
>
>
___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


Re: Windows test failures

2018-12-03 Thread Roland Senn
Hi Tamar,
I looked into the testcases 'plugins09', 'plugins10' and 'plugins11'
and found the following: GHC-Windows uses BufferMode 'BlockBuffering
Nothing', however, GHC-Linux uses 'LineBuffering'.
If I add an 'import System.IO' and the line 'liftIO $ hSetBuffering
stdout LineBuffer' as first line in the do block of the function
'.../testuite/tests/plugins/simple-
plugin/Simple/SourcePlugin.hs:parsedPlugin' then all 3 tests pass
successfully on Windows!
I don't know anything about the "Why" and "Where" in the GHC IO module
on Windows, so I'm unable to come up with a patch.
Regards   Roland
PS: I can't say anything about the tests 'plugin-recomp-pure' and
'plugin-recomp-impure' as these tests run successfully on my (slow)
Windows box.
Am Sonntag, den 02.12.2018, 20:42 + schrieb Phyx:
> Hi Simon,
> 
> That's a bit better (still need to figure out why the recent
> threading issues, but one problem at a time :) )
> 
> From that list T10672_x64 is one I'm looking at already, seems to
> have something to do with the libstdc++ destructors.
> Plugins 09 and 10 are the other two I know about, but haven't had
> time to look at them yet. Frankly I know too little about plugins to
> make an accurate determination here, but the input files are empty
> yet it expects output, so I don't know what it's supposed to do
> here.  If someone who knows more about plugins can chime in that
> would save some time.
> 
> The segfaulting plugin I haven't triaged yet. Now the remaining
> failures aside from T14452 that Roland is taking care of, seem to
> have to do with your locale in your console.  You seem to be running
> the
> tests in a console that has latin-1 locale? So some unicode
> characters fail encoding/decoding.
> 
> If it's a Windows shell you can change it to utf-8 using "chcp 
> 65001", if it's an msys2 shell, what does "locale" return?
> 
> For reference mine is
> 
> $ locale
> LANG=en_GB.UTF-8
> LC_CTYPE="en_GB.UTF-8"
> LC_NUMERIC="en_GB.UTF-8"
> LC_TIME="en_GB.UTF-8"
> LC_COLLATE="en_GB.UTF-8"
> LC_MONETARY="en_GB.UTF-8"
> LC_MESSAGES="en_GB.UTF-8"
> LC_ALL=
> 
> If it does say latin1 you can change it with
> 
> export 
> LANG=en_GB.UTF-8 
> 
> This should fix more of the tests.
> 
> The reason I don't mark the remaining tests as expect fail yet is
> because I haven't had the time to triage them, so I don't know their
> severity and
> last time there were a few nasty issues hidden in them.
> 
> Unfortunately I won't have time to look at them till next weekend.
> 
> Thanks,
> Tamar
> 
> 
> ___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


Re: Windows test failures

2018-12-02 Thread Phyx
recomp-pure(normal) 19 of 21 [0, 7, 1]
>
> cd "plugins/plugin-recomp-pure.run" && $MAKE -s --no-print-directory -C
> plugin-recomp package.plugins01 TOP=/c/code/HEAD/testsuite
>
> cd "plugins/plugin-recomp-pure.run" && $MAKE -s --no-print-directory
> plugin-recomp-pure
>
> Timeout happened...killed process "cd "plugins/plugin-recomp-pure.run" &&
> $MAKE -s --no-print-directory plugin-recomp-pure  "...
>
>
>
> Wrong exit code for plugin-recomp-pure()(expected 0 , actual 99 )
>
> Stdout ( plugin-recomp-pure ):
>
> [1 of 1] Compiling Main ( plugin-recomp-test.hs,
> plugin-recomp-test.o )
>
> Stderr ( plugin-recomp-pure ):
>
> Simple Plugin Passes Queried
>
> Got options:
>
> Simple Plugin Pass Run
>
> *** unexpected failure for plugin-recomp-pure(normal)
>
> => plugin-recomp-impure(normal) 20 of 21 [0, 8, 1]
>
> cd "plugins/plugin-recomp-impure.run" && $MAKE -s --no-print-directory -C
> plugin-recomp package.plugins01 TOP=/c/code/HEAD/testsuite
>
> cd "plugins/plugin-recomp-impure.run" && $MAKE -s --no-print-directory
> plugin-recomp-impure
>
> Wrong exit code for plugin-recomp-impure()(expected 0 , actual 2 )
>
> Stdout ( plugin-recomp-impure ):
>
> [1 of 1] Compiling Main ( plugin-recomp-test.hs,
> plugin-recomp-test.o )
>
> Linking plugin-recomp-test.exe ...
>
> [1 of 1] Compiling Main ( plugin-recomp-test.hs,
> plugin-recomp-test.o ) [Plugin forced recompilation]
>
> Stderr ( plugin-recomp-impure ):
>
> Simple Plugin Passes Queried
>
> Got options:
>
> Simple Plugin Pass Run
>
> Simple Plugin Passes Queried
>
> Access violation in generated code when reading 0xa824
>
>
>
> Attempting to reconstruct a stack trace...
>
>
>
>Frame Code address
>
> * 0x49adab0 0x1eb49ec C:\code\HEAD\inplace\bin\ghc-stage2.exe+0x1ab49ec
>
>
>
> make[1]: *** [Makefile:99: plugin-recomp-impure] Error 11
>
> *** unexpected failure for plugin-recomp-impure(normal)
>
> => plugin-recomp-flags(normal) 21 of 21 [0, 9, 1]
>
> cd "plugins/plugin-recomp-flags.run" && $MAKE -s --no-print-directory -C
> plugin-recomp package.plugins01 TOP=/c/code/HEAD/testsuite
>
> cd "plugins/plugin-recomp-flags.run" && $MAKE -s --no-print-directory
> plugin-recomp-flags
>
> Traceback (most recent call last):
>
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 824, in
> test_common_work
>
> do_test(name, way, func, args, files)
>
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 910, in do_test
>
> result = func(*[name,way] + args)
>
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 993, in run_command
>
> return simple_run( name, '', override_options(cmd), '' )
>
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 1338, in simple_run
>
> dump_stderr(name)
>
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 1501, in
> dump_stderr
>
> print(str)
>
> UnicodeEncodeError: 'latin-1' codec can't encode characters in position
> 24-25: ordinal not in range(256)
>
>
>
> Unexpected results from:
>
> TEST="T10672_x64 T14452 T3307 T4006 environment001 plugin-recomp-impure
> plugin-recomp-pure plugins09 plugins10 plugins11"
>
>
>
> SUMMARY for test run started at Fri Nov 30 21:07:17 2018 GMTST
>
> 0:26:45 spent to go through
>
>   21 total tests, which gave rise to
>
>   36 test cases, of which
>
>   11 were skipped
>
>
>
>0 had missing libraries
>
>   15 expected passes
>
>0 expected failures
>
>
>
>1 caused framework failures
>
>0 caused framework warnings
>
>0 unexpected passes
>
>9 unexpected failures
>
>0 unexpected stat failures
>
>
>
> Unexpected failures:
>
>driver/T14452.run   T14452 [bad stdout] (normal)
>
>rts/T10672/T10672_x64.run   T10672_x64 [bad exit code]
> (normal)
>
>libraries/base/tests/T4006.run  T4006 [bad stdout] (normal)
>
>libraries/base/tests/IO/environment001.run  environment001 [bad stdout]
> (normal)
>
>plugins/plugins09.run   plugins09 [bad stdout]
> (normal)
>
>plugins/plugins10.run   plugins10 [bad stdout]
> (normal)
>
>plugins/plugins11.run   plugins11 [bad exit code]
> (normal)

Re: Windows test failures

2018-12-02 Thread Phyx
gt;
> cd "plugins/plugins11.run" && $MAKE -s --no-print-directory -C
> simple-plugin package.plugins11 TOP=/c/code/HEAD/testsuite
>
> cd "plugins/plugins11.run" && $MAKE -s --no-print-directory plugins11
>
> Timeout happened...killed process "cd "plugins/plugins11.run" && $MAKE -s
> --no-print-directory plugins11  "...
>
>
>
> Wrong exit code for plugins11()(expected 0 , actual 99 )
>
> *** unexpected failure for plugins11(normal)
>
> => plugins13(normal) 16 of 21 [0, 7, 1]
>
> cd "plugins/plugins13.run" && $MAKE -s --no-print-directory -C
> simple-plugin package.plugins13 TOP=/c/code/HEAD/testsuite
>
> cd "plugins/plugins13.run" && $MAKE -s --no-print-directory plugins13
>
> => plugins14(normal) 17 of 21 [0, 7, 1]
>
> cd "plugins/plugins14.run" && $MAKE -s --no-print-directory -C
> simple-plugin package.plugins14 TOP=/c/code/HEAD/testsuite
>
> cd "plugins/plugins14.run" && $MAKE -s --no-print-directory plugins14
>
> => T10420(normal) 18 of 21 [0, 7, 1]
>
> cd "plugins/T10420.run" && $MAKE -s --no-print-directory -C
> rule-defining-plugin package.T10420 TOP=/c/code/HEAD/testsuite
>
> cd "plugins/T10420.run" && $MAKE -s --no-print-directory T10420
>
> => plugin-recomp-pure(normal) 19 of 21 [0, 7, 1]
>
> cd "plugins/plugin-recomp-pure.run" && $MAKE -s --no-print-directory -C
> plugin-recomp package.plugins01 TOP=/c/code/HEAD/testsuite
>
> cd "plugins/plugin-recomp-pure.run" && $MAKE -s --no-print-directory
> plugin-recomp-pure
>
> Timeout happened...killed process "cd "plugins/plugin-recomp-pure.run" &&
> $MAKE -s --no-print-directory plugin-recomp-pure  "...
>
>
>
> Wrong exit code for plugin-recomp-pure()(expected 0 , actual 99 )
>
> Stdout ( plugin-recomp-pure ):
>
> [1 of 1] Compiling Main ( plugin-recomp-test.hs,
> plugin-recomp-test.o )
>
> Stderr ( plugin-recomp-pure ):
>
> Simple Plugin Passes Queried
>
> Got options:
>
> Simple Plugin Pass Run
>
> *** unexpected failure for plugin-recomp-pure(normal)
>
> => plugin-recomp-impure(normal) 20 of 21 [0, 8, 1]
>
> cd "plugins/plugin-recomp-impure.run" && $MAKE -s --no-print-directory -C
> plugin-recomp package.plugins01 TOP=/c/code/HEAD/testsuite
>
> cd "plugins/plugin-recomp-impure.run" && $MAKE -s --no-print-directory
> plugin-recomp-impure
>
> Wrong exit code for plugin-recomp-impure()(expected 0 , actual 2 )
>
> Stdout ( plugin-recomp-impure ):
>
> [1 of 1] Compiling Main ( plugin-recomp-test.hs,
> plugin-recomp-test.o )
>
> Linking plugin-recomp-test.exe ...
>
> [1 of 1] Compiling Main ( plugin-recomp-test.hs,
> plugin-recomp-test.o ) [Plugin forced recompilation]
>
> Stderr ( plugin-recomp-impure ):
>
> Simple Plugin Passes Queried
>
> Got options:
>
> Simple Plugin Pass Run
>
> Simple Plugin Passes Queried
>
> Access violation in generated code when reading 0xa824
>
>
>
> Attempting to reconstruct a stack trace...
>
>
>
>Frame Code address
>
> * 0x49adab0 0x1eb49ec C:\code\HEAD\inplace\bin\ghc-stage2.exe+0x1ab49ec
>
>
>
> make[1]: *** [Makefile:99: plugin-recomp-impure] Error 11
>
> *** unexpected failure for plugin-recomp-impure(normal)
>
> => plugin-recomp-flags(normal) 21 of 21 [0, 9, 1]
>
> cd "plugins/plugin-recomp-flags.run" && $MAKE -s --no-print-directory -C
> plugin-recomp package.plugins01 TOP=/c/code/HEAD/testsuite
>
> cd "plugins/plugin-recomp-flags.run" && $MAKE -s --no-print-directory
> plugin-recomp-flags
>
> Traceback (most recent call last):
>
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 824, in
> test_common_work
>
> do_test(name, way, func, args, files)
>
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 910, in do_test
>
> result = func(*[name,way] + args)
>
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 993, in run_command
>
> return simple_run( name, '', override_options(cmd), '' )
>
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 1338, in simple_run
>
> dump_stderr(name)
>
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 1501, in
> dump_stderr
>
> print(str)
>
> UnicodeEncodeError: 'latin-1' codec can't encode characters in position
> 24-25: ordinal not in r

Re: Windows test failures

2018-11-30 Thread Roland Senn
    ( plugin-recomp-test.hs, plugin-
> recomp-test.o )
> Stderr ( plugin-recomp-pure ):
> Simple Plugin Passes Queried
> Got options: 
> Simple Plugin Pass Run
> *** unexpected failure for plugin-recomp-pure(normal)
> => plugin-recomp-impure(normal) 20 of 21 [0, 8, 1]
> cd "plugins/plugin-recomp-impure.run" && $MAKE -s --no-print-
> directory -C plugin-recomp package.plugins01
> TOP=/c/code/HEAD/testsuite
> cd "plugins/plugin-recomp-impure.run" && $MAKE -s --no-print-
> directory plugin-recomp-impure 
> 
> Wrong exit code for plugin-recomp-impure()(expected 0 , actual 2 )
> Stdout ( plugin-recomp-impure ):
> [1 of 1] Compiling Main ( plugin-recomp-test.hs, plugin-
> recomp-test.o )
> Linking plugin-recomp-test.exe ...
> [1 of 1] Compiling Main ( plugin-recomp-test.hs, plugin-
> recomp-test.o ) [Plugin forced recompilation]
> Stderr ( plugin-recomp-impure ):
> Simple Plugin Passes Queried
> Got options: 
> Simple Plugin Pass Run
> Simple Plugin Passes Queried
> Access violation in generated code when reading 0xa824
>  
> Attempting to reconstruct a stack trace...
>  
>    Frame Code address
> * 0x49adab0 0x1eb49ec C:\code\HEAD\inplace\bin\ghc-
> stage2.exe+0x1ab49ec
>  
> make[1]: *** [Makefile:99: plugin-recomp-impure] Error 11
> *** unexpected failure for plugin-recomp-impure(normal)
> => plugin-recomp-flags(normal) 21 of 21 [0, 9, 1]
> cd "plugins/plugin-recomp-flags.run" && $MAKE -s --no-print-directory 
> -C plugin-recomp package.plugins01 TOP=/c/code/HEAD/testsuite
> cd "plugins/plugin-recomp-flags.run" && $MAKE -s --no-print-directory 
> plugin-recomp-flags 
> 
> Traceback (most recent call last):
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 824, in
> test_common_work
>     do_test(name, way, func, args, files)
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 910, in
> do_test
>     result = func(*[name,way] + args)
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 993, in
> run_command
>     return simple_run( name, '', override_options(cmd), '' )
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 1338, in
> simple_run
>     dump_stderr(name)
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 1501, in
> dump_stderr
>     print(str)
> UnicodeEncodeError: 'latin-1' codec can't encode characters in
> position 24-25: ordinal not in range(256)
>  
> Unexpected results from:
> TEST="T10672_x64 T14452 T3307 T4006 environment001 plugin-recomp-
> impure plugin-recomp-pure plugins09 plugins10 plugins11"
>  
> SUMMARY for test run started at Fri Nov 30 21:07:17 2018 GMTST
> 0:26:45 spent to go through
>   21 total tests, which gave rise to
>   36 test cases, of which
>   11 were skipped
>  
>    0 had missing libraries
>   15 expected passes
>    0 expected failures
>  
>    1 caused framework failures
>    0 caused framework warnings
>    0 unexpected passes
>    9 unexpected failures
>    0 unexpected stat failures
>  
> Unexpected failures:
>    driver/T14452.run   T14452 [bad stdout]
> (normal)
>    rts/T10672/T10672_x64.run   T10672_x64 [bad exit
> code] (normal)
>    libraries/base/tests/T4006.run  T4006 [bad stdout]
> (normal)
>    libraries/base/tests/IO/environment001.run  environment001 [bad
> stdout] (normal)
>    plugins/plugins09.run   plugins09 [bad stdout]
> (normal)
>    plugins/plugins10.run   plugins10 [bad stdout]
> (normal)
>    plugins/plugins11.run   plugins11 [bad exit
> code] (normal)
>    plugins/plugin-recomp-pure.run  plugin-recomp-pure
> [bad exit code] (normal)
>    plugins/plugin-recomp-impure.run    plugin-recomp-impure
> [bad exit code] (normal)
>  
> Framework failures:
>    libraries/base/tests/IO/T3307.run  T3307 [normal] ('latin-1' codec
> can't encode characters in position 24-25: ordinal not in range(256))
>  
> Appending 0 stats to git notes.
> make: *** [../mk/test.mk:342: test] Error 1
> make: Leaving directory '/c/code/HEAD/testsuite/tests'
> /c/code/HEAD$
>  
>  
> 
> 
> 
> From: Phyx 
> 
> 
> Sent: 30 November 2018 11:58
> 
> To: Simon Peyton Jones 
> 
> Subject: Re: Windows test failures
> 
> 
>  
> At the end of the first test run it would have given a list of tests
> that failed and a line saying TEST=" List of tests..."
> 
>  

RE: Windows test failures

2018-11-30 Thread Simon Peyton Jones via ghc-devs
ame, '', override_options(cmd), '' )

  File "/c/code/HEAD/testsuite/driver/testlib.py", line 1338, in simple_run

dump_stderr(name)

  File "/c/code/HEAD/testsuite/driver/testlib.py", line 1501, in dump_stderr

print(str)

UnicodeEncodeError: 'latin-1' codec can't encode characters in position 24-25: 
ordinal not in range(256)



Unexpected results from:

TEST="T10672_x64 T14452 T3307 T4006 environment001 plugin-recomp-impure 
plugin-recomp-pure plugins09 plugins10 plugins11"



SUMMARY for test run started at Fri Nov 30 21:07:17 2018 GMTST

0:26:45 spent to go through

  21 total tests, which gave rise to

  36 test cases, of which

  11 were skipped



   0 had missing libraries

  15 expected passes

   0 expected failures



   1 caused framework failures

   0 caused framework warnings

   0 unexpected passes

   9 unexpected failures

   0 unexpected stat failures



Unexpected failures:

   driver/T14452.run   T14452 [bad stdout] (normal)

   rts/T10672/T10672_x64.run   T10672_x64 [bad exit code] 
(normal)

   libraries/base/tests/T4006.run  T4006 [bad stdout] (normal)

   libraries/base/tests/IO/environment001.run  environment001 [bad stdout] 
(normal)

   plugins/plugins09.run   plugins09 [bad stdout] (normal)

   plugins/plugins10.run   plugins10 [bad stdout] (normal)

   plugins/plugins11.run   plugins11 [bad exit code] 
(normal)

   plugins/plugin-recomp-pure.run  plugin-recomp-pure [bad exit 
code] (normal)

   plugins/plugin-recomp-impure.runplugin-recomp-impure [bad exit 
code] (normal)



Framework failures:

   libraries/base/tests/IO/T3307.run  T3307 [normal] ('latin-1' codec can't 
encode characters in position 24-25: ordinal not in range(256))



Appending 0 stats to git notes.

make: *** [../mk/test.mk:342: test] Error 1

make: Leaving directory '/c/code/HEAD/testsuite/tests'

/c/code/HEAD$




From: Phyx 
Sent: 30 November 2018 11:58
To: Simon Peyton Jones 
Subject: Re: Windows test failures

At the end of the first test run it would have given a list of tests that 
failed and a line saying TEST=" List of tests..."

Copy that line and at the root of the checkout do

make TEST=" List of tests..."  test -C testsuite/tests

(that's uppercase C). This will run everything using one thread. :)

Should give a good starting point as to what's wrong.

Kind regards,
Tamar
On Fri, Nov 30, 2018, 10:30 Simon Peyton Jones 
mailto:simo...@microsoft.com>> wrote:
So I just say
   make TEST
is that right?

Or is it
   make THREADS=1

or what?  Sorry to be dim

From: Phyx mailto:loneti...@gmail.com>>
Sent: 30 November 2018 08:05
To: Simon Peyton Jones mailto:simo...@microsoft.com>>
Cc: ghc-devs mailto:ghc-devs@haskell.org>>
Subject: Re: Windows test failures

Hi Simon,

Could you try rerunning those failing tests with make TEST? No threads? I have 
been trying to clean up the testsuite and there should be only 3 failing tests, 
two plugin tests with bad stdout and T10672_x64 which I am looking into.

I have however noticed that the testsuite has become increasingly unstable 
under threads for some reason.

I also haven't run trunk yet since last week so they could be new..

But rerunning the fails with no threads should give a better idea.

Regards,
Tamar
On Fri, Nov 30, 2018, 07:46 Simon Peyton Jones via ghc-devs 
mailto:ghc-devs@haskell.org>> wrote:
Ben, Phyx, and other CI folk
‘sh validate –fast’ still gives a lot of failures on Window.  The output is 
below. I would be so good to get this to zero!
(another minor thing is that it would be great to eliminate the long path at 
the beginning – this is platform independent – I have to delete manually many 
times each day.
Thanks
Simon

Unexpected passes:

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/rts/T9405.run  T9405 [unexpected] (normal)



Unexpected failures:

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/driver/T14452.run   T14452 [bad stdout] (normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci/linking/ghcilink001.runghcilink001 [bad exit code] 
(normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci/prog010/ghci.prog010.run   ghci.prog010 [bad exit code] 
(ghci)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci/scripts/ghci050.runghci050 [bad exit code] 
(ghci)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci/should_run/T14963a.run T14963a [bad exit code] 
(ghci)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spac

Re: Windows test failures

2018-11-30 Thread Roland Senn
Hi,
I'm the author of test T14452. This is test #2 in the list of failing
tests of Simon. I looked into it and found, indeed, this test is broken
under Windows. Under Windows we get quotes around the -O3 ("-O3") but
not under Linux. 
I'll reopen Trac ticket #14452 and prepare a patch with an improved
test!
   Roland
 
Am Freitag, den 30.11.2018, 07:46 + schrieb Simon Peyton Jones via
ghc-devs:
> Ben, Phyx, and other CI folk
> ‘sh validate –fast’ still gives a lot of failures on Window.  The
> output is below. I would be so good to get this to zero!
> (another minor thing is that it would be great to eliminate the long
> path at the beginning – this is platform independent – I have to
> delete manually many times each day.
> Thanks
> Simon
> Unexpected passes:
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/rts/T9405.run  T9405 [unexpected] (normal)
>  
> Unexpected failures:
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/driver/T14452.run   T14452 [bad
> stdout] (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/ghci/linking/ghcilink001.run    ghcilink001 [bad
> exit code] (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/ghci/prog010/ghci.prog010.run   ghci.prog010 [bad
> exit code] (ghci)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/ghci/scripts/ghci050.run    ghci050 [bad exit
> code] (ghci)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/ghci/should_run/T14963a.run T14963a [bad exit
> code] (ghci)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/ghci.debugger/scripts/print012.run  print012 [bad exit
> code] (ghci)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/ghci.debugger/scripts/print016.run  print016 [bad exit
> code] (ghci)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/ghci.debugger/scripts/break019.run  break019 [bad exit
> code] (ghci)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/ghci.debugger/scripts/break028.run  break028 [bad exit
> code] (ghci)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/ghci.debugger/scripts/dynbrk002.run dynbrk002 [bad
> exit code] (ghci)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/ghci.debugger/scripts/T2740.run T2740 [bad exit
> code] (ghci)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/indexed-types/should_fail/T7102a.run    T7102a [bad exit
> code] (ghci)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/plugins/plugin-recomp-change.run    plugin-recomp-
> change [bad exit code] (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/rts/T10672/T10672_x64.run   T10672_x64 [bad
> exit code] (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/th/TH_spliceGuard.run   TH_spliceGuard
> [exit code non-0] (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/th/TH_overlaps.run  TH_overlaps [exit
> code non-0] (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/th/T5886.run    T5886 [exit code
> non-0] (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/th/T10697_decided_3.run T10697_decided_3
> [exit code non-0] (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/th/T11629.run   T11629 [exit code
> non-0] (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/libraries/base/tests/T4006.run  T4006 [bad stdout]
> (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/libraries/base/tests/IO/environment001.run  environment001
> [bad stdout] (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/ghci/should_run/T15633b.run T15633b [bad exit
> code] (ghci)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/plugins/plugins07.run   plugins07 [bad
> exit code] (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/plugins/plugins09.run   plugins09 [bad
> stdout] (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/plugins/plugins10.run   plugins10 [bad
> stdout] (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/plugins/plugins11.run   plugins11 [bad
> stdout] (normal)
>    /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test  
> spaces/p

Re: Windows test failures

2018-11-30 Thread Phyx
Hi Simon,

Could you try rerunning those failing tests with make TEST? No threads? I
have been trying to clean up the testsuite and there should be only 3
failing tests, two plugin tests with bad stdout and T10672_x64 which I am
looking into.

I have however noticed that the testsuite has become increasingly unstable
under threads for some reason.

I also haven't run trunk yet since last week so they could be new..

But rerunning the fails with no threads should give a better idea.

Regards,
Tamar

On Fri, Nov 30, 2018, 07:46 Simon Peyton Jones via ghc-devs <
ghc-devs@haskell.org> wrote:

> Ben, Phyx, and other CI folk
>
> ‘sh validate –fast’ still gives a lot of failures on Window.  The output
> is below. I would be so good to get this to zero!
>
> (another minor thing is that it would be great to eliminate the long path
> at the beginning – this is platform independent – I have to delete manually
> many times each day.
>
> Thanks
>
> Simon
>
> Unexpected passes:
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/rts/T9405.run  T9405 [unexpected] (normal)
>
>
>
> Unexpected failures:
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/driver/T14452.run   T14452 [bad stdout]
> (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/ghci/linking/ghcilink001.runghcilink001 [bad exit
> code] (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/ghci/prog010/ghci.prog010.run   ghci.prog010 [bad exit
> code] (ghci)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/ghci/scripts/ghci050.runghci050 [bad exit code]
> (ghci)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/ghci/should_run/T14963a.run T14963a [bad exit code]
> (ghci)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/ghci.debugger/scripts/print012.run  print012 [bad exit code]
> (ghci)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/ghci.debugger/scripts/print016.run  print016 [bad exit code]
> (ghci)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/ghci.debugger/scripts/break019.run  break019 [bad exit code]
> (ghci)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/ghci.debugger/scripts/break028.run  break028 [bad exit code]
> (ghci)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/ghci.debugger/scripts/dynbrk002.run dynbrk002 [bad exit
> code] (ghci)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/ghci.debugger/scripts/T2740.run T2740 [bad exit code]
> (ghci)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/indexed-types/should_fail/T7102a.runT7102a [bad exit code]
> (ghci)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/plugins/plugin-recomp-change.runplugin-recomp-change
> [bad exit code] (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/rts/T10672/T10672_x64.run   T10672_x64 [bad exit
> code] (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/th/TH_spliceGuard.run   TH_spliceGuard [exit
> code non-0] (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/th/TH_overlaps.run  TH_overlaps [exit code
> non-0] (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/th/T5886.runT5886 [exit code non-0]
> (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/th/T10697_decided_3.run T10697_decided_3 [exit
> code non-0] (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/th/T11629.run   T11629 [exit code non-0]
> (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/libraries/base/tests/T4006.run  T4006 [bad stdout]
> (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/libraries/base/tests/IO/environment001.run  environment001 [bad
> stdout] (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/ghci/should_run/T15633b.run T15633b [bad exit code]
> (ghci)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/plugins/plugins07.run   plugins07 [bad exit
> code] (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/plugins/plugins09.run   plugins09 [bad stdout]
> (normal)
>
>/c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test
> spaces/plugins/plugins10.run   plugins10 [bad stdout]
> (normal)
>
>/c/Users/simon

Windows test failures

2018-11-29 Thread Simon Peyton Jones via ghc-devs
Ben, Phyx, and other CI folk
'sh validate -fast' still gives a lot of failures on Window.  The output is 
below. I would be so good to get this to zero!
(another minor thing is that it would be great to eliminate the long path at 
the beginning - this is platform independent - I have to delete manually many 
times each day.
Thanks
Simon

Unexpected passes:

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/rts/T9405.run  T9405 [unexpected] (normal)



Unexpected failures:

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/driver/T14452.run   T14452 [bad stdout] (normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci/linking/ghcilink001.runghcilink001 [bad exit code] 
(normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci/prog010/ghci.prog010.run   ghci.prog010 [bad exit code] 
(ghci)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci/scripts/ghci050.runghci050 [bad exit code] 
(ghci)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci/should_run/T14963a.run T14963a [bad exit code] 
(ghci)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci.debugger/scripts/print012.run  print012 [bad exit code] 
(ghci)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci.debugger/scripts/print016.run  print016 [bad exit code] 
(ghci)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci.debugger/scripts/break019.run  break019 [bad exit code] 
(ghci)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci.debugger/scripts/break028.run  break028 [bad exit code] 
(ghci)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci.debugger/scripts/dynbrk002.run dynbrk002 [bad exit code] 
(ghci)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci.debugger/scripts/T2740.run T2740 [bad exit code] (ghci)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/indexed-types/should_fail/T7102a.runT7102a [bad exit code] (ghci)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/plugins/plugin-recomp-change.runplugin-recomp-change [bad 
exit code] (normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/rts/T10672/T10672_x64.run   T10672_x64 [bad exit code] 
(normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/th/TH_spliceGuard.run   TH_spliceGuard [exit code 
non-0] (normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/th/TH_overlaps.run  TH_overlaps [exit code 
non-0] (normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/th/T5886.runT5886 [exit code non-0] 
(normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/th/T10697_decided_3.run T10697_decided_3 [exit code 
non-0] (normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/th/T11629.run   T11629 [exit code non-0] 
(normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/libraries/base/tests/T4006.run  T4006 [bad stdout] (normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/libraries/base/tests/IO/environment001.run  environment001 [bad stdout] 
(normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/ghci/should_run/T15633b.run T15633b [bad exit code] 
(ghci)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/plugins/plugins07.run   plugins07 [bad exit code] 
(normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/plugins/plugins09.run   plugins09 [bad stdout] 
(normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/plugins/plugins10.run   plugins10 [bad stdout] 
(normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/plugins/plugins11.run   plugins11 [bad stdout] 
(normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/plugins/T10420.run  T10420 [bad exit code] 
(normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/plugins/plugin-recomp-pure.run  plugin-recomp-pure [bad exit 
code] (normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/plugins/plugin-recomp-impure.runplugin-recomp-impure [bad 
exit code] (normal)

   /c/Users/simonpj/AppData/Local/Temp/ghctest-i30xogs3/test   
spaces/plugins/plugin-recomp-flags.run