MantisBT - VCMI
View Issue Details
0001044VCMIMechanics - Otherpublic2012-08-04 18:452014-05-30 17:41
douggie_m 
Ivan 
normalcrashalways
closedfixed 
PowerPCGNU/LinuxDebian Sid
 
0.9 
0001044: Crash with rev2810 on an attempt to load any previously saved game
Warning format version mismatch: found 3691118592 when current is 732! (file /home/username/.vcmi/Games/Hardy.vlgm1)
Version number reversed is 732, checking...
/home/username/.vcmi/Games/Hardy.vlgm1 seems to have different endianess! Entering reversing mode.
Warning format version mismatch: found 3691118592 when current is 732! (file /home/username/.vcmi/Games/CrashDragonFlyHive.vlgm1)
Version number reversed is 732, checking...
/home/username/.vcmi/Games/CrashDragonFlyHive.vlgm1 seems to have different endianess! Entering reversing mode.


Loading procedure started!

[New Thread 0xee502450 (LWP 14948)]
Warning format version mismatch: found 3691118592 when current is 732! (file /home/username/.vcmi/Games/CrashDragonFlyHive.vlgm1)
Version number reversed is 732, checking...
/home/username/.vcmi/Games/CrashDragonFlyHive.vlgm1 seems to have different endianess! Entering reversing mode.
Reading save signature: 20

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xf2d03450 (LWP 14943)]
0x103cdadc in CISer<CLoadFile>::loadPointerHlp<CArtifact*> (this=0xf2d02710, tid=256, data=@0xe9b37ec8: 0x0, pid=285212672) at ../lib/Connection.h:867
867 loaders[tid]->loadPtr(*this,&data, pid);
(gdb) bt
#0 0x103cdadc in CISer<CLoadFile>::loadPointerHlp<CArtifact*> (this=0xf2d02710, tid=256, data=@0xe9b37ec8: 0x0, pid=285212672) at ../lib/Connection.h:867
#1 0x103c709c in CISer<CLoadFile>::loadPointer<CArtifact*> (this=0xf2d02710, data=@0xe9b37ec8: 0x0) at ../lib/Connection.h:850
0000002 0x103bfdc0 in LoadPointer<CLoadFile, CArtifact*>::invoke (s=..., data=@0xe9b37ec8: 0x0) at ../lib/Connection.h:156
0000003 0x103b9c78 in CISer<CLoadFile>::load<CArtifact*> (this=0xf2d02710, data=@0xe9b37ec8: 0x0) at ../lib/Connection.h:758
0000004 0x103b543c in CISer<CLoadFile>::operator>><CArtifact*> (this=0xf2d02710, t=@0xe9b37ec8: 0x0) at ../lib/Connection.h:725
0000005 0x103d6c74 in CISer<CLoadFile>::operator&<CArtifact*> (this=0xf2d02710, t=@0xe9b37ec8: 0x0) at ../lib/Connection.h:732
0000006 0x103d26e0 in ConstTransitivePtr<CArtifact>::serialize<CISer<CLoadFile> > (this=0xe9b37ec8, h=..., version=732) at ../lib/../lib/ConstTransitivePtr.h:72
0000007 0x103cd61c in CISer<CLoadFile>::loadSerializableBySerializeCall<ConstTransitivePtr<CArtifact> > (this=0xf2d02710, data=...) at ../lib/Connection.h:783
0000008 0x103c6bb8 in CISer<CLoadFile>::loadSerializable<ConstTransitivePtr<CArtifact> > (this=0xf2d02710, data=...) at ../lib/Connection.h:790
0000009 0x103bfa64 in LoadSerializable<CLoadFile, ConstTransitivePtr<CArtifact> >::invoke (s=..., data=...) at ../lib/Connection.h:180
0000010 0x103b98bc in CISer<CLoadFile>::load<ConstTransitivePtr<CArtifact> > (this=0xf2d02710, data=...) at ../lib/Connection.h:758
0000011 0x103b52d4 in CISer<CLoadFile>::operator>><ConstTransitivePtr<CArtifact> > (this=0xf2d02710, t=...) at ../lib/Connection.h:725
0000012 0x103b1ba0 in CISer<CLoadFile>::loadSerializable<ConstTransitivePtr<CArtifact> > (this=0xf2d02710, data=...) at ../lib/Connection.h:901
0000013 0x103b01d8 in LoadSerializable<CLoadFile, std::vector<ConstTransitivePtr<CArtifact>, std::allocator<ConstTransitivePtr<CArtifact> > > >::invoke (s=..., data=...)
    at ../lib/Connection.h:180
