VVV: Bug: MongoDB error when attempting to use Tideways on fresh install

Are you using the latest stable or develop branch version of VVV?

Yes (develop)

Is it a new VVV, or an existing VVV that used to work?

New fresh install

Did you use a CustomFile?

No (default)

Whats the problem?

Setup details:

  • Windows 11 22H2
  • Fresh install (Both stable and develop)
  • Occurs on fresh install (only changes being uncommenting tideways and mongodb in config/config.yml) but tried destroying and re-upping as well

Changes in config/config.yml:

extensions:
  core: # The core VVV extensions
    - tls-ca # HTTPS SSL/TLS certificates
    - phpmyadmin # Web based database client
    #- memcached-admin # Object cache management
    #- opcache-status # opcache management
    #- webgrind # PHP Debugging
    - mongodb # needed for Tideways/XHGui
    - tideways # PHP profiling tool, also installs xhgui check https://varyingvagrantvagrants.org/docs/en-US/references/tideways-xhgui/
    #- nvm # Node Version Manager
    #- php56
    #- php70
    #- php71
    #- php72
    #- php73
    #- php74
    #- php80

What occurs:

The vagrant up --provision output gets riddled with the Unable to load dynamic library 'mongodb.so' warning shown below.

Trying to access tideways.vvv.test results in the slim application error shown below.

vagrant up --provision log:

...
==> default: Running provisioner: extension-core-mongodb (shell)...
    default: Running: C:/Users/Arianna/AppData/Local/Temp/vagrant-shell20240110-24492-2h92y3.sh
    default:  ▷ Running the 'extension-core-mongodb' provisioner...
    default: Warning: apt-key output should not be parsed (stdout is not a terminal)
    default: Warning: apt-key output should not be parsed (stdout is not a terminal)
    default: Created symlink /etc/systemd/system/multi-user.target.wants/mongod.service → /lib/systemd/system/mongod.service.
    default:  ✔ The 'extension-core-mongodb' provisioner completed in 54 seconds.
==> default: Running provisioner: extension-core-tideways (shell)...
    default: Running: C:/Users/Arianna/AppData/Local/Temp/vagrant-shell20240110-24492-xuewwu.sh
    default:  ▷ Running the 'extension-core-tideways' provisioner...
    default: PHP Warning:  PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib/php/20220829/mongodb.so (/usr/lib/php/20220829/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib/php/20220829/mongodb.so.so (/usr/lib/php/20220829/mongodb.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
    default: PHP Warning:  PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib/php/20220829/mongodb.so (/usr/lib/php/20220829/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib/php/20220829/mongodb.so.so (/usr/lib/php/20220829/mongodb.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
    default: HEAD is now at 5b8516b Merge pull request #468 from kornrunner/0.21.x
    default: PHP Warning:  PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib/php/20220829/mongodb.so (/usr/lib/php/20220829/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib/php/20220829/mongodb.so.so (/usr/lib/php/20220829/mongodb.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
    default: Loading composer repositories with package information
    default: Updating dependencies
    default: Nothing to modify in lock file
    default: Installing dependencies from lock file (including require-dev)
    default: Nothing to install, update or remove
    default: Package perftools/xhgui-collector is abandoned, you should avoid using it. No replacement was suggested.
    default: Generating autoload files
    default: No security vulnerability advisories found.
    default: Cloning into '/var/local/tideways-php'...
    default: /var/local/tideways-php7.4/tracing.c: In function ‘tracing_callgraph_get_parent_child_name’:
    default: /var/local/tideways-php7.4/tracing.c:186:38: warning: zero-length gnu_printf format string [-Wformat-zero-length]
    default:   186 |         snprintf(symbol, symbol_len, "");
    default:       |                                      ^~
    default: /var/local/tideways-php8.2/tracing.c: In function ‘tracing_callgraph_get_parent_child_name’:
    default: /var/local/tideways-php8.2/tracing.c:186:38: warning: zero-length gnu_printf format string [-Wformat-zero-length]
    default:   186 |         snprintf(symbol, symbol_len, "");
    default:       |                                      ^~
    default: PHP Warning:  PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib/php/20220829/mongodb.so (/usr/lib/php/20220829/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib/php/20220829/mongodb.so.so (/usr/lib/php/20220829/mongodb.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
    default:  ✔ The 'extension-core-tideways' provisioner completed in 129 seconds.
...

full output

Slim Application Error when attempting to access the url for tideways:

Notice: Undefined index: tableWatch in /srv/www/default/xhgui/src/ServiceProvider/PdoStorageProvider.php on line 55

full output

Additional info:

That tideways error also occurred when I had uncommented tideways in extensions/core but hadn’t yet uncommented mongodb so, while it may well also be an issue, I am assuming it is unrelated to the mongodb.so issue.

How do we reproduce it?

  1. Run git clone -b stable https://github.com/Varying-Vagrant-Vagrants/VVV.git ~/vvv-local
  2. Run cd ~/vvv-local
  3. Run vagrant plugin install --local
  4. Uncomment - mongodb and - tideways (lines 87 and 88, respectively) in config/config.yml
  5. Run vagrant up --provision

(Terminal displays error)

  1. Open browser and go to one.wordpress.test?enable-tideways=1
  2. Open a new tab and go to tideways.vvv.test

(Tideways error appears)

What is the output of vagrant status

__ __ __ __
\ V\ V\ V / v3.13 Ruby:3.1.3, Path:"C:/Users/Arianna/repos/vvv-fresh"
 \_/\_/\_/  git::develop(4ba78d6a)

Platform: mingw32 windows  missingWinAdminPriv  vagrant-goodhosts monochrome-terminal shared_db_folder_disabled
Vagrant: v2.4.0, virtualbox: v7.0.12

Which Operating System are you using?

Microsoft Windows

Which provider are you using?

VirtualBox 7

About this issue

  • Original URL
  • State: open
  • Created 6 months ago
  • Comments: 17 (11 by maintainers)

Most upvoted comments

Similarly, manually including the tableWatch parameter also still results in the same message (“Looks like you haven’t done any profiling”).

If you can do a quick PR upstream for that, I think the message about not getting any profiling is probably a separate issue related to our collector