Please login or register.

Login with username, password and session length
Advanced search  

News:

Forum rules - please read before posting, it can save you a lot of time.

Author Topic: Loading Bug  (Read 12913 times)

0 Members and 1 Guest are viewing this topic.

Fighter19

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 4
    • View Profile
Loading Bug
« on: May 18, 2011, 07:38:22 PM »

Loading a saved game, causes WMELite to crash
Tested on:
Ubuntu 11.04
Windows 7
With: Five magical amuletts
Logged

Mnemonic

  • WME developer
  • Administrator
  • Addicted to WME forum
  • *
  • Karma: 41
  • Offline Offline
  • Gender: Male
  • Posts: 5683
    • View Profile
    • Dead:Code Site
Re: Loading Bug
« Reply #1 on: May 19, 2011, 09:18:39 AM »

Can you provide repro steps? You said something like it crashes if you load right after saving? I can't reproduce the crash on Win7 (and incidentally I'm working with Five magical amulets quite a lot at the moment).
Also if you have the Ubuntu build running, perhaps you could attach a debugger to see where exactly it crashes in code?
Logged
Yes, I do have a twitter account
Please don't send me technical questions in private messages, use the forum. ::wave

Fighter19

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 4
    • View Profile
Re: Loading Bug
« Reply #2 on: May 20, 2011, 12:38:47 PM »

Ignore this line: Hmm.... With debug build activated it doesn't crash, only with the "offical" binary. Could this be because of paths?
k, got the debugger working with my ubuntu build:

Code: [Select]
#0 0x80e4ab9 CScValue::IsNative(this=0x70029) (/home/*******/wmelasttry/wmelite-read-only/src/WME/ScValue.cpp:294)
#1 0x80e4acf CScValue::IsNative(this=0x8e6b1c0) (/home/*******/wmelasttry/wmelite-read-only/src/WME/ScValue.cpp:294)
#2 0x80a3c63 CBGame::InvalidateValues(Value=0x8e6b1c0, Data=0x87983b8) (/home/*******/wmelasttry/wmelite-read-only/src/WME/BGame.cpp:2852)
#3 ( 0x080e9b61 in CSysClass::InstanceCallback(this=0x82134c0, lpCallback=0x80a3c4c <CBGame::InvalidateValues(void*, void*) (/home/*******/wmelasttry/wmelite-read-only/src/WME/SysClass.cpp:220)
#4 ( 0x080ec9f3 in CSysClassRegistry::EnumInstances(this=0x82135a0, lpCallback=0x80a3c4c <CBGame::InvalidateValues(void*, void*) (/home/*******/wmelasttry/wmelite-read-only/src/WME/SysClassRegistry.cpp:301)
#5 0x80f93e6 CUIObject::~CUIObject(this=0x87983b8, __in_chrg=<value optimized out>) (/home/*******/wmelasttry/wmelite-read-only/src/WME/UIObject.cpp:66)
#6 0x80f0c2d CUIButton::~CUIButton(this=0x87983b8, __in_chrg=<value optimized out>) (/home/*******/wmelasttry/wmelite-read-only/src/WME/UIButton.cpp:58)
#7 0x80f0c75 CUIButton::~CUIButton(this=0x87983b8, __in_chrg=<value optimized out>) (/home/*******/wmelasttry/wmelite-read-only/src/WME/UIButton.cpp:78)
#8 0x80feac6 CUIWindow::Cleanup(this=0x876e240) (/home/*******/wmelasttry/wmelite-read-only/src/WME/UIWindow.cpp:86)
#9 0x80fe87a CUIWindow::~CUIWindow(this=0x876e240, __in_chrg=<value optimized out>) (/home/*******/wmelasttry/wmelite-read-only/src/WME/UIWindow.cpp:72)
#10 0x80fe8f1 CUIWindow::~CUIWindow(this=0x876e240, __in_chrg=<value optimized out>) (/home/*******/wmelasttry/wmelite-read-only/src/WME/UIWindow.cpp:73)
#11 0x8070844 CAdResponseBox::~CAdResponseBox(this=0x8728558, __in_chrg=<value optimized out>) (/home/*******/wmelasttry/wmelite-read-only/src/WME/AdResponseBox.cpp:58)
#12 0x8070a1f CAdResponseBox::~CAdResponseBox(this=0x8728558, __in_chrg=<value optimized out>) (/home/*******/wmelasttry/wmelite-read-only/src/WME/AdResponseBox.cpp:70)
#13 0x809bc9b CBGame::Cleanup(this=0x823eb68) (/home/*******/wmelasttry/wmelite-read-only/src/WME/BGame.cpp:296)
#14 0x8058f6f CAdGame::Cleanup(this=0x823eb68) (/home/*******/wmelasttry/wmelite-read-only/src/WME/AdGame.cpp:143)
#15 0x805c686 CAdGame::Persist(this=0x823eb68, PersistMgr=0x8dfd280) (/home/*******/wmelasttry/wmelite-read-only/src/WME/AdGame.cpp:1283)
#16 0x80584cd CAdGame::PersistLoad(Instance=0x823eb68, PersistMgr=0x8dfd280) (/home/*******/wmelasttry/wmelite-read-only/src/WME/AdGame.cpp:31)
#17 0x80e9a7f CSysClass::LoadInstance(this=0x820a0a0, instance=0x823eb68, PersistMgr=0x8dfd280) (/home/*******/wmelasttry/wmelite-read-only/src/WME/SysClass.cpp:200)
#18 0x80ec8d7 CSysClassRegistry::LoadInstances(this=0x82135a0, Game=0x823eb68, PersistMgr=0x8dfd280) (/home/*******/wmelasttry/wmelite-read-only/src/WME/SysClassRegistry.cpp:284)
#19 0x80a5582 CBGame::LoadGame(this=0x823eb68, Filename=0xbffff4ab "./WME Demo/save000.WmeDemoSav") (/home/*******/wmelasttry/wmelite-read-only/src/WME/BGame.cpp:3346)
#20 0x805c9f4 CAdGame::LoadGame(this=0x823eb68, Filename=0xbffff4ab "./WME Demo/save000.WmeDemoSav") (/home/*******/wmelasttry/wmelite-read-only/src/WME/AdGame.cpp:1335)
#21 0x80a532f CBGame::LoadGame(this=0x823eb68, Slot=0) (/home/*******/wmelasttry/wmelite-read-only/src/WME/BGame.cpp:3313)
#22 0x80ce95e CBPlatform::MessageLoop() (/home/*******/wmelasttry/wmelite-read-only/src/WME/PlatformSDL.cpp:200)
#23 0x8103624 main(argc=1, argv=0xbffff804) (/home/*******/wmelasttry/wmelite-read-only/src/WME/main.cpp:64)
« Last Edit: May 20, 2011, 08:39:23 PM by Fighter19 »
Logged

