Thread overview
[dmd-internals] AutoTester breaking
Nov 06, 2011
kenji hara
Nov 06, 2011
Brad Roberts
Nov 07, 2011
Vladimir Panteleev
Nov 07, 2011
Sean Kelly
Nov 07, 2011
David Nadlinger
Nov 07, 2011
kenji hara
Nov 08, 2011
kenji hara
Nov 14, 2011
kenji hara
November 07, 2011
Now AutoTester result is breaking. http://d.puremagic.com/test-results/

It seems to me there is some problems.

- Breaking of dmd/test/runnable/test23.d

> runnable/test23.d(692): Error: undefined identifier package c.stdlib
> runnable/test23.d(702): Error: undefined identifier package c.stdlib
> runnable/test23.d(724): Error: undefined identifier package c.stdlib
> runnable/test23.d(734): Error: undefined identifier package c.stdlib

I have posted pull request. That may fix Posix dmd tests excepting OSX. https://github.com/D-Programming-Language/dmd/pull/496

- Breaking std.socket in OSX

> std/socket.d(355): Error: std.c.osx.socket.IPPROTO_RAW at std/c/osx/socket.d(39) conflicts with core.sys.posix.netinet.in_.IPPROTO_RAW at ../druntime/import/core/sys/posix/netinet/in_.di(413)
> std/socket.d(2164): Error: std.c.osx.socket.IPV6_MULTICAST_HOPS at std/c/osx/socket.d(73) conflicts with core.sys.posix.netinet.in_.IPV6_MULTICAST_HOPS at ../druntime/import/core/sys/posix/netinet/in_.di(218)
> std/socket.d(2167): Error: std.c.osx.socket.IPV6_V6ONLY at std/c/osx/socket.d(78) conflicts with core.sys.posix.netinet.in_.IPV6_V6ONLY at ../druntime/import/core/sys/posix/netinet/in_.di(222)

It seems that is symbol definition duplication. Unfortunately, I don't have OSX.

- Breaking Phobos test in Windows

> OPTLINK (R) for Win32  Release 8.00.11
> Copyright (C) Digital Mars 1989-2010  All rights reserved.
> http://www.digitalmars.com/ctg/optlink.html
> ws2_32.lib
>  Warning 2: File Not Found ws2_32.lib
> unittest.obj(unittest)
>  Error 42: Symbol Undefined _WSAIoctl at 36

I think this is AutoTester environment problem.
Because the all builds and tests are succeeding in my PC (Windows 7 64 bit).
It is *false positive* IMO.

- Breaking std.regex in FreeBSD32

> core.exception.AssertError at std.regex(2900): Assertion failure

I don't know why.

Kenji Hara.
November 06, 2011
The socket breakage predates the regex code landing.  It dates from, shockigly, the landing of the std.socket changes. I highly doubt they're false positives.

On 11/6/2011 11:08 AM, kenji hara wrote:
> Now AutoTester result is breaking. http://d.puremagic.com/test-results/
> 
> It seems to me there is some problems.
> 
> - Breaking of dmd/test/runnable/test23.d
> 
>> runnable/test23.d(692): Error: undefined identifier package c.stdlib
>> runnable/test23.d(702): Error: undefined identifier package c.stdlib
>> runnable/test23.d(724): Error: undefined identifier package c.stdlib
>> runnable/test23.d(734): Error: undefined identifier package c.stdlib
> 
> I have posted pull request. That may fix Posix dmd tests excepting OSX. https://github.com/D-Programming-Language/dmd/pull/496
> 
> - Breaking std.socket in OSX
> 
>> std/socket.d(355): Error: std.c.osx.socket.IPPROTO_RAW at std/c/osx/socket.d(39) conflicts with core.sys.posix.netinet.in_.IPPROTO_RAW at ../druntime/import/core/sys/posix/netinet/in_.di(413)
>> std/socket.d(2164): Error: std.c.osx.socket.IPV6_MULTICAST_HOPS at std/c/osx/socket.d(73) conflicts with core.sys.posix.netinet.in_.IPV6_MULTICAST_HOPS at ../druntime/import/core/sys/posix/netinet/in_.di(218)
>> std/socket.d(2167): Error: std.c.osx.socket.IPV6_V6ONLY at std/c/osx/socket.d(78) conflicts with core.sys.posix.netinet.in_.IPV6_V6ONLY at ../druntime/import/core/sys/posix/netinet/in_.di(222)
> 
> It seems that is symbol definition duplication. Unfortunately, I don't have OSX.
> 
> - Breaking Phobos test in Windows
> 
>> OPTLINK (R) for Win32  Release 8.00.11
>> Copyright (C) Digital Mars 1989-2010  All rights reserved.
>> http://www.digitalmars.com/ctg/optlink.html
>> ws2_32.lib
>>  Warning 2: File Not Found ws2_32.lib
>> unittest.obj(unittest)
>>  Error 42: Symbol Undefined _WSAIoctl at 36
> 
> I think this is AutoTester environment problem.
> Because the all builds and tests are succeeding in my PC (Windows 7 64 bit).
> It is *false positive* IMO.
> 
> - Breaking std.regex in FreeBSD32
> 
>> core.exception.AssertError at std.regex(2900): Assertion failure
> 
> I don't know why.
> 
> Kenji Hara.
> _______________________________________________
> dmd-internals mailing list
> dmd-internals at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals

