查看单个帖子
旧 2009-05-06, 09:00 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】odinitialize crash in odarray when upgrading 1.12 to 1.13

odinitialize crash in odarray when upgrading 1.12 to 1.13
odinitialize crash in odarray when upgrading 1.12 to 1.13
hi!
when updating my development environment from 1.12 to 1.13 i suddenly get an access violation in odinitialize. i have copied the exsystemservices, exhostappservices, exgirasterimage and odfilebuf.h from the examples, and the core of what is done is based on the odvectorizeex example. i have also redefined ::new and ::delete as well as odrxalloc, odrxrealloc and odrxfree using the global*() functions of the win32 api.
i am using the multithreaded libraries and building with vs.net 2003 as a standard windows application. there are no other threads in play at this point.
odrx_init_static_module_map() has been called.
here is the call stack:
capture.exe!odarray<unsigned long,odmemoryallocator<unsigned long> >::copy_buffer() + 0x76 c++
capture.exe!odarray<unsigned long,odmemoryallocator<unsigned long> >::reallocator::reallocate() + 0x52 c++
capture.exe!odarray<unsigned long,odmemoryallocator<unsigned long> >::resize() + 0x72 c++
capture.exe!odarray<unsigned long,odmemoryallocator<unsigned long> >::insertat() + 0x36 c++
capture.exe!odbasedictionaryimpl<odstring,odrxobje ctptr,std::less<odstring>,odrxdictionaryitemimpl>: :insert() + 0x4b c++
capture.exe!odrxdictionaryimpl<std::less<odstring> >:utat() + 0x21a c++
capture.exe!odrxinitialize() + 0x137 c++
capture.exe!odinitialize() + 0x1c c++
> capture.exe!oda:dservices::initialize() line 58 + 0xa c++
thanks in advance..
lars wernlund
did you try standard remedies like delete .ncb, .opt + clean/rebuild?
vladimir
quote:
originally posted by wvk
did you try standard remedies like delete .ncb, .opt + clean/rebuild?
i have found the issue.. i have overridden odrxrealloc using the globalrealloc() function which returned 0. apparently there is no check for null return at this point, so there was an access violation!
cheers!
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)