Mnemonic

  • WME developer
  • Administrator
  • Addicted to WME forum
  • *
  • Karma: 41
  • Offline Offline
  • Gender: Male
  • Posts: 5683
    • View Profile
    • Dead:Code Site
Re: Loading Bug
« Reply #3 on: May 21, 2011, 07:15:52 AM »

Thank you.
Logged
Yes, I do have a twitter account
Please don't send me technical questions in private messages, use the forum. ::wave

Mnemonic

  • WME developer
  • Administrator
  • Addicted to WME forum
  • *
  • Karma: 41
  • Offline Offline
  • Gender: Male
  • Posts: 5683
    • View Profile
    • Dead:Code Site
Re: Loading Bug
« Reply #4 on: May 21, 2011, 07:32:19 AM »

A committed a fix (at least I hope it fixes the crash). Would you mind testing it when you have a moment?
Logged
Yes, I do have a twitter account
Please don't send me technical questions in private messages, use the forum. ::wave

Fighter19

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 4
    • View Profile
Re: Loading Bug
« Reply #5 on: May 21, 2011, 11:39:54 AM »

k, it's working now (well, it still crashes sometimes).
So it looks like:

Code: [Select]
transform (final_key.begin(), final_key.end(), final_key.begin(), ::tolower);

I'm trying to dump the other crashes, too.
EDIT:
k, here's the new callstack:
Code: [Select]
#0 0x809bc94 CBGame::Cleanup(this=0x823eb68) (/home/*******/wmefix/wmelite-read-only/src/BGame.cpp:296)
#1 0x8058f6f CAdGame::Cleanup(this=0x823eb68) (/home/*******/wmefix/wmelite-read-only/src/AdGame.cpp:143)
#2 0x805c686 CAdGame::Persist(this=0x823eb68, PersistMgr=0x8f96f40) (/home/*******/wmefix/wmelite-read-only/src/AdGame.cpp:1283)
#3 0x80584cd CAdGame::PersistLoad(Instance=0x823eb68, PersistMgr=0x8f96f40) (/home/*******/wmefix/wmelite-read-only/src/AdGame.cpp:31)
#4 0x80e9a7f CSysClass::LoadInstance(this=0x820a0a0, instance=0x823eb68, PersistMgr=0x8f96f40) (/home/*******/wmefix/wmelite-read-only/src/SysClass.cpp:200)
#5 0x80ec8d7 CSysClassRegistry::LoadInstances(this=0x82135a0, Game=0x823eb68, PersistMgr=0x8f96f40) (/home/*******/wmefix/wmelite-read-only/src/SysClassRegistry.cpp:284)
#6 0x80a5582 CBGame::LoadGame(this=0x823eb68, Filename=0xbffff4bb "./5KA/save000.dsv") (/home/*******/wmefix/wmelite-read-only/src/BGame.cpp:3346)
#7 0x805c9f4 CAdGame::LoadGame(this=0x823eb68, Filename=0xbffff4bb "./5KA/save000.dsv") (/home/*******/wmefix/wmelite-read-only/src/AdGame.cpp:1335)
#8 0x80a532f CBGame::LoadGame(this=0x823eb68, Slot=0) (/home/*******/wmefix/wmelite-read-only/src/BGame.cpp:3313)
#9 0x80ce95e CBPlatform::MessageLoop() (/home/*******/wmefix/wmelite-read-only/src/PlatformSDL.cpp:200)
#10 0x8103638 main(argc=1, argv=0xbffff814) (/home/*******/wmefix/wmelite-read-only/src/main.cpp:64)

P.S.:Could you please rename SxObject.h to SXObject.h , because Linux compiles Case sensitive. And please add to BStringTable.cpp at line 62 in front of tolower, ::

« Last Edit: May 21, 2011, 12:13:37 PM by Fighter19 »
Logged
 

Page created in 0.024 seconds with 20 queries.