November 07, 2011
On Sun, 06 Nov 2011 21:08:58 +0200, kenji hara <k.hara.pg at gmail.com> wrote:

> - Breaking std.socket in OSX
>
>> std/socket.d(355): Error: std.c.osx.socket.IPPROTO_RAW at
>> std/c/osx/socket.d(39) conflicts with
>> core.sys.posix.netinet.in_.IPPROTO_RAW at
>> ../druntime/import/core/sys/posix/netinet/in_.di(413)
>> std/socket.d(2164): Error: std.c.osx.socket.IPV6_MULTICAST_HOPS at
>> std/c/osx/socket.d(73) conflicts with
>> core.sys.posix.netinet.in_.IPV6_MULTICAST_HOPS at
>> ../druntime/import/core/sys/posix/netinet/in_.di(218)
>> std/socket.d(2167): Error: std.c.osx.socket.IPV6_V6ONLY at
>> std/c/osx/socket.d(78) conflicts with
>> core.sys.posix.netinet.in_.IPV6_V6ONLY at
>> ../druntime/import/core/sys/posix/netinet/in_.di(222)
>
> It seems that is symbol definition duplication. Unfortunately, I don't have OSX.

My access to Apple hardware is limited as well. Someone who maintains std.c.osx will need to look into this.

> - Breaking Phobos test in Windows
>
>> OPTLINK (R) for Win32  Release 8.00.11
>> Copyright (C) Digital Mars 1989-2010  All rights reserved.
>> http://www.digitalmars.com/ctg/optlink.html
>> ws2_32.lib
>>  Warning 2: File Not Found ws2_32.lib
>> unittest.obj(unittest)
>>  Error 42: Symbol Undefined _WSAIoctl at 36
>
> I think this is AutoTester environment problem.
> Because the all builds and tests are succeeding in my PC (Windows 7 64
> bit).
> It is *false positive* IMO.

This is definitely a false positive. The DMD zip file contains ws2_32.lib.

-- 
Best regards,
  Vladimir                            mailto:vladimir at thecybershadow.net
November 07, 2011
2011/11/7 kenji hara <k.hara.pg at gmail.com>:
> Now AutoTester result is breaking. http://d.puremagic.com/test-results/
>
> It seems to me there is some problems.
>
> - Breaking of dmd/test/runnable/test23.d
>
>> runnable/test23.d(692): Error: undefined identifier package c.stdlib
>> runnable/test23.d(702): Error: undefined identifier package c.stdlib
>> runnable/test23.d(724): Error: undefined identifier package c.stdlib
>> runnable/test23.d(734): Error: undefined identifier package c.stdlib
>
> I have posted pull request. That may fix Posix dmd tests excepting OSX. https://github.com/D-Programming-Language/dmd/pull/496
>
> - Breaking std.socket in OSX
>
>> std/socket.d(355): Error: std.c.osx.socket.IPPROTO_RAW at std/c/osx/socket.d(39) conflicts with core.sys.posix.netinet.in_.IPPROTO_RAW at ../druntime/import/core/sys/posix/netinet/in_.di(413)
>> std/socket.d(2164): Error: std.c.osx.socket.IPV6_MULTICAST_HOPS at std/c/osx/socket.d(73) conflicts with core.sys.posix.netinet.in_.IPV6_MULTICAST_HOPS at ../druntime/import/core/sys/posix/netinet/in_.di(218)
>> std/socket.d(2167): Error: std.c.osx.socket.IPV6_V6ONLY at std/c/osx/socket.d(78) conflicts with core.sys.posix.netinet.in_.IPV6_V6ONLY at ../druntime/import/core/sys/posix/netinet/in_.di(222)
>
> It seems that is symbol definition duplication. Unfortunately, I don't have OSX.
>
> - Breaking Phobos test in Windows
>
>> OPTLINK (R) for Win32 ?Release 8.00.11
>> Copyright (C) Digital Mars 1989-2010 ?All rights reserved.
>> http://www.digitalmars.com/ctg/optlink.html
>> ws2_32.lib
>> ?Warning 2: File Not Found ws2_32.lib
>> unittest.obj(unittest)
>> ?Error 42: Symbol Undefined _WSAIoctl at 36
>
> I think this is AutoTester environment problem.
> Because the all builds and tests are succeeding in my PC (Windows 7 64 bit).
> It is *false positive* IMO.
>
> - Breaking std.regex in FreeBSD32
>
>> core.exception.AssertError at std.regex(2900): Assertion failure
>
> I don't know why.
>
> Kenji Hara.
>

