Can't update Polls and Mail in 20.0.11

Nextcloud version: 20.0.11
Operating system and version: Debian 10 buster
Apache or nginx version: 2.4.38
PHP version: 7.3.29-1

I tried to update the Mail and the Polls app but it fails. I have to disable the apps in order to get to a working instance of nc.

The error I get updating the Mail app is the following:

mail new version available: 1.10.0
An unhandled exception has been thrown:
Error: Call to undefined method OCA\Mail\Db\MailboxMapper::findAllIds() in /data/nextcloud/apps/mail/lib/Migration/Version1100Date20210512142306.php:34
Stack trace:
#0 /data/nextcloud/lib/private/DB/MigrationService.php(498): OCA\Mail\Migration\Version1100Date20210512142306->postSchemaChange(Object(OC\Migration\SimpleOutput), Object(Closure), Array)
#1 /data/nextcloud/lib/private/DB/MigrationService.php(419): OC\DB\MigrationService->executeStep('1100Date2021051...', false)
#2 /data/nextcloud/lib/private/legacy/OC_App.php(984): OC\DB\MigrationService->migrate()
#3 /data/nextcloud/lib/private/Installer.php(206): OC_App::updateApp('mail')
#4 /data/nextcloud/core/Command/App/Update.php(116): OC\Installer->updateAppstoreApp('mail', false)
#5 /data/nextcloud/apps/bookmarks/vendor/symfony/console/Command/Command.php(255): OC\Core\Command\App\Update->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#6 /data/nextcloud/apps/bookmarks/vendor/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#7 /data/nextcloud/apps/bookmarks/vendor/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand(Object(OC\Core\Command\App\Update), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#8 /data/nextcloud/apps/bookmarks/vendor/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /data/nextcloud/lib/private/Console/Application.php(215): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /data/nextcloud/console.php(100): OC\Console\Application->run()
#11 /data/nextcloud/occ(11): require_once('/data/nextcloud...')
#12 {main}root@cb396bfcd0cd:/#

While if I try to re-enable the Polls app I get:

An unhandled exception has been thrown:
ArgumentCountError: Too few arguments to function OCA\Polls\Migration\FixVotes::__construct(), 0 passed in /data/nextcloud/lib/private/Repair.php on line 129 and exactly 4 expected in /data/nextcloud/apps/polls/lib/Migration/FixVotes.php:50
Stack trace:
#0 /data/nextcloud/lib/private/Repair.php(129): OCA\Polls\Migration\FixVotes->__construct()
#1 /data/nextcloud/lib/private/legacy/OC_App.php(1043): OC\Repair->addStep('OCA\\Polls\\Migra...')
#2 /data/nextcloud/lib/private/Installer.php(145): OC_App::executeRepairSteps('polls', Array)
#3 /data/nextcloud/core/Command/App/Enable.php(123): OC\Installer->installApp('polls', false)
#4 /data/nextcloud/core/Command/App/Enable.php(93): OC\Core\Command\App\Enable->enableApp('polls', Array, false, Object(Symfony\Component\Console\Output\ConsoleOutput))
#5 /data/nextcloud/apps/bookmarks/vendor/symfony/console/Command/Command.php(255): OC\Core\Command\App\Enable->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#6 /data/nextcloud/apps/bookmarks/vendor/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#7 /data/nextcloud/apps/bookmarks/vendor/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand(Object(OC\Core\Command\App\Enable), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#8 /data/nextcloud/apps/bookmarks/vendor/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /data/nextcloud/lib/private/Console/Application.php(215): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /data/nextcloud/console.php(100): OC\Console\Application->run()
#11 /data/nextcloud/occ(11): require_once('/data/nextcloud...')
#12 {main}root@cb396bfcd0cd:/#

Polls status can be tracked here: An unhandled exception has been thrown during update V2.0.4 -> V2.0.5 · Issue #1811 · nextcloud/polls · GitHub
Mail status here: Unable to update Mail app to 1.10 in NC 20.0.11 · Issue #5286 · nextcloud/mail · GitHub

1 Like

Trying to reproduce but polls seems already broken in 20.0.8 / 2.0.5

