Horde3D
http://horde3d.org/forums/

Editor crashes on saving scene
http://horde3d.org/forums/viewtopic.php?f=6&t=1033
Page 1 of 1

Author:  DIMEDROLL [ 15.12.2009, 10:03 ]
Post subject:  Editor crashes on saving scene

Hello,
I'm building Horde3DEditor using VC2005, Qt4.5.2(shared dll).
The resulting exe is crashing when I try to save the file(it is stack corruption).
What Qt version do I need to use to build it correctly?

Author:  Volker [ 15.12.2009, 16:27 ]
Post subject:  Re: Editor crashes on saving scene

It should work with the version you have. Can you post the call stack when it crashes?

Author:  DIMEDROLL [ 21.12.2009, 06:27 ]
Post subject:  Re: Editor crashes on saving scene

I have downloaded HordeEditor and installed. Copied to other drive, set QTDIR to QT4.5.2_shared and opened a solution in MSVC2005.
Rebuild all in Release.
First of all I do get lots of warnigngs like this:
Quote:
Warning 10 warning LNK4006: "__declspec(dllimport) public: void __thiscall QXmlStreamWriter::writeStartDocument(void)" (__imp_?writeStartDocument@QXmlStreamWriter@@QAEXXZ) already defined in QtCore4.lib(QtCore4.dll); second definition ignored QtXml4.lib


also two link warnings at the end of building:
Quote:
Warning 513 warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library QTerrainNodeExtension
Warning 515 warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library HordeSceneEditor

I removed QXml.lib from QXmlTree project to get rid of LNK4006.
Building again.. warning LNK4098 is the only warning.
Running, good, saving scene - crash.

Building Debug:
I have no QT debug libraries built, so I changed debug to release(qtmaind.lib to qtmain.lib).
building debug version and launching fires warning:
Quote:
The plugin 'D:/Programming/3rdParty/HordeEditor/Tools/Horde3DEditor/bin/plugins/
QTerrainNodeExtensiond.dll' uses incompatible Qt library. Expected build key "Wi
ndows msvc release full-config", got "Windows msvc debug full-config"
The plugin 'D:/Programming/3rdParty/HordeEditor/Tools/Horde3DEditor/bin/plugins/
TerrainToolPlugInd.dll' uses incompatible Qt library. Expected build key "Window
s msvc release full-config", got "Windows msvc debug full-config"


