upgrade error - root_full_path: The value '' is not a string.

  • Just upgraded to 4.1.32-1
    Got the following error right after page reload: root_full_path: The value '' is not a string.


  • Are you using the nginx plugin?


    If not, apt-get purge openmediavault-nginx


    If yes, try:


    omv-mkconf nginx


    If that doesn't help, post the output of: omv-showkey nginx

    omv 5.3.9 usul | 64 bit | 5.3 proxmox kernel | omvextrasorg 5.2.6
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

  • I was using it indeed, but I found that all the configuration in the GUI is just gone. I saved my settings from the shell and re-installed plugin. Error is gone! Will re-create my test sites later on, should not be a big deal.
    @ryecoaaron thank you for pointing me into right direction.

  • OK, found that the error is related to a specific [virtual] web server configuration.
    Once 'Use public directory' is enabled and 'Public directory'' populated with the valid folder name the above mentioned error pops up.
    Exactly the same configuration was used successfully before the upgrade.
    Here is a sample server entry from the backup I made:

  • Not sure why that is breaking. The plugin hasn't changed and I don't see any OMV changes that should interact with this. Do you have a VM you could try a similar setup in?

    omv 5.3.9 usul | 64 bit | 5.3 proxmox kernel | omvextrasorg 5.2.6
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

  • Hi,
    I am happy to see I am not the only one to have this problem!
    I build OMV, because I use it on a mispel machine and no mipsel packages are available for download.
    For me, the problem appeared between commits f381284 and 5964a35 (the last 2 commits I built)


    I am not very good at debugging, but for what I found, the issue is from usr/share/openmediavault/engined/rpc/nginx-server.inc, in the function getList($params, $context) (line 125~181).


    Apparently, this piece of code


    fails to assign a value to root_full_path (well, except the default empty string of course), either because sharedfolderref is null, or getSharedFolderPathByUuid fails


    EDIT: can it be because build_path's syntax is supposed to be build_path($separator, $parts)? but then, why did it stop working now ? also, build_path has been updated recently.
    I will revert to the old function and tell you later.

  • I confirm the problem is with the build_path function.
    There are two workarounds:


    Quote

    $rootFullPath = build_path([$rootFullPath, $object->get('public_directory')]);

    with

    Quote

    $rootFullPath = build_path(DIRECTORY_SEPARATOR, [$rootFullPath, $object->get('public_directory')]);


    And so,

    I don't see any OMV changes that should interact with this.

    No need to see it, I did it for you ;-)


    Everybody who uses Nginx will be impacted sooner or later.

  • No need to see it, I did it for you


    Everybody who uses Nginx will be impacted sooner or later.

    Great. My motivation wasn't real high. I really didn't want to maintain OMV 4.x plugins or this plugin at all anymore. But it won't affect everyone because not everyone uses the public checkbox (I never have and I've used this plugin since the beginning).

    However after that fix 'Root' column in 'Servers' list is empty.

    I will fix it when I get a chance.

    omv 5.3.9 usul | 64 bit | 5.3 proxmox kernel | omvextrasorg 5.2.6
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!