To fix phobs build breaking in Windows, I have posted two pull requests. https://github.com/D-Programming-Language/dmd/pull/498 https://github.com/D-Programming-Language/phobos/pull/322

Kenji Hara
November 07, 2011
On Nov 6, 2011, at 6:44 PM, Vladimir Panteleev wrote:

> On Sun, 06 Nov 2011 21:08:58 +0200, kenji hara <k.hara.pg at gmail.com> wrote:
> 
>> - Breaking std.socket in OSX
>> 
>>> std/socket.d(355): Error: std.c.osx.socket.IPPROTO_RAW at std/c/osx/socket.d(39) conflicts with core.sys.posix.netinet.in_.IPPROTO_RAW at ../druntime/import/core/sys/posix/netinet/in_.di(413)
>>> std/socket.d(2164): Error: std.c.osx.socket.IPV6_MULTICAST_HOPS at std/c/osx/socket.d(73) conflicts with core.sys.posix.netinet.in_.IPV6_MULTICAST_HOPS at ../druntime/import/core/sys/posix/netinet/in_.di(218)
>>> std/socket.d(2167): Error: std.c.osx.socket.IPV6_V6ONLY at std/c/osx/socket.d(78) conflicts with core.sys.posix.netinet.in_.IPV6_V6ONLY at ../druntime/import/core/sys/posix/netinet/in_.di(222)
>> 
>> It seems that is symbol definition duplication. Unfortunately, I don't have OSX.
> 
> My access to Apple hardware is limited as well. Someone who maintains std.c.osx will need to look into this.

In general, the C header modules in Phobos should be be eclipsed by those in druntime.  Sounds like these definitions should be removed from std.c.osx.socket.
November 07, 2011
On 11/7/11 3:44 AM, Vladimir Panteleev wrote:
> My access to Apple hardware is limited as well. Someone who maintains std.c.osx will need to look into this.

Here you are, changes the import to be selective like on Linux: https://github.com/D-Programming-Language/phobos/pull/323

I don't have the time to clean up the std.c mess right now (std.c.linux.socket has the same duplicate symbols as well), but we should definitely do this soon.

David
November 09, 2011
Now, there are three issues.

- std.traits breaking in Windows
> std\traits.d(377): Error: static assert  (0u == cast(FunctionAttribute)3u) is false

I have already posted a dmd patch to fix it.
> https://github.com/D-Programming-Language/dmd/pull/498 https://github.com/D-Programming-Language/phobos/pull/322

- std.regex breaking in FreeBSD32 and OSX 32
FreeBSD 32
> core.exception.AssertError at std.regex(2900): Assertion failure

OSX 32
> core.exception.AssertError at std/regex.d(7134): bmatch(R,RegEx) if (is(RegEx == Regex!(BasicElementOf!(R)))): failed to match pattern #205: \b\w+\b
> ----------------
> 5   regex                               0x00196baa _d_assert_msg + 26
> 6   regex                               0x00118536 void std.regex.__unittest7().void __T9run_testsS173std5regex6bmatchZ.run_tests() + 82354
> 7   regex                               0x000943b1 void std.regex.__unittest7() + 13
> 8   regex                               0x0009038d void std.regex.__modtest() + 21
> 9   regex                               0x0018dda5 extern (C) bool core.runtime.runModuleUnitTests().int __foreachbody265(ref object.ModuleInfo*) + 45
> 10  regex                               0x00188b0b int object.ModuleInfo.opApply(scope int delegate(ref object.ModuleInfo*)) + 79
> 11  regex                               0x0018dc96 runModuleUnitTests + 134
> 12  regex                               0x00197323 extern (C) int rt.dmain2.main(int, char**).void runAll() + 43
> 13  regex                               0x00196e95 extern (C) int rt.dmain2.main(int, char**).void tryExec(scope void delegate()) + 29
> 14  regex                               0x00196e2f main + 179
> 15  regex                               0x00090365 start + 53
> 16  ???                                 0x00000001 0x0 + 1

Kenji Hara
November 14, 2011
2011/11/9 kenji hara <k.hara.pg at gmail.com>:
> Now, there are three issues.
>
> - std.traits breaking in Windows
>> std\traits.d(377): Error: static assert ?(0u == cast(FunctionAttribute)3u) is false
>
> I have already posted a dmd patch to fix it.
>> https://github.com/D-Programming-Language/dmd/pull/498 https://github.com/D-Programming-Language/phobos/pull/322

Today, it was fixed by fixing issue 6902.

Kenji Hara