root@eeb367cb284f:/# ncc app:install polls
polls 2.0.5 installed
An unhandled exception has been thrown:
ArgumentCountError: Too few arguments to function OCA\Polls\Migration\FixVotes::__construct(), 0 passed in /data/nextcloud/lib/private/Repair.php on line 128 and exactly 4 expected in /data/nextcloud/apps/polls/lib/Migration/FixVotes.php:50
Stack trace:
#0 /data/nextcloud/lib/private/Repair.php(128): OCA\Polls\Migration\FixVotes->__construct()
#1 /data/nextcloud/lib/private/legacy/OC_App.php(1035): OC\Repair->addStep('OCA\\Polls\\Migra...')
#2 /data/nextcloud/lib/private/Installer.php(145): OC_App::executeRepairSteps('polls', Array)
#3 /data/nextcloud/lib/private/legacy/OC_App.php(425): OC\Installer->installApp('polls')
#4 /data/nextcloud/core/Command/App/Install.php(84): OC_App->enable('polls')
#5 /data/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OC\Core\Command\App\Install->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#6 /data/nextcloud/3rdparty/symfony/console/Application.php(1000): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#7 /data/nextcloud/3rdparty/symfony/console/Application.php(271): Symfony\Component\Console\Application->doRunCommand(Object(OC\Core\Command\App\Install), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#8 /data/nextcloud/3rdparty/symfony/console/Application.php(147): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /data/nextcloud/lib/private/Console/Application.php(215): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /data/nextcloud/console.php(100): OC\Console\Application->run()
#11 /data/nextcloud/occ(11): require_once('/data/nextcloud...')
#12 {main}root@eeb367cb284f:/# 
root@eeb367cb284f:/# 
root@eeb367cb284f:/# ncp-config
Running nc-info
Gathering information...
NextCloudPi version  v1.37.0
NextCloudPi image    NextCloudPi_docker_07-07-21
distribution         Debian GNU/Linux 10 \n \l
automount            no
USB devices          none
datadir              /data/nextcloud/data
data in SD           yes
data filesystem      btrfs
data disk usage      485G/782G
rootfs usage         485G/782G
swapfile             none
dbdir                /data/database
Nextcloud check      ok
Nextcloud version    20.0.8.1
HTTPD service        up
PHP service          up
MariaDB service      up
Redis service        up
Postfix service      up
internet check       ok
port check 80        closed
port check 443       closed
IP                   172.19.0.2
gateway              172.19.0.1
interface            eth0
certificates         none
NAT loopback         no
uptime               7days

I wasn’t able to enable it so I can check the upgrade to NC20.0.11

Ok, I was able to reproduce by forcing the app active in the DB.

NCP updater behaves as expected and rolls back

Checking for update of app polls in appstore
Checked for update of app "polls" in appstore 
An unhandled exception has been thrown:
ArgumentCountError: Too few arguments to function OCA\Polls\Migration\FixVotes::__construct(), 0 passed in /data/nextcloud/lib/private/Repair.php on line 129 and exactly 4 expected in /data/nextcloud/apps/polls/lib/Migration/FixVotes.php:50
Stack trace:
#0 /data/nextcloud/lib/private/Repair.php(129): OCA\Polls\Migration\FixVotes->__construct()
#1 /data/nextcloud/lib/private/legacy/OC_App.php(1043): OC\Repair->addStep('OCA\\Polls\\Migra...')
#2 /data/nextcloud/lib/private/Installer.php(145): OC_App::executeRepairSteps('polls', Array)
#3 /data/nextcloud/lib/private/legacy/OC_App.php(433): OC\Installer->installApp('polls')
#4 /data/nextcloud/lib/private/Updater.php(462): OC_App->enable('polls')
#5 /data/nextcloud/lib/private/Updater.php(266): OC\Updater->upgradeAppStoreApps(Array, true)
#6 /data/nextcloud/lib/private/Updater.php(130): OC\Updater->doUpgrade('20.0.11.1', '20.0.8.1')
#7 /data/nextcloud/core/Command/Upgrade.php(255): OC\Updater->upgrade()
#8 /data/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OC\Core\Command\Upgrade->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /data/nextcloud/3rdparty/symfony/console/Application.php(1000): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /data/nextcloud/3rdparty/symfony/console/Application.php(271): Symfony\Component\Console\Application->doRunCommand(Object(OC\Core\Command\Upgrade), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 /data/nextcloud/3rdparty/symfony/console/Application.php(147): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /data/nextcloud/lib/private/Console/Application.php(215): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /data/nextcloud/console.php(100): OC\Console\Application->run()
#14 /data/nextcloud/occ(11): require_once('/data/nextcloud...')
#15 {main}Abort
Clean up...
Rolling back to backup /var/www/nextcloud-bkp_20210706_1625627724-20.0.8.1.tar.gz...
check free space...
extracting backup file /var/www/nextcloud-bkp_20210706_1625627724-20.0.8.1.tar.gz...
restore files...