0000014 0x103aeff8 in CISer<CLoadFile>::load<std::vector<ConstTransitivePtr<CArtifact>, std::allocator<ConstTransitivePtr<CArtifact> > > > (this=0xf2d02710, data=...)
    at ../lib/Connection.h:758
0000015 0x103adb88 in CISer<CLoadFile>::operator>><std::vector<ConstTransitivePtr<CArtifact>, std::allocator<ConstTransitivePtr<CArtifact> > > > (this=0xf2d02710, t=...)
    at ../lib/Connection.h:725
0000016 0x103ac3f4 in CISer<CLoadFile>::operator&<std::vector<ConstTransitivePtr<CArtifact>, std::allocator<ConstTransitivePtr<CArtifact> > > > (this=0xf2d02710, t=...)
    at ../lib/Connection.h:732
0000017 0x103aad44 in CArtHandler::serialize<CISer<CLoadFile> > (this=0xe9b37d90, h=..., version=732) at ../lib/../lib/CArtHandler.h:215
0000018 0x103a971c in CISer<CLoadFile>::loadSerializableBySerializeCall<CArtHandler> (this=0xf2d02710, data=...) at ../lib/Connection.h:783
0000019 0x103a8124 in CISer<CLoadFile>::loadSerializable<CArtHandler> (this=0xf2d02710, data=...) at ../lib/Connection.h:790
0000020 0x103a708c in LoadSerializable<CLoadFile, CArtHandler>::invoke (s=..., data=...) at ../lib/Connection.h:180
0000021 0x103a5c28 in CISer<CLoadFile>::load<CArtHandler> (this=0xf2d02710, data=...) at ../lib/Connection.h:758
0000022 0x103a3ea4 in CISer<CLoadFile>::operator>><CArtHandler> (this=0xf2d02710, t=...) at ../lib/Connection.h:725
0000023 0x103a1420 in CISer<CLoadFile>::loadPointerHlp<CArtHandler*> (this=0xf2d02710, tid=0, data=@0xf512f794: 0xe9b37d90, pid=176) at ../lib/Connection.h:863
0000024 0x1039f3bc in CISer<CLoadFile>::loadPointer<CArtHandler*> (this=0xf2d02710, data=@0xf512f794: 0xe9b37d90) at ../lib/Connection.h:850
0000025 0x1039e260 in LoadPointer<CLoadFile, CArtHandler*>::invoke (s=..., data=@0xf512f794: 0xe9b37d90) at ../lib/Connection.h:156
0000026 0x1039d15c in CISer<CLoadFile>::load<CArtHandler*> (this=0xf2d02710, data=@0xf512f794: 0xe9b37d90) at ../lib/Connection.h:758
0000027 0x1039b3bc in CISer<CLoadFile>::operator>><CArtHandler*> (this=0xf2d02710, t=@0xf512f794: 0xe9b37d90) at ../lib/Connection.h:725
0000028 0x103990ec in CISer<CLoadFile>::operator&<CArtHandler*> (this=0xf2d02710, t=@0xf512f794: 0xe9b37d90) at ../lib/Connection.h:732
0000029 0x10396760 in LibClasses::serialize<CISer<CLoadFile> > (this=0xf512f790, h=..., version=732) at ../lib/VCMI_Lib.h:49
0000030 0x10392fd0 in CISer<CLoadFile>::loadSerializableBySerializeCall<LibClasses> (this=0xf2d02710, data=...) at ../lib/Connection.h:783
0000031 0x1038d4b4 in CISer<CLoadFile>::loadSerializable<LibClasses> (this=0xf2d02710, data=...) at ../lib/Connection.h:790
0000032 0x10384a58 in LoadSerializable<CLoadFile, LibClasses>::invoke (s=..., data=...) at ../lib/Connection.h:180
0000033 0x1037ad00 in CISer<CLoadFile>::load<LibClasses> (this=0xf2d02710, data=...) at ../lib/Connection.h:758
0000034 0x103731f4 in CISer<CLoadFile>::operator>><LibClasses> (this=0xf2d02710, t=...) at ../lib/Connection.h:725
0000035 0x103670b8 in CClient::loadGame (this=0x10cb2c60, fname=...) at Client.cpp:242
0000036 0x10447e40 in startGame (options=0x10bafa80, serv=0x0) at CMT.cpp:851
0000037 0x104d33d0 in CSelectionScreen::startGame (this=0x10cb2c60) at CPreGame.cpp:837
0000038 0x10539c3c in boost::_mfi::mf0<void, CSelectionScreen>::operator() (this=0x10c548ac, p=0x10cb2c60) at /usr/include/boost/bind/mem_fn_template.hpp:49
0000039 0x105321c8 in boost::_bi::list1<boost::_bi::value<CSelectionScreen*> >::operator()<boost::_mfi::mf0<void, CSelectionScreen>, boost::_bi::list0> (this=0x10c548b4, f=...,
    a=...) at /usr/include/boost/bind/bind.hpp:253
0000040 0x10529c68 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, CSelectionScreen>, boost::_bi::list1<boost::_bi::value<CSelectionScreen*> > >::operator() (this=0x10c548ac)
    at /usr/include/boost/bind/bind_template.hpp:20
0000041 0x1051f000 in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, CSelectionScreen>, boost::_bi::list1<boost::_bi::value<CSelectionScreen*> > >, void>::invoke (function_obj_ptr=...) at /usr/include/boost/function/function_template.hpp:153
0000042 0x102342d0 in boost::function0<void>::operator() (this=0x10c548a8) at /usr/include/boost/function/function_template.hpp:760
0000043 0x10234724 in CFunctionList<void ()>::operator()() const (this=0x10c09b1c) at ./UIFramework/../FunctionList.h:62
0000044 0x104d84b8 in SelectionTab::onDoubleClick (this=0x10bc4080) at CPreGame.cpp:1501
0000045 0x10210890 in CGuiHandler::handleEvent (this=0x10850ffc, sEvent=0xea2579e8) at ./UIFramework/CGuiHandler.cpp:193
0000046 0x102102f8 in CGuiHandler::handleEvents (this=0x10850ffc) at ./UIFramework/CGuiHandler.cpp:140
0000047 0x104d040c in CGPreGame::update (this=0x10b45970) at CPreGame.cpp:496
0000048 0x10211d40 in CGuiHandler::run (this=0x10850ffc) at ./UIFramework/CGuiHandler.cpp:349
0000049 0x10458e0c in boost::_mfi::mf0<void, CGuiHandler>::operator() (this=0xe9b4ac3c, t=...) at /usr/include/boost/bind/mem_fn_template.hpp:70
---Type <return> to continue, or q <return> to quit---
0000050 0x10458b64 in boost::_bi::list1<boost::reference_wrapper<CGuiHandler> >::operator()<boost::_mfi::mf0<void, CGuiHandler>, boost::_bi::list0> (this=0xe9b4ac44, f=..., a=...)
    at /usr/include/boost/bind/bind.hpp:253
0000051 0x10458a34 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, CGuiHandler>, boost::_bi::list1<boost::reference_wrapper<CGuiHandler> > >::operator() (this=0xe9b4ac3c)
    at /usr/include/boost/bind/bind_template.hpp:20
0000052 0x10458160 in boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, CGuiHandler>, boost::_bi::list1<boost::reference_wrapper<CGuiHandler> > > >::run (
    this=0xe9b4ab38) at /usr/include/boost/thread/detail/thread.hpp:62
0000053 0x0e3ea40c in ?? () from /usr/lib/libboost_thread.so.1.49.0
0000054 0x0dd707b0 in start_thread (arg=<optimized out>) at pthread_create.c:306
0000055 0x0de96930 in clone () at ../sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S:123
(gdb)
Try to load any saved game with new revision (2810).
No tags attached.
png vcmi-r2810-screenshot_1.png (1,640,328) 2012-08-04 19:15
https://bugs.vcmi.eu/file_download.php?file_id=1033&type=bug
png vcmi-r2810-screenshot_2.png (1,125,337) 2012-08-04 19:20
https://bugs.vcmi.eu/file_download.php?file_id=1034&type=bug
bz2 vcmi_logs.tar.bz2 (12,620) 2012-08-08 19:27
https://bugs.vcmi.eu/file_download.php?file_id=1036&type=bug
Issue History
2012-08-04 18:45douggie_mNew Issue
2012-08-04 18:56douggie_mNote Added: 0002830
2012-08-04 19:05douggie_mNote Added: 0002831
2012-08-04 19:08douggie_mNote Edited: 0002831bug_revision_view_page.php?bugnote_id=2831#r1792
2012-08-04 19:14douggie_mNote Added: 0002832
2012-08-04 19:15douggie_mFile Added: vcmi-r2810-screenshot_1.png
2012-08-04 19:18WarmongerNote Added: 0002833
2012-08-04 19:20douggie_mFile Added: vcmi-r2810-screenshot_2.png
2012-08-04 19:24douggie_mNote Added: 0002834
2012-08-04 20:24douggie_mNote Edited: 0002834bug_revision_view_page.php?bugnote_id=2834#r1794
2012-08-05 10:55IvanNote Added: 0002836
2012-08-05 11:00IvanNote Edited: 0002836bug_revision_view_page.php?bugnote_id=2836#r1799
2012-08-05 17:10douggie_mNote Added: 0002838
2012-08-05 17:57IvanAssigned To => Ivan
2012-08-05 17:57IvanStatusnew => assigned
2012-08-05 20:04douggie_mNote Edited: 0002838bug_revision_view_page.php?bugnote_id=2838#r1801
2012-08-07 11:30IvanNote Added: 0002844
2012-08-07 11:30IvanStatusassigned => feedback
2012-08-07 20:09douggie_mNote Added: 0002846
2012-08-07 20:09douggie_mStatusfeedback => assigned
2012-08-07 21:02douggie_mNote Added: 0002847
2012-08-07 21:13douggie_mNote Added: 0002849
2012-08-07 21:14douggie_mNote Edited: 0002847bug_revision_view_page.php?bugnote_id=2847#r1807
2012-08-07 21:14douggie_mNote Edited: 0002849bug_revision_view_page.php?bugnote_id=2849#r1809
2012-08-07 21:16douggie_mNote Added: 0002850
2012-08-07 21:17douggie_mNote Edited: 0002850bug_revision_view_page.php?bugnote_id=2850#r1811
2012-08-07 21:51IvanNote Added: 0002852
2012-08-08 17:14douggie_mNote Added: 0002859
2012-08-08 18:32IvanNote Added: 0002860
2012-08-08 19:25douggie_mNote Added: 0002861
2012-08-08 19:27douggie_mFile Added: vcmi_logs.tar.bz2
2012-08-08 19:28douggie_mNote Edited: 0002861bug_revision_view_page.php?bugnote_id=2861#r1816
2012-08-08 19:30douggie_mNote Edited: 0002861bug_revision_view_page.php?bugnote_id=2861#r1817
2012-08-08 19:53douggie_mNote Edited: 0002861bug_revision_view_page.php?bugnote_id=2861#r1818
2012-08-08 19:57IvanNote Added: 0002862
2012-08-08 20:04douggie_mNote Added: 0002863
2012-08-08 20:04douggie_mNote Edited: 0002863bug_revision_view_page.php?bugnote_id=2863#r1820
2012-08-08 20:05douggie_mNote Edited: 0002863bug_revision_view_page.php?bugnote_id=2863#r1821
2012-08-08 20:58IvanNote Added: 0002864
2012-08-08 22:17douggie_mNote Added: 0002865
2012-08-08 22:35douggie_mNote Edited: 0002865bug_revision_view_page.php?bugnote_id=2865#r1823
2012-08-08 22:38douggie_mNote Edited: 0002865bug_revision_view_page.php?bugnote_id=2865#r1824
2012-08-10 08:51IvanNote Added: 0002871
2012-08-10 14:04douggie_mNote Added: 0002872
2012-08-10 14:32douggie_mNote Edited: 0002872bug_revision_view_page.php?bugnote_id=2872#r1826
2012-08-10 14:33douggie_mNote Edited: 0002872bug_revision_view_page.php?bugnote_id=2872#r1827
2012-08-10 14:34douggie_mNote Edited: 0002872bug_revision_view_page.php?bugnote_id=2872#r1828
2012-08-10 14:39douggie_mNote Edited: 0002872bug_revision_view_page.php?bugnote_id=2872#r1829
2012-08-10 14:48IvanNote Added: 0002873
2012-08-10 15:04douggie_mNote Edited: 0002872bug_revision_view_page.php?bugnote_id=2872#r1830
2012-08-10 15:06douggie_mNote Added: 0002874
2012-08-10 15:26IvanNote Added: 0002875
2012-08-10 15:38douggie_mNote Added: 0002876
2012-08-10 16:11douggie_mNote Added: 0002877
2012-08-10 16:12douggie_mNote Edited: 0002877bug_revision_view_page.php?bugnote_id=2877#r1832
2012-08-10 16:15IvanNote Added: 0002878
2012-08-10 16:15IvanStatusassigned => resolved
2012-08-10 16:15IvanFixed in Version => 0.9
2012-08-10 16:15IvanResolutionopen => fixed
2014-05-30 17:41beegeeStatusresolved => closed

Notes
(0002830)
douggie_m   
2012-08-04 18:56   
Found this with svn log:

> r2807 | Ivan91 | 2012-08-01 08:02:54 -0400 (Wed, 01 Aug 2012) | 7 lines
> large filesystem update. Filesysytem is now fully functional, everything should work

Looks like you broke a lot of stuff with that "new filesystem".
(0002831)
douggie_m   
2012-08-04 19:05   
(edited on: 2012-08-04 19:08)
EDIT: My bad.

New games can be started perfectly. But, when I save them, they cannot be be found in load screen. (Just lost?)

(0002832)
douggie_m   
2012-08-04 19:14   
System looks like know that the save game already exists (see screenshot 1). But load game screen does not (see screenshot 2). As well as `ls ~/.vcmi/Games':

all_for_one.vcgm1 Autosave_1.vsgm1 Autosave_3.vlgm1 Autosave_5.vcgm1 Autosave_6.vsgm1 grail_1.vlgm1 Hardy.vcgm1 Newgame_Autosave_1.vsgm1 Newgame_Autosave_3.vlgm1 Newgame_Autosave_5.vcgm1
all_for_one.vlgm1 Autosave_2.vcgm1 Autosave_3.vsgm1 Autosave_5.vlgm1 CrashDragonFlyHive.vcgm1 grail_1.vsgm1 Hardy.vlgm1 Newgame_Autosave_2.vcgm1 Newgame_Autosave_3.vsgm1 Newgame_Autosave_5.vlgm1
all_for_one.vsgm1 Autosave_2.vlgm1 Autosave_4.vcgm1 Autosave_5.vsgm1 CrashDragonFlyHive.vlgm1 grail_2.vcgm1 Hardy.vsgm1 Newgame_Autosave_2.vlgm1 Newgame_Autosave_4.vcgm1 Newgame_Autosave_5.vsgm1
Autosave_1.vcgm1 Autosave_2.vsgm1 Autosave_4.vlgm1 Autosave_6.vcgm1 CrashDragonFlyHive.vsgm1 grail_2.vlgm1 Newgame_Autosave_1.vcgm1 Newgame_Autosave_2.vsgm1 Newgame_Autosave_4.vlgm1
Autosave_1.vlgm1 Autosave_3.vcgm1 Autosave_4.vsgm1 Autosave_6.vlgm1 grail_1.vcgm1 grail_2.vsgm1 Newgame_Autosave_1.vlgm1 Newgame_Autosave_3.vcgm1 Newgame_Autosave_4.vsgm1
(0002833)
Warmonger   
2012-08-04 19:18   
Most likely broken in r2805. Serialization of every new object makes previous savegames incompatible, unfortunatelly :(
(0002834)
douggie_m   
2012-08-04 19:24   
(edited on: 2012-08-04 20:24)
> Serialization of every new object makes previous savegames incompatible, unfortunatelly :(

Why can't serialization be compatible with older saves? But if it can't, then okay. You just must mention that in commit log, for example. And fix at least unablity to load current version's saved games. And that "all caps" issue.

(0002836)
Ivan   
2012-08-05 10:55   
(edited on: 2012-08-05 11:00)
All caps looks to be my fault. Will fix.
And I know where missing saves are coming from - restarting client should fix that.

Usually any serialization changes make old saves incompatible. So he somewhat mentioned that.

(0002838)
douggie_m   
2012-08-05 17:10   
(edited on: 2012-08-05 20:04)
> I know where missing saves are coming from - restarting client should fix that.

No. I saved and exited vcmiclient, and tried to save (see screenshot 1). "restarting client" does nothing. At least as in r2810.

(0002844)
Ivan   
2012-08-07 11:30   
Should be fixed in rev. 2813
Please recheck. Old savegames *may* be corrupted but new ones should work fine.
(0002846)
douggie_m   
2012-08-07 20:09   
> Old savegames *may* be corrupted but new ones should work fine.

So... I'll never get gorynych savegames... Okay. will test now.
(0002847)
douggie_m   
2012-08-07 21:02   
(edited on: 2012-08-07 21:14)
with rev2813

1: menus are correctly colored
2: saved game names are correctly capitalized
3: still segfaulting with an attempt to load previously saved game (maybe... uhm... some error message/dialog/popup here?)
4: still can't see any new save game inside load game screen

Bug is still open (r/g p.3).

(0002849)
douggie_m   
2012-08-07 21:13   
(edited on: 2012-08-07 21:14)
UPD: 4: I exited vcmiclient and launched it again, and only then the new save game appeared in the list, and has been loaded successfully.

So there's another bug: in addition to segfaulting with an attempt to load "older" saved games, the fact that I must quit and re-launch the game (vcmiclient) to get my just saved game to be loaded.

(0002850)
douggie_m   
2012-08-07 21:16   
(edited on: 2012-08-07 21:17)
UPD: 4: It was test2810 actually (which I did day/two ago), not test2813 (I saved just some minutes ago). I.e. something re-called that saved game from the hell/heaven ;)

Still very broken.

(0002852)
Ivan   
2012-08-07 21:51   
My bad. One missing line of code :)
Check rev 2814 - restarting client to see savegames should be fixed.

There is way to mark "save format had changed" but it will block loading of saves from last 0000021:0000005 revisions as well.
(0002859)
douggie_m   
2012-08-08 17:14   
It is not fixed. I wonder how and why it works on your side.
That's what I've got: basic_ios::clear errors:

----------------------------------------
Map loaded!
        Our checksum for the map: 3194223894
Seed after init is 1444623157 (before was 1344445483)
Initializing GameState (together): 380
Creating mapHandler: 0
        Unpacking and handling defs: 400
        Preparing FoW, roads, rivers,borders: 40
        Making object rects: 80
Initializing mapHandler (together): 520
Opening VCAI
Loaded VCAI
Player 1 will be lead by VCAI
Opening VCAI
Loaded VCAI
Player 2 will be lead by VCAI
Opening StupidAI
Loaded Stupid AI 0.1
CStupidAI [0x13e76058]: created
CStupidAI [0x13e76058]: init called, saving ptr to IBattleCallback
System message: Game has been saved as Saves/Newgame_Autosave_1
Failed to process SAVES/NEWGAME_AUTOSAVE_1: basic_ios::clear
System message: Game has been saved as Saves/newgame1
Connection has been requested to be closed.
Sent closing signal to the server
Connection handler thread joined
Our socket has been closed.
Closed connection.

Ending current game!
Removed GUI.
Warning: an orphaned child!
Warning: an orphaned child!
Server closed correctly
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Deleted mapHandler and gameState.
Deleted playerInts.
Client stopped.
Failed to process SAVES/NEWGAME1: basic_ios::clear
Failed to process SAVES/NEWGAME_AUTOSAVE_1: basic_ios::clear
----------------------------------------
(0002860)
Ivan   
2012-08-08 18:32   
Maybe some kind of incomplete update? It definitely works for me and I have clean trunk right now.

Can you do this:
1) remove all savegames from ~/.vcmi/Games
2) start game
3) manually save game (not autosave)

And upload both logs from ~/.vcmi - they have a bit more data compared to console output.
(0002861)
douggie_m   
2012-08-08 19:25   
(edited on: 2012-08-08 19:53)
> Maybe some kind of incomplete update? It definitely works for me and I have clean trunk right now.

I'm doing fresh checkouts (removing vcmi-svn directory completely).

> Can you do this:
> 1) remove all savegames from ~/.vcmi/Games
> 2) start game
> 3) manually save game (not autosave)

That's exactly what I did before posting 0002859 ;)

Logs will be attached. There're 3 of them, not two:
vcmi_logs/VCMI_Server_log.txt
vcmi_logs/VCMI_Client_log.txt
vcmi_logs/server_log.txt

Also, savegame names are capitalized in logs and console output. Is it some kind of fashion?

(0002862)
Ivan   
2012-08-08 19:57   
Check size of .vlgm1 files - it should be 500kb - 1Mb in size

Capitalization shouldn't affect anything here.
You won't be able to create another file with different case - blocked to avoid issues with multiplayer in future
(0002863)
douggie_m   
2012-08-08 20:04   
(edited on: 2012-08-08 20:05)
They're much smaller.

$ ls -l Games/
total 16
-rw-r--r-- 1 username username 59 Aug 8 13:09 newgame1.vcgm1
-rw-r--r-- 1 username username 0 Aug 8 13:09 newgame1.vlgm1
-rw-r--r-- 1 username username 37 Aug 8 13:09 newgame1.vsgm1
-rw-r--r-- 1 username username 59 Aug 8 13:04 Newgame_Autosave_1.vcgm1
-rw-r--r-- 1 username username 0 Aug 8 13:04 Newgame_Autosave_1.vlgm1
-rw-r--r-- 1 username username 37 Aug 8 13:04 Newgame_Autosave_1.vsgm1

For example, the contents of newgame1.vcgm1:

$ xxd Games/newgame1.vcgm1
0000000: 5643 4d49 0000 02dc 0003 0000 0000 0000 VCMI............
0000010: 0000 0000 0000 0000 0000 0000 0000 0400 ................
0000020: 0000 0400 0100 0007 eb01 0000 0004 5643 ..............VC
0000030: 4149 0200 0000 0456 4341 49 AI.....VCAI

Ah, vlgm1... They are empty:

$ file Games/newgame1.vlgm1
Games/newgame1.vlgm1: empty

(0002864)
Ivan   
2012-08-08 20:58   
Check rev 2820
(0002865)
douggie_m   
2012-08-08 22:17   
(edited on: 2012-08-08 22:38)
Just checked. Now saved games are created and are shown in load game screen and are loadable.

-rw-r--r-- 1 username username 59 Aug 8 18:07 Newgame_Autosave_1.vcgm1
-rw-r--r-- 1 username username 935145 Aug 8 18:07 Newgame_Autosave_1.vlgm1
-rw-r--r-- 1 username username 37 Aug 8 18:07 Newgame_Autosave_1.vsgm1
-rw-r--r-- 1 username username 59 Aug 8 18:10 xxx.vcgm1
-rw-r--r-- 1 username username 937515 Aug 8 18:10 xxx.vlgm1
-rw-r--r-- 1 username username 37 Aug 8 18:10 xxx.vsgm1

Also, I found new issue r/g saving sames: try to type savename with spaces, like "I want this save" or so — underflow error! From console output:

Failed to save to /home/username/.vcmi/Games/I want this save.vcgm1
Failed to process SAVES/I WANT THIS SAVE: basic_filebuf::underflow error reading the file

UPD: names having undersore char(s) "_" don't work too, but fails some other way:

Loaded Stupid AI 0.1
CStupidAI [0xedc25360]: created
CStupidAI [0xedc25360]: init called, saving ptr to IBattleCallback
System message: Game has been saved as Saves/Newgame_Autosave_1
System message: Game has been saved as Saves/test_save
Failed to process SAVES/TEST_SAVE: not a correct savefile!
System message: Game has been saved as Saves/test_save
Failed to process SAVES/TEST_SAVE: not a correct savefile!
System message: Game has been saved as Saves/mygame

(0002871)
Ivan   
2012-08-10 08:51   
It was problem with our text input (null characters in string).
Should be fixed now.
(0002872)
douggie_m   
2012-08-10 14:04   
(edited on: 2012-08-10 15:04)
> Should be fixed now.

Cool! Will check right now. BTW, what's the reason to auto-save just created or just loaded game? I.e. when you start new map, you'll be auto-saved right after it's loaded. And when you load the map, you're auto-saved right after loading it too. I just don't sure is it wrong or normal, bug or feature ;)

UPD: Heh, rev2825 is not buildable:

In file included from CGameState.cpp:15:0:
CModHandler.h:1:40: fatal error: Filesystem\CResourceLoader.h: No such file or directory
compilation terminated

CModHandler.h:1 — #include "Filesystem\CResourceLoader.h"

That's probably due to '\' is not a path separator. I'd fix it manually.

Index: lib/CModHandler.h
===================================================================
--- lib/CModHandler.h (revision 2825)
+++ lib/CModHandler.h (working copy)
@@ -1,4 +1,4 @@
-#include "Filesystem\CResourceLoader.h"
+#include "Filesystem/CResourceLoader.h"
 
 #include "VCMI_Lib.h"
 #include "CCreatureHandler.h"
@@ -83,4 +83,4 @@
                h & creatures & artifacts;
                h & allMods & activeMods;
        }
-};
\ No newline at end of file
+};

Well, it fails too:

In file included from Connection.cpp:5:0:
../lib/RegisterTypes.h: In function 'void registerTypes1(Serializer&)':
../lib/RegisterTypes.h:87:26: error: 'CModInfo' was not declared in this scope
../lib/RegisterTypes.h:88:26: error: 'CModIdentifier' was not declared in this scope
make[2]: *** [libvcmi_la-Connection.lo] Error 1

$ find vcmi-svn -type f -name "*CModInfo*" -print | wc -l
0
$ find vcmi-svn -type f -name "*CModIdentifier*" -print | wc -l
0

I'll wait until this will be fixed.

(0002873)
Ivan   
2012-08-10 14:48   
Working on this. Check previous revision (2824) or wait till my next commit
(0002874)
douggie_m   
2012-08-10 15:06   
> Check previous revision (2824) or wait till my next commit

Well, I'd better wait. Now I can play (even when I'm forced to use only lettes in savegame names).

By the way, will current savegame format be the final and compatible in the future?
(0002875)
Ivan   
2012-08-10 15:26   
Compilation fixed in rev 2826.

>> By the way, will current savegame format be the final and compatible in the future?
It changes every time we change amount of data saved in game. Usually saves from previous releases are explicitly marked as "too old". And it is a bit messy between releases as you may have noticed.

You may stick to some revision and update only when you won't need old saves (before starting new game for example).
(0002876)
douggie_m   
2012-08-10 15:38   
> Compilation fixed in rev 2826

Nice. Looks good. Building it now.

> You may stick to some revision and update only when you won't need old saves (before starting new game for example).

I suppose it would be hard due to a lot of bugfixes and so. It would be possible when VCMI will be more "stable". But anyway. It's great job. VCMI is awesome gift. Thank you, guys.
(0002877)
douggie_m   
2012-08-10 16:11   
(edited on: 2012-08-10 16:12)
Great!

System message: Game has been saved as Saves/Newgame_Autosave_2
System message: Game has been saved as Saves/test save

$ ls ./.vcmi/Games/test*
./.vcmi/Games/test save.vcgm1 ./.vcmi/Games/test save.vlgm1 ./.vcmi/Games/test save.vsgm1

Issue can be closed as resolved fixed. Actually, you fixed a lot of bugs r/g saving and loading games and the report was about incompatibility with older savegames ;)

UPD: I forgot to thank you again.

(0002878)
Ivan   
2012-08-10 16:15   
Well - all of these bugs has to be fixed anyway.
And at least half of them were caused by me :(

Anyway - moving to resolved\fixed.