Skip to content

Crashes in Release/RelWithDebug and not Debug #80

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
HelloKitty opened this issue Feb 7, 2025 · 1 comment
Open

Crashes in Release/RelWithDebug and not Debug #80

HelloKitty opened this issue Feb 7, 2025 · 1 comment

Comments

@HelloKitty
Copy link

For whatever reason, when compiling it myself and targeting one of the Release configs it will crash when loading the human female creature. However, it will not in Debug.

Exception thrown: read access violation.
<begin>$L0 was 0xDBD42E9778.

Callstack:

>	WMVx.exe!`core::TimelineBasedAnimationBlock<short>::fromDefinition<core::M2_VER_RANGE{unsigned int:264,unsigned int:4294967295}>'::`2'::<lambda_1>::operator()<std::vector<std::vector<unsigned int,std::allocator<unsigned int>>,std::allocator<std::vector<unsigned int,std::allocator<unsigned int>>>>>(const core::M2Array & def, std::vector<std::vector<unsigned int,std::allocator<unsigned int>>,std::allocator<std::vector<unsigned int,std::allocator<unsigned int>>>> & dest) Line 119	C++
 	WMVx.exe!core::TimelineBasedAnimationBlock<short>::fromDefinition<core::M2_VER_RANGE{unsigned int:264,unsigned int:4294967295}>(const core::AnimationBlockM2<core::M2_VER_RANGE{unsigned int:264,unsigned int:4294967295},void> & definition, const std::span<unsigned char,-1> buffer, const std::map<unsigned __int64,core::ChunkedFile,std::less<unsigned __int64>,std::allocator<std::pair<unsigned __int64 const ,core::ChunkedFile>>> & animFiles) Line 169	C++
 	WMVx.exe!`core::M2Loader::load'::`2'::<lambda_12>::operator()<core::M2_VER_RANGE{unsigned int:264,unsigned int:4294967295}>() Line 762	C++
 	[Inline Frame] WMVx.exe!core::M2_VER_RANGE_LIST<core::M2_VER_RANGE{unsigned int:264,unsigned int:4294967295},core::M2_VER_RANGE{unsigned int:0,unsigned int:263}>::match::__l2::<lambda_1>::operator()() Line 89	C++
 	[Inline Frame] WMVx.exe!core::M2_VER_RANGE_LIST<core::M2_VER_RANGE{unsigned int:264,unsigned int:4294967295},core::M2_VER_RANGE{unsigned int:0,unsigned int:263}>::match(unsigned int) Line 1088	C++
 	WMVx.exe!core::M2Loader::load(core::M2Data * m2, core::GameFileSystem * fs, const core::GameFileUri & uri) Line 725	C++
 	[Inline Frame] WMVx.exe!core::M2Loader::{ctor}(core::M2Data *) Line 79	C++
 	WMVx.exe!core::M2Model::make(core::GameFileSystem * fs, const core::GameFileUri & uri) Line 343	C++
 	[External Code]	
 	[Inline Frame] WMVx.exe!std::_Func_class<std::pair<std::unique_ptr<core::M2Model,std::default_delete<core::M2Model>>,std::vector<core::TextureLoadDef,std::allocator<core::TextureLoadDef>>>,core::GameFileSystem *,core::GameFileUri const &>::operator()(core::GameFileSystem * <_Args_0>, const core::GameFileUri &) Line 861	C++
 	WMVx.exe!core::Model::initialise(const core::GameFileUri & uri, std::function<std::pair<std::unique_ptr<core::M2Model,std::default_delete<core::M2Model>>,std::vector<core::TextureLoadDef,std::allocator<core::TextureLoadDef>>> __cdecl(core::GameFileSystem *,core::GameFileUri const &)> & factory, core::GameFileSystem * fs, core::GameDatabase * db, core::TextureManager & manager) Line 21	C++
 	WMVx.exe!LibraryFilesControl::{ctor}::__l2::<lambda_2>::operator()(QTreeWidgetItem * item) Line 41	C++
 	[Inline Frame] Qt6Core.dll!QtPrivate::QSlotObjectBase::call(QObject *) Line 469	C++
 	Qt6Core.dll!doActivate<0>(QObject * sender, int signal_index, void * * argv) Line 4086	C++
 	Qt6Core.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m, int local_signal_index, void * * argv) Line 4147	C++
 	[Inline Frame] Qt6Widgets.dll!QTreeWidget::itemActivated(QTreeWidgetItem * _t1, int _t2) Line 373	C++
 	Qt6Widgets.dll!QTreeWidgetPrivate::emitItemActivated(const QModelIndex & index) Line 2331	C++
 	[Inline Frame] Qt6Core.dll!QtPrivate::QSlotObjectBase::call(QObject *) Line 469	C++
 	Qt6Core.dll!doActivate<0>(QObject * sender, int signal_index, void * * argv) Line 4086	C++
 	Qt6Core.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m, int local_signal_index, void * * argv) Line 4147	C++
 	Qt6Widgets.dll!QAbstractItemView::activated(const QModelIndex & _t1) Line 695	C++
 	Qt6Widgets.dll!QTreeView::mouseDoubleClickEvent(QMouseEvent * event) Line 2001	C++
 	Qt6Widgets.dll!QWidget::event(QEvent * event) Line 9466	C++
 	Qt6Widgets.dll!QFrame::event(QEvent * e) Line 523	C++
 	Qt6Widgets.dll!QAbstractItemView::viewportEvent(QEvent * event) Line 1799	C++
 	Qt6Core.dll!QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject * receiver, QEvent * event) Line 1281	C++
 	Qt6Widgets.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3281	C++
 	Qt6Widgets.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 2766	C++
 	Qt6Core.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1142	C++
 	Qt6Widgets.dll!QApplicationPrivate::sendMouseEvent(QWidget * receiver, QMouseEvent * event, QWidget * alienWidget, QWidget * nativeWidget, QWidget * * buttonDown, QPointer<QWidget> & lastMouseReceiver, bool spontaneous, bool onlyDispatchEnterLeave) Line 2347	C++
 	Qt6Widgets.dll!QWidgetWindow::handleMouseEvent(QMouseEvent * event) Line 651	C++
 	Qt6Widgets.dll!QWidgetWindow::event(QEvent * event) Line 264	C++
 	Qt6Widgets.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3289	C++
 	Qt6Widgets.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 3241	C++
 	Qt6Core.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1142	C++
 	Qt6Gui.dll!QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent * e) Line 2368	C++
 	Qt6Gui.dll!QWindowSystemInterface::sendWindowSystemEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 1120	C++
 	Qt6Core.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 470	C++
 	Qt6Gui.dll!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 37	C++
 	[Inline Frame] Qt6Core.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag>) Line 100	C++
 	Qt6Core.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 181	C++
 	Qt6Core.dll!QCoreApplication::exec() Line 1486	C++
 	WMVx.exe!main(int argc, char * * argv) Line 16	C++
 	WMVx.exe!qtEntryPoint() Line 59	C++

Image

@Frostshake
Copy link
Owner

Can you clarify which game version your loading and the full path of the model used?

I've tested several clients and haven't encountered this issue, using latest changes on the main branch and VS 2022 17.12.4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants