Ticket #920 (closed defect: fixed)
Crash on exit: Handle tag mismatch (stale reference?)
| Reported by: | historic_bruno | Owned by: | |
|---|---|---|---|
| Priority: | Should Have | Milestone: | Alpha 7 |
| Component: | Core engine | Keywords: | |
| Cc: | jan |
Description
OS: Win 7 Pro 64-bit
Version: [9967] release build (32-bit), compiled with VC 2010 express
First time I've seen this type of error on this computer and not sure that I can reproduce it :/ Hope there's some info here that helps.
Function call failed: return value was -120003 (Handle tag mismatch (stale reference?))
Location: h_mgr.cpp:235 (h_data_tag)
Call stack:
h_data_tag_type (h_mgr.cpp:247)
h = 600834437 (0x0000000023D00185)
type = 0x002D6060 ->
init = 0x0021D9D0 -> (OglTex_init)
reload = 0x0021DA20 -> (OglTex_reload)
dtor = 0x0021C820 -> (OglTex_dtor)
validate = 0x0021D2A0 -> (OglTex_validate)
to_string = 0x0021C860 -> (OglTex_to_string)
user_size = 64 (0x00000040)
name = 0x0029CFB8 -> "OglTex"
hd = (unavailable)
h_free (h_mgr.cpp:583)
h = 0x03A0F280 -> 60879008 (0x0000000003A0F0A0)
type = 0x002D6060 (see above)
hd = 0x03A0F280 (see above)
ogl_tex_free (ogl_tex.cpp:557)
ht = 0x03A10E3C -> 0 (0x0000000000000000)
UniFont_dtor (unifont.cpp:70)
f = 0x03A10E3C (see above)
Shutdown (h_mgr.cpp:747)
ModuleShutdown (module_init.cpp:72)
initState = 0x002DA8CC -> 4294867266 (0xFFFE7942)
shutdown = 0x0021FE60 -> (Shutdown)
h_mgr_shutdown (h_mgr.cpp:761)
Shutdown (gamesetup.cpp:672)
__formal = 0 (0x00000000)
LINE_624_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 -> "resource modules"
LINE_629_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
LINE_634_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
LINE_641_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
LINE_647_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
LINE_651_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
LINE_655_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
LINE_661_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
LINE_674_ =
m_t0 = 56.3885 (0x404C31BA344CB175)
m_description = 0x00280078 (see above)
RunGameOrAtlas (main.cpp:493)
argc = 2 (0x00000002)
argv = (unavailable)
args =
m_Args = (unsupported vector<pair<CStr8,CStr8> >)
m_Arg0 =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 92 ('\')
paths =
m_root =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_rdata =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 8
m_data =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 62776
m_config =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 10072
m_cache =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 14458
m_logs =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 10066
replay =
m_Stream = 0x00000000
mod =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 57914
zip =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 23
paths =
m_root =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 0
m_rdata =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 8
m_data =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 62776
m_config =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 10072
m_cache =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 14458
m_logs =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 10066
builder =
m_VFS =
px = 0x020A2750 -> (IVFS)
pn =
pi_ = 0x002A0035 ->
use_count_ = 1811939328 (0x6C000000)
weak_count_ = 1979737344 (0x76006500)
m_Files = (unsupported vector<Path >)
m_TempDir =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 335
main (main.cpp:511)
argc = 2 (0x00000002)
argv = 0x020A7B38 -> 0x01FC83F0 -> "C:\Users\Ben\devel\ps\binaries\system\pyrogenesis.exe"
wmain (wseh.cpp:380)
argc = 2 (0x00000002)
argv = 0x01FC7A00 -> 0x01FC7A0C -> "C:\Users\Ben\devel\ps\binaries\system\pyrogenesis.exe"
utf8_argv = (unsupported vector<char * >)
ret = 33323520 (0x01FC7A00)
utf8 = (unsupported basic_string<char,char_traits<char> >)
CallStartupWithinTryBlock (wseh.cpp:397)
ret = 0 (0x00000000)
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 jan
Gah, this one's elusive. FYI, the exact error message is new, it's just somewhat more detailed reporting of the same crash at shutdown bug we've been seeing intermittently. The rarity made me think of a race condition, so I wrapped the important routines in critical sections (h_alloc, h_free, h_reload, h_find, h_force_free, Shutdown). That didn't solve the problem - I saw it once after, but unfortunately didn't remember to look in the debug output for the expected/actual handle value. Haven't been able to reproduce it since, even after a really long game. The next time you see this, please check the debug output for "h_mgr: expected handle %llx, got %llx\n". Hopefully that will provide a clue.
comment:3 Changed 22 months ago by historic_bruno
Try autostart, I get the error much more frequently that way.
Debug output:
h_mgr: expected handle 33f96a0, got 948800fa
comment:4 Changed 22 months ago by historic_bruno
- Status changed from new to closed
- Resolution set to duplicate
Duplicates #915.

Hmm, I've gotten this error 2-3 times since then.