Recently on irc jubo2 was complaining about http://dpaste.com/1MQST9Z where update.php refused to run, but composer was saying everything is ok.
It looks like checkComposerLockUpToDate.php/update.php just does string equality, so it will explode on the fancier version constraints.
It sounds like the user had modified his composer.json file to get dependencies needed by various extensions (see chat log at https://wm-bot.wmflabs.org/logs/%23mediawiki/20190401.txt ) I'm not sure if that is the reccomended way of doing things, but even if it isn't, update.php should not explode this way.