177 unexpected test failures on a new system -- is this yet another linker issue?

Sylvain Henry sylvain at haskus.fr
Sat Nov 12 00:06:45 UTC 2016


Ok so it seems to be a 64-bit symbol table (according to 
https://docs.oracle.com/cd/E53394_01/html/E54772/ar-3head.html):
 > A 64-bit archive symbol table sets ar_name to the string “/SYM64/”, 
padded with 9 blank characters to the right."

We should skip it. I will make a patch.

Thanks for the report!

Sylvain


On 11/11/2016 22:26, Ömer Sinan Ağacan wrote:
> Sylvain, I tried your patch, here's the output:
>
>
>      cd "./th/T5976.run" &&  "/home/omer/haskell/ghc/inplace/test
> spaces/ghc-stage2" -c T5976.hs -dcore-lint -dcmm-lint
> -no-user-package-db -rtsopts -fno-warn-missed-specialisations
> -fshow-warning-groups -dno-debug-output -XTemplateHaskell -package
> template-haskell -fexternal-interpreter -v0
>      Actual stderr output differs from expected:
>      --- ./th/T5976.run/T5976.stderr.normalised      2016-11-11
> 16:22:02.247761214 -0500
>      +++ ./th/T5976.run/T5976.comp.stderr.normalised 2016-11-11
> 16:22:02.247761214 -0500
>      @@ -1,7 +1,4 @@
>      -
>      -T5976.hs:1:1:
>      -    Exception when trying to run compile-time code:
>      -      bar
>      -CallStack (from HasCallStack):
>      -  error, called at T5976.hs:<line>:<column> in <package-id>:Main
>      -    Code: error ((++) "foo " error "bar")
>      +ghc-iserv.bin: internal loadArchive: invalid GNU-variant filename
> `/SYM64/         ' found while reading
> `/home/omer/haskell/ghc/libraries/ghc-prim/dist-install/build/libHSghc-prim-0.5.0.0.a'
>      +    (GHC version 8.1.20161107 for x86_64_unknown_linux)
>      +    Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
>      +ghc: ghc-iserv terminated (-6)
>      *** unexpected failure for T5976(ext-interp)
>
>      Unexpected results from:
>      TEST="T5976"
>
> 2016-11-11 12:02 GMT-05:00 Ömer Sinan Ağacan <omeragacan at gmail.com>:
>> So I just tried validating on another system:
>>
>>      > ghc git:(master) $ uname -a
>>      Linux linux-enrr.suse 4.1.34-33-default #1 SMP PREEMPT Thu Oct 20 08:03:29
>>      UTC 2016 (fe18aba) x86_64 x86_64 x86_64 GNU/Linux
>>
>>      > ghc git:(master) $ gcc --version
>>      gcc (SUSE Linux) 4.8.5
>>      Copyright (C) 2015 Free Software Foundation, Inc.
>>      This is free software; see the source for copying conditions.  There is NO
>>      warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>>
>>      > ghc git:(master) $ ld --version
>>      GNU ld (GNU Binutils; openSUSE Leap 42.1) 2.26.1
>>      Copyright (C) 2015 Free Software Foundation, Inc.
>>      This program is free software; you may redistribute it under the terms of
>>      the GNU General Public License version 3 or (at your option) a later
>>      version.
>>      This program has absolutely no warranty.
>>
>> It validated without any errors. So I can't reproduce it right now. I'll try
>> the patch sometime later today when I have the other laptop with me.
>>
>> Sylvain, do you have any ideas on what difference may be causing this? I'm
>> pasting gcc and ld versions but I'm not sure if they're relevant at all.
>>
>> 2016-11-11 11:55 GMT-05:00 Sylvain Henry <sylvain at haskus.fr>:
>>> My bad, in fact we do.
>>>
>>> Could you try with the attached patch? It shows the failing filename in the
>>> archive.
>>>
>>>
>>> On 11/11/2016 17:18, Sylvain Henry wrote:
>>>
>>> It seems like we don't bypass the special filename "/" (symbol lookup table)
>>> in rts/Linker.c
>>>
>>> https://en.wikipedia.org/wiki/Ar_(Unix)#System_V_.28or_GNU.29_variant
>>>
>>>
>>> On 11/11/2016 16:49, Ömer Sinan Ağacan wrote:
>>>
>>> Ah, sorry, that line was truncated. I posted the output here:
>>> https://gist.githubusercontent.com/osa1/ea72655b8369099e84a67e0949adca7e/raw/9e72cbfb859cb839f1898af39a46ff0896237d15/gistfile1.txt
>>>
>>> That line should be
>>>
>>> +ghc-iserv.bin: internal loadArchive: GNU-variant filename offset not found
>>> while reading filename from
>>> `/home/omer/haskell/ghc/libraries/ghc-prim/dist-install/build/libHSghc-prim-0.5.0.0.a'
>>> +    (GHC version 8.1.20161107 for x86_64_unknown_linux)
>>> +    Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
>>>
>>>
>>> 2016-11-11 0:52 GMT-05:00 Reid Barton <rwbarton at gmail.com>:
>>>> On Thu, Nov 10, 2016 at 11:12 PM, Ömer Sinan Ağacan
>>>> <omeragacan at gmail.com> wrote:
>>>>> I'm trying to validate on a new system (not sure if related, but it has
>>>>> gcc
>>>>> 6.2.1 and ld 2.27.0), and I'm having 177 unexpected failures, most
>>>>> (maybe
>>>>> even
>>>>> all) of them are similar to this one:
>>>>>
>>>>>      =====> T5976(ext-interp) 1 of 1 [0, 0, 0]
>>>>>      cd "./th/T5976.run" &&  "/home/omer/haskell/ghc/inplace/test
>>>>> spaces/ghc-stage2" -c T5976.hs -dcore-dno-debug-output -XTemplateHaskell
>>>>> -package template-haskell -fexternal-interpreter -v0
>>>>>      Actual stderr output differs from expected:
>>>>>      --- ./th/T5976.run/T5976.stderr.normalised      2016-11-10
>>>>> 23:01:39.351997560 -0500
>>>>>      +++ ./th/T5976.run/T5976.comp.stderr.normalised 2016-11-10
>>>>> 23:01:39.351997560 -0500
>>>>>      @@ -1,7 +1,4 @@
>>>>>      -
>>>>>      -T5976.hs:1:1:
>>>>>      -    Exception when trying to run compile-time code:
>>>>>      -      bar
>>>>>      -CallStack (from HasCallStack):
>>>>>      -  error, called at T5976.hs:<line>:<column> in <package-id>:Main
>>>>>      -    Code: error ((++) "foo " error "bar")
>>>>>      +ghc-iserv.bin: internal loadArchive: GNU-variant filename offset
>>>>> not
>>>>> found while reading filename f
>>>> Did this line get truncated? It might help to have the rest of it.
>>>>
>>>> Regards,
>>>> Reid Barton
>>>
>>>
>>>
>>> _______________________________________________
>>> ghc-devs mailing list
>>> ghc-devs at haskell.org
>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> ghc-devs mailing list
>>> ghc-devs at haskell.org
>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>>>
>>>
>>>
>>> _______________________________________________
>>> ghc-devs mailing list
>>> ghc-devs at haskell.org
>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>>>



More information about the ghc-devs mailing list