Thread overview
[Issue 11283] New: [REG 2.064] assert in std/windows/syserror.d
Oct 16, 2013
Dmitry Olshansky
Oct 16, 2013
Andrej Mitrovic
Oct 16, 2013
Andrej Mitrovic
Oct 17, 2013
Jakob Ovrum
Oct 17, 2013
Dmitry Olshansky
Oct 17, 2013
Jakob Ovrum
Oct 17, 2013
Dmitry Olshansky
Oct 17, 2013
Jakob Ovrum
Oct 17, 2013
Andrej Mitrovic
October 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11283

           Summary: [REG 2.064] assert in std/windows/syserror.d
           Product: D
           Version: D2
          Platform: All
        OS/Version: Windows
            Status: NEW
          Severity: regression
          Priority: P2
         Component: Phobos
        AssignedTo: nobody@puremagic.com
        ReportedBy: dmitry.olsh@gmail.com


--- Comment #0 from Dmitry Olshansky <dmitry.olsh@gmail.com> 2013-10-16 13:37:23 PDT ---
It may be Win8 specific. (Win8 PRO x64 to be precise)

But starting with Phobos commit a2fea332ed7f86130942487614152aa3ed91f1c4
I get assertion failure on
make -fwin32.mak unittest

Output:

unittest
totalCPUs = 4
'qwertyuiop09813478' is not recognized as an internal or external command,
operable program or batch file.
object.Exception@std\windows\syserror.d(43): failed getting error string for
WinAPI error code: The resource loader failed to find MUI file.
----------------
0x00BBD44C in @trusted immutable(char)[]
std.windows.syserror.sysErrorString(uint, int, int)
0x00BBD563 in @safe void std.windows.syserror.__unittestL88_30()
0x00BE642F in int rt.minfo.moduleinfos_apply(scope int delegate(ref
object.ModuleInfo*)).__foreachbody2(ref rt.sections_win32.SectionGroup)
0x00BDC50B in _d_run_main
0x0042B48C in main
0x7561850D in BaseThreadInitThunk
0x7749BF39 in RtlInitializeExceptionChain
0x7749BF0C in RtlInitializeExceptionChain

--- errorlevel 1

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
October 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11283


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrej.mitrovich@gmail.com


--- Comment #1 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-10-16 15:05:13 PDT ---
I've found this comment on MSDN which may be relevant:

-----
ERROR_MUI_FILE_NOT_FOUND(15100)

Also note that beginning with Vista, error ERROR_MUI_FILE_NOT_FOUND(15100), or
ERROR_MUI_FILE_NOT_LOADED(15105) may also be returned.  This can trip you up if
you are looking only for ERROR_RESOURCE_LANG_NOT_FOUND(1815).

In addition, under low memory conditions, FormatMessage will return ERROR_MUI_FILE_NOT_FOUND(15100) instead of ERROR_OUTOFMEMORY(et al).  So if you see this error in the field, determine the customer's memory state so you don't scratch all the hair off your head while diving into your multi-language support implementation.
-----

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
October 16, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11283



