Jump to content

Runtime Errors, VS 2010, Latest Revision, Clean Build


Recommended Posts

About 2 weeks ago I started getting an error whenever I try to run the program. Since I thought it might have something to do with the problems I was working on I reverted everything (it didn't help). I've even tried re-syncing completely which also didn't help. A couple of other things to note:

1) If I hit suppress, then I get the two attached errors.

2) This only happens in Debug mode (the two errors), if I switch to release mode they don't appear (but the one below still does) and the game hangs if I try to do anything at the main menu.

Any tips/advice on how to fix this so I can get back to coding?


Function call failed: return value was -1 (Function failed (no details available))
Location: file_system.cpp:157 (CreateDirectories)
Call stack:
CreateDirectories (file_system.cpp:157)
path = 0x0069EA3C ->
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized) }
mode = 448 (0x000001C0)
s =
st_dev = (uninitialized)
st_ino = (uninitialized)
st_mode = (uninitialized)
st_nlink = (uninitialized)
st_uid = (uninitialized)
st_gid = (uninitialized)
st_rdev = (uninitialized)
st_size = (uninitialized)
st_atime = (uninitialized)
st_mtime = (uninitialized)
st_ctime = (uninitialized)

CreateDirectories (file_system.cpp:151)
status_ = (uninitialized)
path = 0x0069EB18 ->
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 92 ('\'), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized) }
mode = 448 (0x000001C0)
s =
st_dev = (uninitialized)
st_ino = (uninitialized)
st_mode = (uninitialized)
st_nlink = (uninitialized)
st_uid = (uninitialized)
st_gid = (uninitialized)
st_rdev = (uninitialized)
st_size = (uninitialized)
st_atime = (uninitialized)
st_mtime = (uninitialized)
st_ctime = (uninitialized)

CreateDirectories (file_system.cpp:151)
status_ = (uninitialized)
path = 0x0069EBF4 ->
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 92 ('\'), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized) }
mode = 448 (0x000001C0)
s =
st_dev = (uninitialized)
st_ino = (uninitialized)
st_mode = (uninitialized)
st_nlink = (uninitialized)
st_uid = (uninitialized)
st_gid = (uninitialized)
st_rdev = (uninitialized)
st_size = (uninitialized)
st_atime = (uninitialized)
st_mtime = (uninitialized)
st_ctime = (uninitialized)

CreateDirectories (file_system.cpp:151)
status_ = (uninitialized)
path = 0x0069ECFC ->
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 92 ('\'), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized), (uninitialized) }
mode = 448 (0x000001C0)
s =
st_dev = (uninitialized)
st_ino = (uninitialized)
st_mode = (uninitialized)
st_nlink = (uninitialized)
st_uid = (uninitialized)
st_gid = (uninitialized)
st_rdev = (uninitialized)
st_size = (uninitialized)
st_atime = (uninitialized)
st_mtime = (uninitialized)
st_ctime = (uninitialized)

CreateDirectories (file_system.cpp:149)
path = 0x0069F24C ->
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 92 ('\'), (uninitialized), 39448, 172, 39696, 172, (uninitialized), (uninitialized) }
mode = 448 (0x000001C0)
s =
st_dev = (uninitialized)
st_ino = (uninitialized)
st_mode = (uninitialized)
st_nlink = (uninitialized)
st_uid = (uninitialized)
st_gid = (uninitialized)
st_rdev = (uninitialized)
st_size = (uninitialized)
st_atime = (uninitialized)
st_mtime = (uninitialized)
st_ctime = (uninitialized)

VFS::Mount (vfs.cpp:69)
status_ = (uninitialized)
this = 0x00AC8FF0 ->
(IVFS)
m_cacheSize = 209715200 (0x0C800000)
m_fileCache =
impl =
px = 0x00ACC7F0 ->
m_cache =
entries_awaiting_eviction = (unsupported list<CacheEntry<boost::shared_ptr<unsigned char>,Divider_Naive> >)
mgr =

map =

table_ =


buckets_ = 0x00000000
bucket_count_ = 11 (0x0000000B)
allocators_ =

(unsupported )
(unsupported )


current_ = false
funcs_ = [2] { { data_ = { buf = [1] { [8] { 205, 205, 205, 0, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
(too much output; skipping to next top-level symbol)
} }, { data_ = { buf = [1] { [8] { 205, 205, 0, 0, 0, 0, 0, 0 } }, align_ =
t0 = 205
t1 = 205
t2 = 205
t3 = 205
t4 = 205
t5 = 205
t6 = 205
t7 = 205
t8 = 205
t9 = 205
t10 = 205
t11 = 205
t12 = 205
t13 = 205
t14 = 205
t15 = 205
t16 = 205
t17 = 205
t18 = 205
t19 = 205
t20 = 205
t21 = 205
t22 = 205
t23 = 205
} } }
size_ = 0 (0x00000000)
mlf_ = 1.000000 (0x3F800000)
cached_begin_bucket_ = 0x00000000
max_load_ = 0 (0x00000000)

mcd_calc =
min_credit_density = 340282346638528860000000000000000000000.000000 (0x7F7FFFFF)
min_valid = false
is_min_entry = (bool)0xCD

m_allocator =
px = 0x00ACC8D0 ->
m_allocator =
impl =
px = 0x00ACC928 ->
m_pool =
da =
base = 0x10200000 -> (unavailable - internal error)
max_size_pa = 209715200 (0x0C800000)
cur_size = 0 (0x00000000)
cur_size_pa = 0 (0x00000000)
pos = 0 (0x00000000)
el_size = 0 (0x00000000)
freelist = 0x019D3FA8
m_segregatedRangeLists =
m_rangeLists = [32]

m_sentinel =
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACC948 ->
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACC948 (see above)
next = 0x00ACC948 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
next = 0x00ACC948 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
m_freeBlocks = 0 (0x00000000)
m_freeBytes = 0 (0x00000000)

m_sentinel =
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACC968 ->
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACC968 (see above)
next = 0x00ACC968 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
next = 0x00ACC968 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
m_freeBlocks = 0 (0x00000000)
m_freeBytes = 0 (0x00000000)

m_sentinel =
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACC988 ->
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACC988 (see above)
next = 0x00ACC988 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
next = 0x00ACC988 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
m_freeBlocks = 0 (0x00000000)
m_freeBytes = 0 (0x00000000)

m_sentinel =
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACC9A8 ->
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACC9A8 (see above)
next = 0x00ACC9A8 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
next = 0x00ACC9A8 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
m_freeBlocks = 0 (0x00000000)
m_freeBytes = 0 (0x00000000)

m_sentinel =
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACC9C8 ->
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACC9C8 (see above)
next = 0x00ACC9C8 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
next = 0x00ACC9C8 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
m_freeBlocks = 0 (0x00000000)
m_freeBytes = 0 (0x00000000)

m_sentinel =
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACC9E8 ->
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACC9E8 (see above)
next = 0x00ACC9E8 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
next = 0x00ACC9E8 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
m_freeBlocks = 0 (0x00000000)
m_freeBytes = 0 (0x00000000)

m_sentinel =
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACCA08 ->
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACCA08 (see above)
next = 0x00ACCA08 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
next = 0x00ACCA08 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
m_freeBlocks = 0 (0x00000000)
m_freeBytes = 0 (0x00000000)

m_sentinel =
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACCA28 ->
m_magic = -3617008641903833651 (0xCDCDCDCDCDCDCDCD)
prev = 0x00ACCA28 (see above)
next = 0x00ACCA28 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
next = 0x00ACCA28 (see above)
m_size = 3452816845 (0xCDCDCDCD)
m_id = 3452816845 (0xCDCDCDCD)
m_freeBlocks = 0 (0x00000000)
m_freeBytes = 0 (0x00000000)
...
m_bitmap = 0 (0x00000000)
m_boundaryTagManager =
m_freeBlocks = 0 (0x00000000)
m_freeBytes = 0 (0x00000000)
m_stats =
m_totalAllocatedBlocks = 0 (0x0000000000000000)
m_totalAllocatedBytes = 0 (0x0000000000000000)
m_totalDeallocatedBlocks = 0 (0x0000000000000000)
m_totalDeallocatedBytes = 0 (0x0000000000000000)
m_currentExtantBlocks = 0 (0x0000000000000000)
m_currentExtantBytes = 0 (0x0000000000000000)
m_currentFreeBlocks = 0 (0x0000000000000000)
m_currentFreeBytes = 0 (0x0000000000000000)

pn =
pi_ = 0x00ACCDD8 ->
use_count_ = 1 (0x00000001)
weak_count_ = 1 (0x00000001)


m_checker =
allocs = (unsupported map<void *,size_t >)

pn =
pi_ = 0x00ACCE80 ->
use_count_ = 1 (0x00000001)
weak_count_ = 1 (0x00000001)

pn =
pi_ = 0x00ACCED0 ->
use_count_ = 1 (0x00000001)
weak_count_ = 1 (0x00000001)

m_trace =
px = 0x00ACCF20 -> (ITrace)
pn =
pi_ = 0x00ACCF60 ->
use_count_ = 1 (0x00000001)
weak_count_ = 1 (0x00000001)
m_rootDirectory =
m_files = (unsupported map<Path,VfsFile >)
m_subdirectories = (unsupported map<Path,VfsDirectory >)
m_realDirectory =
px = 0x00000000
pn =
pi_ = 0x00000000

m_shouldPopulate = 0 (0x00000000)

mountPoint = 0x0069F228 ->
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 47 ('/'), (uninitialized), 39592, 172, 39824, 172, (uninitialized), (uninitialized) }
path = 0x0069F24C (see above)
flags = 0 (0x00000000)
priority = 0 (0x00000000)
directory = 0xCCCCCCCC
s = (ScopedLock)
realDirectory =
px = 0xCCCCCCCC
pn =
pi_ = 0xCCCCCCCC

InitVfs (gamesetup.cpp:456)
args = 0x0069FA70 ->
m_Args = (unsupported vector<pair<CStr8,CStr8> >)
m_Arg0 =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = [8] { 92 ('\'), (uninitialized), (uninitialized), (uninitialized), 53750, 45957, 64352, 105 ('i') }

hooks =
override_gl_upload_caps = 0x00000000
get_log_dir = 0x010EE2B0 -> (psLogDir)
bundle_logs = 0x010EDF50 -> (psBundleLogs)
translate = 0x00000000
translate_free = 0x00000000
log = 0x00000000
display_error = 0x010967A0 -> (psDisplayError)
readonlyConfig =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = (uninitialized)
mods = (unsupported vector<CStr8 >)
logs =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 92 ('\')
modLoosePath =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = (uninitialized)
modArchivePath =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = (uninitialized)
paths =
m_root =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 92 ('\')
m_rdata =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 92 ('\')
m_gameData =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 92 ('\')
m_userData =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 92 ('\')
m_config =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 92 ('\')
m_cache =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 92 ('\')
m_logs =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 92 ('\')

LINE_437_ =
m_t0 = 0.0524032 (0x3FAAD496DEF594E0)
m_description = 0x017E6D80 -> "InitVfs"
cacheSize = 209715200 (0x0C800000)
Init (gamesetup.cpp:834)
args = 0x0069FA70 (see above)
__formal = 0 (0x00000000)
profilerHTTPEnable = (uninitialized)
hooks =
override_gl_upload_caps = 0xCCCCCCCC
get_log_dir = 0xCCCCCCCC
bundle_logs = 0xCCCCCCCC
translate = 0xCCCCCCCC
translate_free = 0xCCCCCCCC
log = 0xCCCCCCCC
display_error = 0xCCCCCCCC

RunGameOrAtlas (main.cpp:525)
argc = 1 (0x00000001)
argv = 0x00AC8468 -> 0x00AC84A8 -> "E:\0 AD\build\workspaces\vc2010\..\..\..\binaries\system\pyrogenesis_dbg.exe"
ran_atlas = false
args =
m_Args = (unsupported vector<pair<CStr8,CStr8> >)
m_Arg0 =
path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
separator = 92 ('\')

res = 6.26566e-010 (0x3E058756238EFC37)
main (main.cpp:572)
argc = 1 (0x00000001)
argv = 0x00AC8468 (see above)
wmain (wseh.cpp:380)
i = 1 (0x00000001)
argc = 1 (0x00000001)
argv = 0x00AC4E48 -> 0x00AC4E50 -> "E:\0 AD\build\workspaces\vc2010\..\..\..\binaries\system\pyrogenesis_dbg.exe"
utf8_argv = (unsupported vector<char * >)
ret = (uninitialized)
wmainCRTStartup (crtexe.c:371)
CallStartupWithinTryBlock (wseh.cpp:396)
ret = (uninitialized)
wseh_EntryPoint (wseh.cpp:424)
LdrInitializeThunk (:0)
LdrInitializeThunk (:0)

errno = 17 (?)
OS error = 183 (Cannot create a file when that file already exists.)

post-14429-0-69860100-1337534502_thumb.j

post-14429-0-33041300-1337534514_thumb.j

Edited by MattDoerksen
Link to comment
Share on other sites

I was on a very late Alpha 9 build (not sure exactly when the last time I synced up when it worked, probably close to 4 weeks ago, Windows 7). I used to have Windows 7 but I'd been looking for a chance to refresh everything so I migrated to Win 8. I'll see if I can go back before r11389 and check if it works. If so, I can look at debugging this issue and why Win 8 doesn't like CSIDL_PERSONAL (or at least my configuration).

Link to comment
Share on other sites

It dies out on this line in wutil.cpp, personalPath = GetFolderPath(CSIDL_PERSONAL); since it can't find the path. I'll see if I can find out why.

Not sure what you mean by "dies out on this line", since that line looks incapable of failing by itself :). Do you mean the "ENSURE(SUCCEEDED(ret))" inside GetFolderPath was failing? (If so, what value was 'ret'?)

One reason it might not work is that CSIDL* are deprecated since Vista

I don't think that should matter - it should be supported forever for compatibility (since it's a very widely used API), and nobody else has reported similar errors on Vista/Win7, as far as I'm aware.

Link to comment
Share on other sites

Not sure what you mean by "dies out on this line", since that line looks incapable of failing by itself :). Do you mean the "ENSURE(SUCCEEDED(ret))" inside GetFolderPath was failing? (If so, what value was 'ret'?)

I don't think that should matter - it should be supported forever for compatibility (since it's a very widely used API), and nobody else has reported similar errors on Vista/Win7, as far as I'm aware.

My mistake, I should have explained it better earlier, it does fail on the ENSURE(SUCCEEDED(ret)) line. Ret is now 'device is not ready' which changed recently, before it was something like path not found.

It's weird that this happened since it just stopped working one day while I was still running Windows 7 (no changes were made over that period, after syncing it broke).

Link to comment
Share on other sites

The weirdest thing I have in my setup is relocated My Documents to my other (internal) drive, but that's just changing the reference in libraries, I don't actually move anything that already exists. And that wasn't a problem with my old setup either, it just stopped working with update r11389.

I'm going to try blowing away my profile. Maybe re-creating it will reset whatever weird behavior is happening.

Edited by MattDoerksen
Link to comment
Share on other sites

Basically the game stopped on that line (ENSURE(SUCCEEDED(ret)) since it couldn't find the directory. I guess we could look at:

1) Printing a debug message and a message to the user (ask if they have any weird shortcuts or if they've moved their My Documents, etc.).

2) Redirecting the folder to something "standard" (C: emp0AD) or temporary so that they know about the problem.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...