Ok, Editor launched. I've added a new Node Reference(Knight) and tried to save:
Assertion failed with no valid block heap.
Here is Call Stack, but I think that the problem is not here but in corrupted stack(Probably that LNK4098 is the reason):
Quote:
ntdll.dll!7c90120e()
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]
ntdll.dll!7c96c201()
ntdll.dll!7c96c63e()
ntdll.dll!7c9603b0()
QtCore4.dll!670e2cdd()
kernel32.dll!7c85f8d7()
> msvcr80d.dll!_CrtIsValidHeapPointer(const void * pUserData=0x02457bd8) Line 2072 C++
msvcr80d.dll!_free_dbg_nolock(void * pUserData=0x02457bd8, int nBlockUse=0) Line 1279 + 0x9 bytes C++
msvcr80d.dll!_free_dbg(void * pUserData=0x02457bd8, int nBlockUse=0) Line 1220 + 0xd bytes C++
msvcr80d.dll!operator delete(void * pUserData=0x02457bd8) Line 54 + 0x10 bytes C++
HordeSceneEditord.exe!QModelIndex::`scalar deleting destructor'() + 0x32 bytes C++
HordeSceneEditord.exe!QList<QModelIndex>::node_destruct(QList<QModelIndex>::Node * from=0x0248502c, QList<QModelIndex>::Node * to=0x0248502c) Line 367 + 0x2f bytes C++
HordeSceneEditord.exe!QList<QModelIndex>::free(QListData::Data * data=0x02485018) Line 561 C++
HordeSceneEditord.exe!QList<QModelIndex>::~QList<QModelIndex>() Line 535 C++
HordeSceneEditord.exe!QReferenceNode::save() Line 89 C++
HordeSceneEditord.exe!SceneTreeView::save() Line 153 C++
HordeSceneEditord.exe!SceneTreeWidget::save() Line 55 C++
HordeSceneEditord.exe!HordeSceneEditor::saveScene() Line 475 C++
HordeSceneEditord.exe!HordeSceneEditor::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=5, void * * _a=0x0012c3b8) Line 123 + 0x8 bytes C++

Author:  Volker [ 21.12.2009, 07:31 ]
Post subject:  Re: Editor crashes on saving scene

I guess you are running into a problem of Qt I'm fighting with for years now. If you have Qt build for MSVC 2008 and create an Application with MSVC 2005 or vise versa, there is a strange crash within the destructor of QModelIndexList. Normally that should already result in a crash if you just select a node within the scene tree. I will do some tests with saving scenes today, but I'm nearly sure, that it is the problem with incompatible MSVC builds.

Author:  DIMEDROLL [ 24.12.2009, 07:48 ]
Post subject:  Re: Editor crashes on saving scene

Qt is built using MSVC 2005 and Horde3dEditor too

Author:  Volker [ 26.12.2009, 10:58 ]
Post subject:  Re: Editor crashes on saving scene

Did you used the Installer provided here?
I haven't used it for a while myself so I would suggest to do a checkout on the current Community branch, and try to build it in debug mode (linking against Qt debug) and try to reproduce this error again. I couldn't reproduce it with Qt 4.6 / MSVC 2008 under Windows 7.

Author:  pekuja [ 15.06.2010, 08:11 ]
Post subject:  Re: Editor crashes on saving scene

I have this same problem using the latest SVN trunk from the community branch for both Horde3D and the Scene Editor. And indeed I also get the crash if I select a scene node by right clicking on it. Selecting one from the list on the left works ok though.
I compiled both using MSVC++ 2010 Express Edition. Qt is version 4.6.3. I didn't compile Qt myself, but used the binaries provided by Nokia. Those are of course compiled with MSVC++ 2008. I'll see if I can compile my own version of Qt and let you know if that fixes the problem.
EDIT: I'm having trouble compiling Qt with MSVC++ 2010 so I'm going to fall back on 2008 instead. Hopefully it'll just work without major hitches.
EDIT2: After recompiling Horde3D and the editor with VC2008, the editor doesn't crash on save or select anymore. I did get some other random crash though, but I wasn't able to figure out why that happened. Will keep an eye on any further problems though.

Author:  Roland [ 09.04.2011, 10:20 ]
Post subject:  Re: Editor crashes on saving scene

Hello everybody.
I finally managed to successfully build the Editor with VS 2010 and Windows 7 64.

Volker wrote:
I guess you are running into a problem of Qt I'm fighting with for years now. If you have Qt build for MSVC 2008 and create an Application with MSVC 2005 or vise versa, there is a strange crash within the destructor of QModelIndexList. Normally that should already result in a crash if you just select a node within the scene tree. I will do some tests with saving scenes today, but I'm nearly sure, that it is the problem with incompatible MSVC builds.


I encountered this problem as well.

Using this guide and replacing the platform with
Code:
win32-msvc2010
in the configuration, I managed to get a Qt built which did let me compile the "Editor with GameEngine" without any errors (debug and release).
Only did a little bit of testing, but everything seems to work fine.

I could commit the solution and project files for VS2010 once I cleaned up my files and confirmed everything works on another computer.

Author:  Volker [ 09.04.2011, 11:12 ]
Post subject:  Re: Editor crashes on saving scene

Thanks for the feedback!

Don't know how many projects of the gameengine are already setup for VS2010. AFAIK some people at the university are already using VS2010 at least for the GameEngine. Would be nice, if you can add the editor projects, but maybe check, if there are already some VS2010 projects for the GameEngine, that should be used, or merged into your solution.

Page 1 of 1 All times are UTC + 1 hour
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/