--- Comment #2 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-10-16 15:05:39 PDT ---
(In reply to comment #1)
> I've found this comment on MSDN which may be relevant

From http://msdn.microsoft.com/en-us/library/windows/desktop/ms679351%28v=vs.85%29.aspx

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
October 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11283


Jakob Ovrum <jakobovrum@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakobovrum@gmail.com


--- Comment #3 from Jakob Ovrum <jakobovrum@gmail.com> 2013-10-16 19:20:40 PDT ---
(In reply to comment #0)
> It may be Win8 specific. (Win8 PRO x64 to be precise)
> 
> But starting with Phobos commit a2fea332ed7f86130942487614152aa3ed91f1c4
> I get assertion failure on
> make -fwin32.mak unittest

What is your system language? From the error message it looks like it's English; if that's the case, which English is it? (US, UK etc.)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
October 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11283



--- Comment #4 from Dmitry Olshansky <dmitry.olsh@gmail.com> 2013-10-17 02:02:16 PDT ---
(In reply to comment #3)
> (In reply to comment #0)
> > It may be Win8 specific. (Win8 PRO x64 to be precise)
> > 
> > But starting with Phobos commit a2fea332ed7f86130942487614152aa3ed91f1c4
> > I get assertion failure on
> > make -fwin32.mak unittest
> 
> What is your system language? From the error message it looks like it's English; if that's the case, which English is it? (US, UK etc.)

Systeminfo dumps the following (which puzzles me actually)

System Locale:             en-gb;English (United Kingdom)
Input Locale:              en-us;English (United States)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
October 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11283



--- Comment #5 from Jakob Ovrum <jakobovrum@gmail.com> 2013-10-17 02:11:40 PDT ---
(In reply to comment #4)
> (In reply to comment #3)
> Systeminfo dumps the following (which puzzles me actually)
> 
> System Locale:             en-gb;English (United Kingdom)
> Input Locale:              en-us;English (United States)

Does it work if SUBLANG_ENGLISH_US is changed to SUBLANG_ENGLISH_UK or SUBLANG_DEFAULT on lines 90 and 92 in std/windows/syserror.d?

In order to actually have a unittest for sysErrorString at all, I added the optional language parameters so a language combination that was always available could be chosen; I thought en-US was such a combination. Maybe that was a mistake. Maybe LANG_ENGLISH and SUBLANG_DEFAULT would always work?

Due to the same issue of missing language support by default, I had to remove the tests that actually tested for non-ASCII support anyway, so the unittest isn't as useful as it was originally intended. If no solution can be found, the unittest could just be removed entirely.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
October 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11283



--- Comment #6 from Dmitry Olshansky <dmitry.olsh@gmail.com> 2013-10-17 02:29:27 PDT ---
(In reply to comment #5)
> (In reply to comment #4)
> > (In reply to comment #3)
> > Systeminfo dumps the following (which puzzles me actually)
> > 
> > System Locale:             en-gb;English (United Kingdom)
> > Input Locale:              en-us;English (United States)
> 
> Does it work if SUBLANG_ENGLISH_US is changed to SUBLANG_ENGLISH_UK or SUBLANG_DEFAULT on lines 90 and 92 in std/windows/syserror.d?
> 
> In order to actually have a unittest for sysErrorString at all, I added the optional language parameters so a language combination that was always available could be chosen; I thought en-US was such a combination. Maybe that was a mistake. Maybe LANG_ENGLISH and SUBLANG_DEFAULT would always work?
> 

SUBLANG_ENGLISH_UK works, SUBLANG_DEFAULT and LANG_ENGLISH doesn't with the same error. It's strange.

> Due to the same issue of missing language support by default, I had to remove the tests that actually tested for non-ASCII support anyway, so the unittest isn't as useful as it was originally intended. If no solution can be found, the unittest could just be removed entirely.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
October 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11283



--- Comment #7 from Jakob Ovrum <jakobovrum@gmail.com> 2013-10-17 02:54:33 PDT ---
(In reply to comment #6)
> (In reply to comment #5)
> > (In reply to comment #4)
> > > (In reply to comment #3)
> > > Systeminfo dumps the following (which puzzles me actually)
> > > 
> > > System Locale:             en-gb;English (United Kingdom)
> > > Input Locale:              en-us;English (United States)
> > 
> > Does it work if SUBLANG_ENGLISH_US is changed to SUBLANG_ENGLISH_UK or SUBLANG_DEFAULT on lines 90 and 92 in std/windows/syserror.d?
> > 
> > In order to actually have a unittest for sysErrorString at all, I added the optional language parameters so a language combination that was always available could be chosen; I thought en-US was such a combination. Maybe that was a mistake. Maybe LANG_ENGLISH and SUBLANG_DEFAULT would always work?
> > 
> 
> SUBLANG_ENGLISH_UK works, SUBLANG_DEFAULT and LANG_ENGLISH doesn't with the same error. It's strange.

I submitted a pull request to simply remove the test entirely. I can't think of a way to make it work.

https://github.com/D-Programming-Language/phobos/pull/1649

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
October 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11283



--- Comment #8 from github-bugzilla@puremagic.com 2013-10-17 05:27:35 PDT ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/e0d5308ef570c15cefd833c2b540212d3b29f750 Fix issue 11283 - Remove sysErrorString unittest

https://github.com/D-Programming-Language/phobos/commit/217ae37b58f7f13e73cc811043808f30e2e9cf3b Merge pull request #1649 from JakobOvrum/syserrorstring

[REG 2.064] Fix issue 11283 - Remove sysErrorString unittest

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
October 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11283


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------