#14292 closed defect (fixed)

ANDROID: Crash on saving backend options

Reported by: sev- Owned by: lephilousophe
Priority: high Component: Port: Android
Version: Keywords:
Cc: Game:

Description

Version: 2.7.0.1

Steps to reproduce:

  1. Add a game
  2. Go to Game Options
  3. Switch to the Backend tab
  4. Tick "Override global options" checkbox
  5. Optionally click something
  6. Quit dialog

One of these asserts gets triggered:

const ConfigManager::Domain *ConfigManager::getDomain(const String &domName) const {
    assert(!domName.empty());
    assert(isValidDomainName(domName));

Called from

void AndroidOptionsWidget::saveTouchMode(const Common::String &setting, uint32 touchMode) {
...
    default:
        // default
        ConfMan.removeKey(setting, _domain);
        break;

Change History (2)

comment:1 by sev-, 21 months ago

Here is the full stack trace

  #04  pc 0x00000000019ca66c  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (__assert2+40)
  #05  pc 0x0000000003a901ac  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (Common::ConfigManager::getDomain(Common::String const&)+304)
  #06  pc 0x0000000003a9031c  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (Common::ConfigManager::removeKey(Common::String const&, Common::String const&)+24)
  #07  pc 0x00000000019cecbc  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (AndroidOptionsWidget::save()+200)
  #08  pc 0x00000000035a9f4c  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (GUI::OptionsDialog::apply()+6780)
  #09  pc 0x00000000035ab080  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (GUI::OptionsDialog::close()+32)
  #10  pc 0x00000000035d6b1c  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (GUI::ButtonWidget::handleMouseUp(int, int, int, int)+128)
  #11  pc 0x0000000003595264  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (GUI::Dialog::handleMouseUp(int, int, int, int)+180)
  #12  pc 0x0000000003597aa8  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (GUI::GuiManager::runLoop()+584)
  #13  pc 0x0000000003594d34  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (GUI::Dialog::runModal()+24)
  #14  pc 0x0000000003585924  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (MainMenuDialog::handleCommand(GUI::CommandSender*, unsigned int, unsigned int)+456)
  #15  pc 0x00000000035d6b1c  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (GUI::ButtonWidget::handleMouseUp(int, int, int, int)+128)
  #16  pc 0x0000000003595264  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (GUI::Dialog::handleMouseUp(int, int, int, int)+180)
  #17  pc 0x0000000003597aa8  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (GUI::GuiManager::runLoop()+584)
  #18  pc 0x0000000003594d34  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (GUI::Dialog::runModal()+24)
  #19  pc 0x0000000003589c08  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (Engine::runDialog(GUI::Dialog&)+32)
  #20  pc 0x00000000035896ac  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (Engine::openMainMenuDialog()+220)
  #21  pc 0x00000000035f79f8  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (DefaultEventManager::pollEvent(Common::Event&)+1076)
  #22  pc 0x0000000001ac02e8  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (Scumm::ScummEngine::parseEvents()+100)
  #23  pc 0x00000000019f7c4c  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (Scumm::ScummEngine::waitForTimer(int)+176)
  #24  pc 0x00000000019f7b4c  /data/app/~~4WPhPddT0mBeNoo3UCR46A==/org.scummvm.scummvm-toizf4yoDC6ABModKZDvXg==/lib/arm64/libscummvm.so (Scumm::ScummEngine::go()+364)

comment:2 by lephilousophe, 21 months ago

Owner: set to lephilousophe
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.