can't save settings without error --> dirtymodules.json

    • OMV 2.x
    • can't save settings without error --> dirtymodules.json

      hiho from good old germany ;)

      I'm currently trying to install OMV 2.x on an ASrock AM1B-MDH with AMD A5350.
      Installation went fine.
      After install I've used omv-update, which runs fine too.

      But in the web-gui no settings can be saved ...
      f.e.:
      By activating NTP it causes this message:

      Source Code

      1. Error #6000:
      2. exception 'OMVException' with message 'Failed to decode content (filename=/var/lib/openmediavault/dirtymodules.json): ' in /usr/share/php/openmediavault/util.inc:284
      3. Stack trace:
      4. #0 /usr/share/php/openmediavault/module.inc(365): OMVJsonFile->read()
      5. #1 /usr/share/php/openmediavault/module.inc(55): OMVModuleMgr->setModuleDirty('timezone')
      6. #2 /usr/share/php/openmediavault/module.inc(45): OMVModuleAbstract->setDirtyByName('timezone')
      7. #3 [internal function]: OMVModuleAbstract->setDirty(8, 'org.openmediava...', Array)
      8. #4 /usr/share/php/openmediavault/notify.inc(124): call_user_func_array(Array, Array)
      9. #5 /usr/share/openmediavault/engined/rpc/system.inc(308): OMVNotifyDispatcher->notify(8, 'org.openmediava...', Array)
      10. #6 [internal function]: OMVRpcServiceSystem->setTimeSettings(Array, Array)
      11. #7 /usr/share/php/openmediavault/rpcservice.inc(125): call_user_func_array(Array, Array)
      12. #8 /usr/share/php/openmediavault/rpc.inc(79): OMVRpcServiceAbstract->callMethod('setTimeSettings', Array, Array)
      13. #9 /usr/sbin/omv-engined(500): OMVRpc::exec('System', 'setTimeSettings', Array, Array, 1)
      14. #10 {main}
      Display All


      By setting the timeout for the web-sessions, it is this one:

      Source Code

      1. Error #6000:
      2. exception 'OMVException' with message 'Failed to decode content (filename=/var/lib/openmediavault/dirtymodules.json): ' in /usr/share/php/openmediavault/util.inc:284
      3. Stack trace:
      4. #0 /usr/share/php/openmediavault/module.inc(365): OMVJsonFile->read()
      5. #1 /usr/share/php/openmediavault/module.inc(55): OMVModuleMgr->setModuleDirty('monit')
      6. #2 /usr/share/php/openmediavault/module.inc(45): OMVModuleAbstract->setDirtyByName('monit')
      7. #3 [internal function]: OMVModuleAbstract->setDirty(8, 'org.openmediava...', Array)
      8. #4 /usr/share/php/openmediavault/notify.inc(124): call_user_func_array(Array, Array)
      9. #5 /usr/share/openmediavault/engined/rpc/webgui.inc(118): OMVNotifyDispatcher->notify(8, 'org.openmediava...', Array)
      10. #6 [internal function]: OMVRpcServiceWebGui->setSettings(Array, Array)
      11. #7 /usr/share/php/openmediavault/rpcservice.inc(125): call_user_func_array(Array, Array)
      12. #8 /usr/share/php/openmediavault/rpc.inc(79): OMVRpcServiceAbstract->callMethod('setSettings', Array, Array)
      13. #9 /usr/sbin/omv-engined(500): OMVRpc::exec('WebGui', 'setSettings', Array, Array, 1)
      14. #10 {main}
      Display All


      The solutions, i've found in the forum, didn't work for me ...

      I've tried the backports-kernel ... no changes ...
      I've deleted the dirtymoules-file with

      Source Code

      1. rm /var/lib/openmediavault/dirtymodules.json
      2. /etc/init.d/openmediavault-engined restart

      ... no changes ...
      an empty dirtymodules.json is created on next save ...

      Any idea, what causes this problem?
      It's the 1st machine, i get this errors.
      running OMV 2.2.1
      with : SnapRAID - AUFS - TVheadend

      The post was edited 1 time, last by El Muchacho ().

    • Double same here...

      I just installed from a fresh download and I also get this error trying to save ANY settings... here is the error:

      Source Code

      1. ​Error #6000:
      2. exception 'OMVException' with message 'Failed to decode content (filename=/var/lib/openmediavault/dirtymodules.json): ' in /usr/share/php/openmediavault/util.inc:284
      3. Stack trace:
      4. #0 /usr/share/php/openmediavault/module.inc(365): OMVJsonFile->read()
      5. #1 /usr/share/php/openmediavault/module.inc(55): OMVModuleMgr->setModuleDirty('timezone')
      6. #2 /usr/share/php/openmediavault/module.inc(45): OMVModuleAbstract->setDirtyByName('timezone')
      7. #3 [internal function]: OMVModuleAbstract->setDirty(8, 'org.openmediava...', Array)
      8. #4 /usr/share/php/openmediavault/notify.inc(124): call_user_func_array(Array, Array)
      9. #5 /usr/share/openmediavault/engined/rpc/system.inc(308): OMVNotifyDispatcher->notify(8, 'org.openmediava...', Array)
      10. #6 [internal function]: OMVRpcServiceSystem->setTimeSettings(Array, Array)
      11. #7 /usr/share/php/openmediavault/rpcservice.inc(125): call_user_func_array(Array, Array)
      12. #8 /usr/share/php/openmediavault/rpc.inc(79): OMVRpcServiceAbstract->callMethod('setTimeSettings', Array, Array)
      13. #9 /usr/sbin/omv-engined(500): OMVRpc::exec('System', 'setTimeSettings', Array, Array, 1)
      14. #10 {main}
      Display All
    • Sorry for the double post. Editing my last one gave me a wierd error message.
      Nonetheless I can't get the last build to work. I just did a second reinstall and when setting omv-firstaid network settings the first RPC exceptions pop up. If if enable SSH in the webportal I get the Json error mentioned above and the service does not come online although it is reported as being 'active' (slider on, status off).
    • I can also confirm that it works.
      Before you change or even login to the web portal. create the /var/lib/openmediavault/dirtymodules.json file and save '[]', reboot. Even trying to set your network configuration will break your install.

      @ryecoaaron
      Although this 'fix' works just fine. Getting OMV to work requires you to know at least one linux text editor and a bit about the file structure.
      Although this is free software and I am grateful for every LoC I use free of charge, in my opinion this should be fixed in the next release to allow others (without any linux knowledge) to enjoy this product.
    • NovermberHotel wrote:

      Although this 'fix' works just fine. Getting OMV to work requires you to know at least one linux text editor and a bit about the file structure.

      It doesn't require a text editor :)

      As root:
      echo "[]" > /var/lib/openmediavault/dirtymodules.json

      You could even enter this command into a scheduled task in the web interface and execute it. You wouldn't even need ssh :)
      omv 4.1.15 arrakis | 64 bit | 4.15 proxmox kernel | omvextrasorg 4.1.13
      omv-extras.org plugins source code and issue tracker - github

      Please read this before posting a question and this and this for docker questions.
      Please don't PM for support... Too many PMs!
    • same here!

      Fresh install of OMV 2.1 with all updates (apt-get update && apt-get upgrade) in VMware Workstation 12 and Virtualbox 5.
      Install. Media: openmediavault_2.1_amd64.iso (fresh download)


      Failed to decode content (filename=/var/lib/openmediavault/dirtymodules.json):

      Fehler #6000:
      exception 'OMVException' with message 'Failed to decode content (filename=/var/lib/openmediavault/dirtymodules.json): ' in /usr/share/php/openmediavault/util.inc:284
      Stack trace:
      #0 /usr/share/php/openmediavault/module.inc(365): OMVJsonFile->read()
      #1 /usr/share/php/openmediavault/module.inc(55): OMVModuleMgr->setModuleDirty('letsencrypt')
      #2 /usr/share/php/openmediavault/module.inc(45): OMVModuleAbstract->setDirtyByName('letsencrypt')
      #3 [internal function]: OMVModuleAbstract->setDirty(8, 'org.openmediava...', Array)
      #4 /usr/share/php/openmediavault/notify.inc(124): call_user_func_array(Array, Array)
      #5 /usr/share/openmediavault/engined/rpc/letsencrypt.inc(238): OMVNotifyDispatcher->notify(8, 'org.openmediava...', Array)
      #6 [internal function]: OMVRpcServiceLetsEncrypt->setSettings(Array, Array)
      #7 /usr/share/php/openmediavault/rpcservice.inc(125): call_user_func_array(Array, Array)
      #8 /usr/share/php/openmediavault/rpc.inc(79): OMVRpcServiceAbstract->callMethod('setSettings', Array, Array)
      #9 /usr/sbin/omv-engined(500): OMVRpc::exec('LetsEncrypt', 'setSettings', Array, Array, 1)
      #10 {main}
      HP Proliant Gen8 with ESXi6.5

      Storage - Raid5 with 4 x 3TB WDRed - System on microSD / Datastore on Samsung 850Pro - 250GB
    • I think this is a bug in PHP in correclation with file locking and multi threading. The problem is that we need file locking to keep the file in a valid state when multiple processes try to modify it.
      Absolutely no support through PM!

      I must not fear.
      Fear is the mind-killer.
      Fear is the little-death that brings total obliteration.
      I will face my fear.
      I will permit it to pass over me and through me.
      And when it has gone past I will turn the inner eye to see its path.
      Where the fear has gone there will be nothing.
      Only I will remain.

      Litany against fear by Bene Gesserit