Ticket #884 (closed defect: wontfix)
VC2008 Express test failures
| Reported by: | historic_bruno | Owned by: | |
|---|---|---|---|
| Priority: | Should Have | Milestone: | Alpha 7 |
| Component: | Non-game systems | Keywords: | |
| Cc: | jan |
Description
This test fails with the following output:
c:\users\ben\devel\ps\source\scriptinterface\tests\../../../source/scriptinterface/tests/test_ScriptInterface.h(141): Error: Expected (std::wstring(script.ToString(val.get())) == std::wstring(L"({x:1, z:[2, \"3\\u263A\\uFFFD\"], y:true})")), found (L"({x:1, z:[2, \"3\\u263A\\uFFFD\\uFFFD\\uFFFD\"], y:true})" != L"({x:1, z:[2, \"3\\u263A\\uFFFD\"], y:true})")
There are also program errors (three if you keep pressing continue):
#1:
Function call failed: return value was -100703 (Invalid UTF-8 sequence)
Location: utf8.cpp:84 (RaiseError)
Call stack:
RaiseError (utf8.cpp:84)
err = -100703 (0xFFFFFFFFFFFE76A1)
perr = (unavailable)
UTF8Codec::Decode (utf8.cpp:134)
srcPos = 0x0030F92C -> 0x001EF4EE -> [8] { 160 (0xA0), 128 (0x80), 34 (0x22), 10 (0x0A), 32 (0x20), 32 (0x20), 93 (0x5D), 44 (0x2C) }
srcEnd = 0x001EF504 -> [8] { 0 (0x00), 240 (0xF0), 173 (0xAD), 186 (0xBA), 171 (0xAB), 171 (0xAB), 171 (0xAB), 171 (0xAB) }
err = 0x00000000
offsets = [5] { 0 (0x00000000), 0 (0x00000000), 12416 (0x00003080), 925824 (0x000E2080), 63447168 (0x03C82080) }
wstring_from_utf8 (utf8.cpp:237)
src = 0x0030FA4C -> (error -100500 while analyzing string >)
err = 0x00000000
srcPos = 0x00000001
ScriptInterface::ParseJSON (scriptinterface.cpp:897)
this = (unavailable)
string_utf8 = 0x0030FA4C (see above)
attrsW = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
string = (error -100500 while analyzing wstring<utf16_traits >)
vp = 8 (0x0000000000000008)
TestScriptInterface::test_json (test_scriptinterface.h:140)
this = (unavailable)
val =
m_Val =
px = 0x05E0B1B0 -> 7118796211726961984 (0x62CB0B700461CD40)
pn =
pi_ = 0x0030F998 ->
use_count_ = 2029312 (0x001EF700)
weak_count_ = 1955361129 (0x748C7169)
script =
m = (error -100406 while analyzing auto_ptr<ScriptInterface_impl>)
input = (error -100500 while analyzing string >)
stringified = (error -100500 while analyzing string >)
e = 0x0030F9B8 -> (error -100406 while analyzing exception)
e = 0x00000405
e = 0x001EDCA8 -> (error -100406 while analyzing exception)
CxxTest::RealTestDescription::run (realdescriptions.cpp:99)
this = (unavailable)
e = 0x0030FA84 -> (error -100406 while analyzing exception)
CxxTest::TestRunner::runTest (testrunner.h:77)
this = (unavailable)
td = 0x00D26FC4 ->
_next = 0x00000000
_prev = 0x00D26FA8 ->
_next = 0x00D26FC4 (see above)
_prev = 0x00D26F8C ->
_next = 0x00D26FA8 (see above)
_prev = 0x00D26F70 ->
_next = 0x00D26F8C (see above)
_prev = 0x00D26F54 ->
_next = 0x00D26F70 (see above)
_prev = 0x00D26F38 ->
_next = 0x00D26F54 (see above)
_prev = 0x00D26F1C ->
_next = 0x00D26F38 (see above)
_prev = 0x00D26F00 ->
_next = 0x00D26F1C (see above)
_prev = 0x00D26EE4 ->
_next = 0x00D26F00 (see above)
_prev = 0x00000000
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
sg =
_abortTestOnFail = false
_maxDumpSize = 3209980 (0x0030FAFC)
CxxTest::TestRunner::runSuite (testrunner.h:63)
this = (unavailable)
sd = 0x00D26EC0 ->
_next = 0x00D26FE8 ->
_next = 0x00D27030 ->
_next = 0x00D27078 ->
_next = 0x00D270DC ->
_next = 0x00D27140 ->
_next = 0x00D27190 ->
_next = 0x00D27224 ->
_next = 0x00D2726C ->
_next = 0x00D27538 ->
_next = 0x00D27668 ->
_next = 0x00D27814 ->
_next = 0x00D27878 ->
_next = 0x00D278F8 ->
_next = 0x00000000
_prev = 0x00D27878 (see above)
_active = true
_prev = 0x00D27814 (see above)
_active = true
_prev = 0x00D27668 (see above)
_active = true
_prev = 0x00D27538 (see above)
_active = true
_prev = 0x00D2726C (see above)
_active = true
_prev = 0x00D27224 (see above)
_active = true
_prev = 0x00D27190 (see above)
_active = true
_prev = 0x00D27140 (see above)
_active = true
_prev = 0x00D270DC (see above)
_active = true
_prev = 0x00D27078 (see above)
_active = true
_prev = 0x00D27030 (see above)
_active = true
_prev = 0x00D26FE8 (see above)
_active = true
_prev = 0x00D26EC0 (see above)
_active = true
_prev = 0x00D26E24 ->
_next = 0x00D26EC0 (see above)
_prev = 0x00D26CFC ->
_next = 0x00D26E24 (see above)
_prev = 0x00D26C28 ->
_next = 0x00D26CFC (see above)
_prev = 0x00D26BC4 ->
_next = 0x00D26C28 (see above)
(too much output; skipping to next top-level symbol)
_active = true
_active = true
_active = true
_active = true
sg =
_abortTestOnFail = false
_maxDumpSize = 3210048 (0x0030FB40)
CxxTest::PsTestRunner::runWorld (pstestwrapper.h:80)
this = (unavailable)
wd =
_next = 0x00000000
_prev = 0x00C45501 ->
_next = 0xC01BC82B ->
_next = (unavailable - internal error)
_prev = (unavailable - internal error)
_active = (unavailable - internal error)
_prev = 0xC823D0F7 ->
_next = (unavailable - internal error)
_prev = (unavailable - internal error)
_active = (unavailable - internal error)
_active = (bool)0x8B
_active = (bool)0x64
sg =
_abortTestOnFail = false
_maxDumpSize = 13393572 (0x00CC5EA4)
CxxTest::PsTestRunner::runAllTests (pstestwrapper.h:16707566)
listener = 0x00D2ABC8 -> (CxxTest::TestListener)
CxxTest::PsTestWrapper::runGui (pstestwrapper.h:96)
this = (unavailable)
argc = 0x0030FD50 -> 1 (0x00000001)
argv = 0x001E42C0 -> 0x001E42C8 -> "c:\Users\Ben\devel\ps\binaries\system\test.exe"
listener = 0x0030FBA0 -> (CxxTest::TestListener)
main (test_root.cpp:17)
argc = 1 (0x00000001)
argv = 0x001E42C0 (see above)
__tmainCRTStartup (crtexe.c:586)
nested = 4187511306 (0xF9985A0A)
BaseThreadInitThunk (:0)
RtlInitializeExceptionChain (:0)
RtlInitializeExceptionChain (:0)
errno = 0 (?)
OS error = 0 (no error code was set)
#2:
Function call failed: return value was -100703 (Invalid UTF-8 sequence)
Location: utf8.cpp:84 (RaiseError)
Call stack:
RaiseError (utf8.cpp:84)
err = -100703 (0xFFFFFFFFFFFE76A1)
perr = (unavailable)
UTF8Codec::Decode (utf8.cpp:134)
srcPos = 0x0030F92C -> 0x001EF4EF -> [8] { 128 (0x80), 34 (0x22), 10 (0x0A), 32 (0x20), 32 (0x20), 93 (0x5D), 44 (0x2C), 10 (0x0A) }
srcEnd = 0x001EF504 -> [8] { 0 (0x00), 240 (0xF0), 173 (0xAD), 186 (0xBA), 171 (0xAB), 171 (0xAB), 171 (0xAB), 171 (0xAB) }
err = 0x00000000
offsets = [5] { 0 (0x00000000), 0 (0x00000000), 12416 (0x00003080), 925824 (0x000E2080), 63447168 (0x03C82080) }
wstring_from_utf8 (utf8.cpp:237)
src = 0x0030FA4C -> (error -100500 while analyzing string >)
err = 0x00000000
srcPos = 0x00000001
ScriptInterface::ParseJSON (scriptinterface.cpp:897)
this = (unavailable)
string_utf8 = 0x0030FA4C (see above)
attrsW = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
string = (error -100500 while analyzing wstring<utf16_traits >)
vp = 8 (0x0000000000000008)
TestScriptInterface::test_json (test_scriptinterface.h:140)
this = (unavailable)
val =
m_Val =
px = 0x05E0B1B0 -> 7118796211726961984 (0x62CB0B700461CD40)
pn =
pi_ = 0x0030F998 ->
use_count_ = 2029312 (0x001EF700)
weak_count_ = 1955361129 (0x748C7169)
script =
m = (error -100406 while analyzing auto_ptr<ScriptInterface_impl>)
input = (error -100500 while analyzing string >)
stringified = (error -100500 while analyzing string >)
e = 0x0030F9B8 -> (error -100406 while analyzing exception)
e = 0x00000405
e = 0x001EDCA8 -> (error -100406 while analyzing exception)
CxxTest::RealTestDescription::run (realdescriptions.cpp:99)
this = (unavailable)
e = 0x0030FA84 -> (error -100406 while analyzing exception)
CxxTest::TestRunner::runTest (testrunner.h:77)
this = (unavailable)
td = 0x00D26FC4 ->
_next = 0x00000000
_prev = 0x00D26FA8 ->
_next = 0x00D26FC4 (see above)
_prev = 0x00D26F8C ->
_next = 0x00D26FA8 (see above)
_prev = 0x00D26F70 ->
_next = 0x00D26F8C (see above)
_prev = 0x00D26F54 ->
_next = 0x00D26F70 (see above)
_prev = 0x00D26F38 ->
_next = 0x00D26F54 (see above)
_prev = 0x00D26F1C ->
_next = 0x00D26F38 (see above)
_prev = 0x00D26F00 ->
_next = 0x00D26F1C (see above)
_prev = 0x00D26EE4 ->
_next = 0x00D26F00 (see above)
_prev = 0x00000000
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
sg =
_abortTestOnFail = false
_maxDumpSize = 3209980 (0x0030FAFC)
CxxTest::TestRunner::runSuite (testrunner.h:63)
this = (unavailable)
sd = 0x00D26EC0 ->
_next = 0x00D26FE8 ->
_next = 0x00D27030 ->
_next = 0x00D27078 ->
_next = 0x00D270DC ->
_next = 0x00D27140 ->
_next = 0x00D27190 ->
_next = 0x00D27224 ->
_next = 0x00D2726C ->
_next = 0x00D27538 ->
_next = 0x00D27668 ->
_next = 0x00D27814 ->
_next = 0x00D27878 ->
_next = 0x00D278F8 ->
_next = 0x00000000
_prev = 0x00D27878 (see above)
_active = true
_prev = 0x00D27814 (see above)
_active = true
_prev = 0x00D27668 (see above)
_active = true
_prev = 0x00D27538 (see above)
_active = true
_prev = 0x00D2726C (see above)
_active = true
_prev = 0x00D27224 (see above)
_active = true
_prev = 0x00D27190 (see above)
_active = true
_prev = 0x00D27140 (see above)
_active = true
_prev = 0x00D270DC (see above)
_active = true
_prev = 0x00D27078 (see above)
_active = true
_prev = 0x00D27030 (see above)
_active = true
_prev = 0x00D26FE8 (see above)
_active = true
_prev = 0x00D26EC0 (see above)
_active = true
_prev = 0x00D26E24 ->
_next = 0x00D26EC0 (see above)
_prev = 0x00D26CFC ->
_next = 0x00D26E24 (see above)
_prev = 0x00D26C28 ->
_next = 0x00D26CFC (see above)
_prev = 0x00D26BC4 ->
_next = 0x00D26C28 (see above)
(too much output; skipping to next top-level symbol)
_active = true
_active = true
_active = true
_active = true
sg =
_abortTestOnFail = false
_maxDumpSize = 3210048 (0x0030FB40)
CxxTest::PsTestRunner::runWorld (pstestwrapper.h:80)
this = (unavailable)
wd =
_next = 0x00000000
_prev = 0x00C45501 ->
_next = 0xC01BC82B ->
_next = (unavailable - internal error)
_prev = (unavailable - internal error)
_active = (unavailable - internal error)
_prev = 0xC823D0F7 ->
_next = (unavailable - internal error)
_prev = (unavailable - internal error)
_active = (unavailable - internal error)
_active = (bool)0x8B
_active = (bool)0x64
sg =
_abortTestOnFail = false
_maxDumpSize = 13393572 (0x00CC5EA4)
CxxTest::PsTestRunner::runAllTests (pstestwrapper.h:16707566)
listener = 0x00D2ABC8 -> (CxxTest::TestListener)
CxxTest::PsTestWrapper::runGui (pstestwrapper.h:96)
this = (unavailable)
argc = 0x0030FD50 -> 1 (0x00000001)
argv = 0x001E42C0 -> 0x001E42C8 -> "c:\Users\Ben\devel\ps\binaries\system\test.exe"
listener = 0x0030FBA0 -> (CxxTest::TestListener)
main (test_root.cpp:17)
argc = 1 (0x00000001)
argv = 0x001E42C0 (see above)
__tmainCRTStartup (crtexe.c:586)
nested = 4187511306 (0xF9985A0A)
BaseThreadInitThunk (:0)
RtlInitializeExceptionChain (:0)
RtlInitializeExceptionChain (:0)
errno = 0 (No error reported here)
OS error = 487 (Attempt to access invalid address.)
#3:
Function call failed: return value was -100703 (Invalid UTF-8 sequence)
Location: utf8.cpp:84 (RaiseError)
Call stack:
RaiseError (utf8.cpp:84)
err = -100703 (0xFFFFFFFFFFFE76A1)
perr = (unavailable)
UTF8Codec::Decode (utf8.cpp:134)
srcPos = 0x0030F92C -> 0x001EF4F0 -> ""
],
"y": true
}"
srcEnd = 0x001EF504 -> [8] { 0 (0x00), 240 (0xF0), 173 (0xAD), 186 (0xBA), 171 (0xAB), 171 (0xAB), 171 (0xAB), 171 (0xAB) }
err = 0x00000000
offsets = [5] { 0 (0x00000000), 0 (0x00000000), 12416 (0x00003080), 925824 (0x000E2080), 63447168 (0x03C82080) }
wstring_from_utf8 (utf8.cpp:237)
src = 0x0030FA4C -> (error -100500 while analyzing string >)
err = 0x00000000
srcPos = 0x00000001
ScriptInterface::ParseJSON (scriptinterface.cpp:897)
this = (unavailable)
string_utf8 = 0x0030FA4C (see above)
attrsW = (error -100500 while analyzing basic_string<wchar_t,char_traits<wchar_t> >)
string = (error -100500 while analyzing wstring<utf16_traits >)
vp = 8 (0x0000000000000008)
TestScriptInterface::test_json (test_scriptinterface.h:140)
this = (unavailable)
val =
m_Val =
px = 0x05E0B1B0 -> 7118796211726961984 (0x62CB0B700461CD40)
pn =
pi_ = 0x0030F998 ->
use_count_ = 2029312 (0x001EF700)
weak_count_ = 1955361129 (0x748C7169)
script =
m = (error -100406 while analyzing auto_ptr<ScriptInterface_impl>)
input = (error -100500 while analyzing string >)
stringified = (error -100500 while analyzing string >)
e = 0x0030F9B8 -> (error -100406 while analyzing exception)
e = 0x00000405
e = 0x001EDCA8 -> (error -100406 while analyzing exception)
CxxTest::RealTestDescription::run (realdescriptions.cpp:99)
this = (unavailable)
e = 0x0030FA84 -> (error -100406 while analyzing exception)
CxxTest::TestRunner::runTest (testrunner.h:77)
this = (unavailable)
td = 0x00D26FC4 ->
_next = 0x00000000
_prev = 0x00D26FA8 ->
_next = 0x00D26FC4 (see above)
_prev = 0x00D26F8C ->
_next = 0x00D26FA8 (see above)
_prev = 0x00D26F70 ->
_next = 0x00D26F8C (see above)
_prev = 0x00D26F54 ->
_next = 0x00D26F70 (see above)
_prev = 0x00D26F38 ->
_next = 0x00D26F54 (see above)
_prev = 0x00D26F1C ->
_next = 0x00D26F38 (see above)
_prev = 0x00D26F00 ->
_next = 0x00D26F1C (see above)
_prev = 0x00D26EE4 ->
_next = 0x00D26F00 (see above)
_prev = 0x00000000
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
_active = true
sg =
_abortTestOnFail = false
_maxDumpSize = 3209980 (0x0030FAFC)
CxxTest::TestRunner::runSuite (testrunner.h:63)
this = (unavailable)
sd = 0x00D26EC0 ->
_next = 0x00D26FE8 ->
_next = 0x00D27030 ->
_next = 0x00D27078 ->
_next = 0x00D270DC ->
_next = 0x00D27140 ->
_next = 0x00D27190 ->
_next = 0x00D27224 ->
_next = 0x00D2726C ->
_next = 0x00D27538 ->
_next = 0x00D27668 ->
_next = 0x00D27814 ->
_next = 0x00D27878 ->
_next = 0x00D278F8 ->
_next = 0x00000000
_prev = 0x00D27878 (see above)
_active = true
_prev = 0x00D27814 (see above)
_active = true
_prev = 0x00D27668 (see above)
_active = true
_prev = 0x00D27538 (see above)
_active = true
_prev = 0x00D2726C (see above)
_active = true
_prev = 0x00D27224 (see above)
_active = true
_prev = 0x00D27190 (see above)
_active = true
_prev = 0x00D27140 (see above)
_active = true
_prev = 0x00D270DC (see above)
_active = true
_prev = 0x00D27078 (see above)
_active = true
_prev = 0x00D27030 (see above)
_active = true
_prev = 0x00D26FE8 (see above)
_active = true
_prev = 0x00D26EC0 (see above)
_active = true
_prev = 0x00D26E24 ->
_next = 0x00D26EC0 (see above)
_prev = 0x00D26CFC ->
_next = 0x00D26E24 (see above)
_prev = 0x00D26C28 ->
_next = 0x00D26CFC (see above)
_prev = 0x00D26BC4 ->
_next = 0x00D26C28 (see above)
(too much output; skipping to next top-level symbol)
_active = true
_active = true
_active = true
_active = true
sg =
_abortTestOnFail = false
_maxDumpSize = 3210048 (0x0030FB40)
CxxTest::PsTestRunner::runWorld (pstestwrapper.h:80)
this = (unavailable)
wd =
_next = 0x00000000
_prev = 0x00C45501 ->
_next = 0xC01BC82B ->
_next = (unavailable - internal error)
_prev = (unavailable - internal error)
_active = (unavailable - internal error)
_prev = 0xC823D0F7 ->
_next = (unavailable - internal error)
_prev = (unavailable - internal error)
_active = (unavailable - internal error)
_active = (bool)0x8B
_active = (bool)0x64
sg =
_abortTestOnFail = false
_maxDumpSize = 13393572 (0x00CC5EA4)
CxxTest::PsTestRunner::runAllTests (pstestwrapper.h:16707566)
listener = 0x00D2ABC8 -> (CxxTest::TestListener)
CxxTest::PsTestWrapper::runGui (pstestwrapper.h:96)
this = (unavailable)
argc = 0x0030FD50 -> 1 (0x00000001)
argv = 0x001E42C0 -> 0x001E42C8 -> "c:\Users\Ben\devel\ps\binaries\system\test.exe"
listener = 0x0030FBA0 -> (CxxTest::TestListener)
main (test_root.cpp:17)
argc = 1 (0x00000001)
argv = 0x001E42C0 (see above)
__tmainCRTStartup (crtexe.c:586)
nested = 4187511306 (0xF9985A0A)
BaseThreadInitThunk (:0)
RtlInitializeExceptionChain (:0)
RtlInitializeExceptionChain (:0)
errno = 0 (No error reported here)
OS error = 487 (Attempt to access invalid address.)
Change History
comment:2 Changed 22 months ago by historic_bruno
- Summary changed from TestScriptInterface::test_json fails with errors to Test failures on Windows
The tests appear to work in Linux and OS X but fail for me in Windows.
OS: Windows 7 Pro 64-bit
IDE: VS 2008 Express
There's two other failed tests btw:
In TestWdbgSym::test_stack_trace: c:\Users\Ben\devel\ps\libraries\wxwidgets\include\../../../source/lib/sysdep/os/win/tests/test_wdbg_sym.h(113): Error: Assertion failed: wcslen(text) > 500 (done dumping stack frames) In TestWdbgSym::test_stack_walk: c:\Users\Ben\devel\ps\libraries\wxwidgets\include\../../../source/lib/sysdep/os/win/tests/test_wdbg_sym.h(319): Error: Assertion failed: foundFunctionBits == bit_mask<size_t>((sizeof(*ArraySizeDeducer(funcAddresses))))
and there's a build warning for test_wdbg_sym.h, perhaps unrelated:
c:\users\ben\devel\ps\source\lib\sysdep\os\win\tests\test_wdbg_sym.h(59) : warning C4748: /GS can not protect parameters and local variables from local buffer overrun because optimizations are disabled in function
comment:3 Changed 22 months ago by jan
heh, I hate to say this again, but "it works for me" :/ Apart from the usual exceptions and even some of the announced access violations in release builds, all tests succeed without incident. This is with VC2010 (debug or release).
Investigating the foundFunctionBits problem (i.e. not all of the Func1..3 functions showed up in the stack trace) should provide information why the other one is failing as well. First question: what is the value of numCallers after Func3()? Would you please also record the callerName strings after the invocation of: ret = debug_ResolveSymbol(callers[idxCaller], callerName, 0, 0); and also funcName after ret = debug_ResolveSymbol(funcAddresses[idxFunc], funcName, 0, 0); ?
That should rule out any name mangling. The other cause I can think of is that your compiler doesn't include a recent version of the dbghelp library that we use to walk the stack - but there's a copy in binaries/system, so it doesn't appear terribly likely, either.
comment:4 Changed 22 months ago by historic_bruno
Hmm, no Func1 but RtlInitializeExceptionChain? appears twice:
numCallers: 14 callerName: Func2 funcName: Func1 funcName: Func2 funcName: Func3 callerName: Func3 funcName: Func1 funcName: Func2 funcName: Func3 callerName: TestWdbgSym::test_stack_walk funcName: Func1 funcName: Func2 funcName: Func3 callerName: CxxTest::RealTestDescription::run funcName: Func1 funcName: Func2 funcName: Func3 callerName: CxxTest::TestRunner::runTest funcName: Func1 funcName: Func2 funcName: Func3 callerName: CxxTest::TestRunner::runSuite funcName: Func1 funcName: Func2 funcName: Func3 callerName: CxxTest::PsTestRunner::runWorld funcName: Func1 funcName: Func2 funcName: Func3 callerName: CxxTest::PsTestRunner::runAllTests funcName: Func1 funcName: Func2 funcName: Func3 callerName: CxxTest::PsTestWrapper::runGui funcName: Func1 funcName: Func2 funcName: Func3 callerName: main funcName: Func1 funcName: Func2 funcName: Func3 callerName: __tmainCRTStartup funcName: Func1 funcName: Func2 funcName: Func3 callerName: BaseThreadInitThunk funcName: Func1 funcName: Func2 funcName: Func3 callerName: RtlInitializeExceptionChain funcName: Func1 funcName: Func2 funcName: Func3 callerName: RtlInitializeExceptionChain funcName: Func1 funcName: Func2 funcName: Func3
comment:5 Changed 22 months ago by Ross Bearman
Just to add to jan's comment; the tests also run fine for me in 64-bit VS2010 and VS2008, using the new workspaces (Premake4).
comment:6 Changed 22 months ago by jan
Thanks for getting the call stack, Ben! Looks pretty good. The 2x RtlInitializeExceptionChain is weird, but not cause for alarm. We usually don't see it because the normal stack walks stop at BaseThreadInitThunk. The OS does wrap us in an SEH handler, so RtlInitializeExceptionChain sounds legit. I see it also occurs twice in someone else's call stack: http://www.noxeos.com/2011/04/20/function-call-stack-windows/
As to the lack of Func1, that's got me perpexed. The context capturing is no different here (same OS). I'm tempted to blame it on VC2008 Express. Are you using the new Premake 4 to generate? Any chance of upgrading to VC2010 (preferably the real thing)?
Ross: thanks for the confirmation!
comment:7 Changed 22 months ago by historic_bruno
The test failures occurred in VC2008 Express with both old and new premake. I should point out it's a fairly new change in our code that triggers that, because they used to be OK. But maybe not worth worrying about.
Just tried VC2010 Express with new premake and there were no test failures.
comment:8 Changed 22 months ago by jan
Yeah, that code recently changed to work around a long-standing Windows bug that let to incorrect addresses and therefore much less useful stack traces. We definitely don't want to back out that change, and I don't see any particular mistake that would lead to such a problem, AND it works on VC2010, so it really is tempting to mark as works-for-me. It appears increasingly likely that this related/due to the compiler. After all, MS do fix hundreds of bugs in compiler service packs. Any objections to leaving this as-is and closing the ticket?
comment:9 Changed 22 months ago by historic_bruno
- Status changed from new to closed
- Resolution set to wontfix
Nope, sounds good to me :) It may be worth mentioning in the BuildInstructions though.
comment:10 Changed 22 months ago by jan
Good call :) I've added a note.
comment:11 Changed 10 months ago by historic_bruno
- Summary changed from Test failures on Windows to VC2008 Express test failures
