Failed query: 'UPDATE medium SET position = (SELECT position FROM (VALUES (?::INTEGER, ?::INTEGER), (?::INTEGER, ?::INTEGER), (?::INTEGER, ?::INTEGER)) AS mpos (medium, position) WHERE mpos.medium = medium.id) WHERE id IN (?,?,?)' (687343 41 2766989 2 687335 41 687343 2766989 687335) 23505 DBD::Pg::st execute failed: ERROR: duplicate key value violates unique constraint "medium_uniq" DETAIL: Key (release, "position")=(687335, 41) already exists. [for Statement "UPDATE medium SET position = (SELECT position FROM (VALUES (?::INTEGER, ?::INTEGER), (?::INTEGER, ?::INTEGER), (?::INTEGER, ?::INTEGER)) AS mpos (medium, position) WHERE mpos.medium = medium.id) WHERE id IN (?,?,?)" with ParamValues: 1='687343', 2='41', 3='2766989', 4='2', 5='687335', 6='41', 7='687343', 8='2766989', 9='687335'] at lib/Sql.pm line 116. Sql::catch {...} (MusicBrainz::Server::Exceptions::DatabaseError=HASH(0x1b4517c8)) called at /home/musicbrainz/carton-local/lib/perl5/Try/Tiny.pm line 123 Try::Tiny::try(CODE(0x1b6d5a08), Try::Tiny::Catch=REF(0x1b845500)) called at lib/Sql.pm line 117 Sql::do(Sql=HASH(0x1b7afa08), "UPDATE medium SET position =\x{a} (SELECT position"..., 687343, 41, 2766989, 2, 687335, 41, 687343, ...) called at lib/MusicBrainz/Server/Data/Medium.pm line 310 MusicBrainz::Server::Data::Medium::reorder(MusicBrainz::Server::Data::Medium=HASH(0x12bf95f0), 2766989, 2, 687343, 41, 687335, 41) called at lib/MusicBrainz/Server/Edit/Release/ReorderMediums.pm line 128 MusicBrainz::Server::Edit::Release::ReorderMediums::accept(MusicBrainz::Server::Edit::Release::ReorderMediums=HASH(0x1b7f92c0)) called at lib/MusicBrainz/Server/Data/Edit.pm line 749 MusicBrainz::Server::Data::Edit::try {...} () called at /home/musicbrainz/carton-local/lib/perl5/Try/Tiny.pm line 100 eval {...} called at /home/musicbrainz/carton-local/lib/perl5/Try/Tiny.pm line 93 Try::Tiny::try(CODE(0x1c798fb8), Try::Tiny::Catch=REF(0x1c7950d0)) called at lib/MusicBrainz/Server/Data/Edit.pm line 784 MusicBrainz::Server::Data::Edit::_do_accept(MusicBrainz::Server::Data::Edit=HASH(0x11b47738), MusicBrainz::Server::Edit::Release::ReorderMediums=HASH(0x1b7f92c0)) called at lib/MusicBrainz/Server/Data/Edit.pm line 823 MusicBrainz::Server::Data::Edit::__ANON__(MusicBrainz::Server::Edit::Release::ReorderMediums=HASH(0x1b7f92c0)) called at lib/MusicBrainz/Server/Data/Edit.pm line 846 MusicBrainz::Server::Data::Edit::_close(MusicBrainz::Server::Data::Edit=HASH(0x11b47738), MusicBrainz::Server::Edit::Release::ReorderMediums=HASH(0x1b7f92c0), CODE(0x1a907208)) called at lib/MusicBrainz/Server/Data/Edit.pm line 823 MusicBrainz::Server::Data::Edit::accept(MusicBrainz::Server::Data::Edit=HASH(0x11b47738), MusicBrainz::Server::Edit::Release::ReorderMediums=HASH(0x1b7f92c0)) called at lib/MusicBrainz/Server/Data/Edit.pm line 593 MusicBrainz::Server::Data::Edit::create(MusicBrainz::Server::Data::Edit=HASH(0x11b47738), "edit_type", 313, "medium_positions", ARRAY(0x1b773370), "release", MusicBrainz::Server::Entity::Release=HASH(0x1b492ed0), "editor", MusicBrainz::Server::Authentication::User=HASH(0x1b6f3068), ...) called at lib/MusicBrainz/Server/Controller/WS/js/Edit.pm line 565 MusicBrainz::Server::Controller::WS::js::Edit::try {...} () called at /home/musicbrainz/carton-local/lib/perl5/Try/Tiny.pm line 102 eval {...} called at /home/musicbrainz/carton-local/lib/perl5/Try/Tiny.pm line 93 Try::Tiny::try(CODE(0x1c794638), Try::Tiny::Catch=REF(0x1b48d4b8)) called at lib/MusicBrainz/Server/Controller/WS/js/Edit.pm line 583 MusicBrainz::Server::Controller::WS::js::Edit::create_edits(MusicBrainz::Server::Controller::WS::js::Edit=HASH(0x13a0b1b8), MusicBrainz::Server=HASH(0x1b6c39a0), HASH(0x1c80b7c0)) called at lib/MusicBrainz/Server/Controller/WS/js/Edit.pm line 640 MusicBrainz::Server::Controller::WS::js::Edit::__ANON__() called at lib/Sql.pm line 322 Sql::try {...} () called at /home/musicbrainz/carton-local/lib/perl5/Try/Tiny.pm line 102 eval {...} called at /home/musicbrainz/carton-local/lib/perl5/Try/Tiny.pm line 93 Try::Tiny::try(CODE(0x1c7c2c90), Try::Tiny::Catch=REF(0x1b35c4c0)) called at lib/Sql.pm line 335 Sql::_auto_transaction(CODE(0x1b6a6f50), Sql=HASH(0x1b7afa08)) called at lib/Sql.pm line 340 Sql::_run_in_transaction_one(CODE(0x1b6a6f50), Sql=HASH(0x1b7afa08)) called at lib/Sql.pm line 355 Sql::run_in_transaction(CODE(0x1b6a6f50), Sql=HASH(0x1b7afa08)) called at lib/MusicBrainz/Server/Model/MB.pm line 19 MusicBrainz::Server::Model::MB::with_transaction(MusicBrainz::Server::Model::MB=HASH(0x11391e40), CODE(0x1b6a6f50)) called at lib/MusicBrainz/Server/Controller/WS/js/Edit.pm line 651 MusicBrainz::Server::Controller::WS::js::Edit::submit_edits(MusicBrainz::Server::Controller::WS::js::Edit=HASH(0x13a0b1b8), MusicBrainz::Server=HASH(0x1b6c39a0), HASH(0x1c80b7c0)) called at lib/MusicBrainz/Server/Controller/WS/js/Edit.pm line 615 MusicBrainz::Server::Controller::WS::js::Edit::create(MusicBrainz::Server::Controller::WS::js::Edit=HASH(0x13a0b1b8), MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/Action.pm line 358 Catalyst::Action::execute(Catalyst::Action=HASH(0x13eaf6b0), MusicBrainz::Server::Controller::WS::js::Edit=HASH(0x13a0b1b8), MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst.pm line 2051 eval {...} called at /home/musicbrainz/carton-local/lib/perl5/Catalyst.pm line 2051 Catalyst::execute(MusicBrainz::Server=HASH(0x1b6c39a0), "MusicBrainz::Server::Controller::WS::js::Edit", Catalyst::Action=HASH(0x13eaf6b0)) called at lib/Catalyst/Plugin/Sentry.pm line 23 Catalyst::Plugin::Sentry::execute(MusicBrainz::Server=HASH(0x1b6c39a0), "MusicBrainz::Server::Controller::WS::js::Edit", Catalyst::Action=HASH(0x13eaf6b0)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/Action.pm line 353 Catalyst::Action::dispatch(Catalyst::Action=HASH(0x13eaf6b0), MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/ActionChain.pm line 46 Catalyst::ActionChain::dispatch(Catalyst::ActionChain=HASH(0x1b47a218), MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/Controller.pm line 170 Catalyst::Controller::_ACTION(MusicBrainz::Server::Controller::WS::js::Edit=HASH(0x13a0b1b8), MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/Action.pm line 358 Catalyst::Action::execute(Catalyst::Action=HASH(0x13eaecc0), MusicBrainz::Server::Controller::WS::js::Edit=HASH(0x13a0b1b8), MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst.pm line 2051 eval {...} called at /home/musicbrainz/carton-local/lib/perl5/Catalyst.pm line 2051 Catalyst::execute(MusicBrainz::Server=HASH(0x1b6c39a0), "MusicBrainz::Server::Controller::WS::js::Edit", Catalyst::Action=HASH(0x13eaecc0)) called at lib/Catalyst/Plugin/Sentry.pm line 23 Catalyst::Plugin::Sentry::execute(MusicBrainz::Server=HASH(0x1b6c39a0), "MusicBrainz::Server::Controller::WS::js::Edit", Catalyst::Action=HASH(0x13eaecc0)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/Action.pm line 353 Catalyst::Action::dispatch(Catalyst::Action=HASH(0x13eaecc0), MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/Dispatcher.pm line 261 Catalyst::Dispatcher::_do_forward(Catalyst::Dispatcher=HASH(0x78b93f8), "forward", MusicBrainz::Server=HASH(0x1b6c39a0), "_ACTION") called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/Dispatcher.pm line 241 Catalyst::Dispatcher::forward(Catalyst::Dispatcher=HASH(0x78b93f8), MusicBrainz::Server=HASH(0x1b6c39a0), "_ACTION") called at /home/musicbrainz/carton-local/lib/perl5/Catalyst.pm line 477 Catalyst::forward(MusicBrainz::Server=HASH(0x1b6c39a0), "_ACTION") called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/Controller.pm line 134 Catalyst::Controller::_DISPATCH(MusicBrainz::Server::Controller::WS::js::Edit=HASH(0x13a0b1b8), MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/Action.pm line 358 Catalyst::Action::execute(Catalyst::Action=HASH(0x13ea97a8), MusicBrainz::Server::Controller::WS::js::Edit=HASH(0x13a0b1b8), MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst.pm line 2051 eval {...} called at /home/musicbrainz/carton-local/lib/perl5/Catalyst.pm line 2051 Catalyst::execute(MusicBrainz::Server=HASH(0x1b6c39a0), "MusicBrainz::Server::Controller::WS::js::Edit", Catalyst::Action=HASH(0x13ea97a8)) called at lib/Catalyst/Plugin/Sentry.pm line 23 Catalyst::Plugin::Sentry::execute(MusicBrainz::Server=HASH(0x1b6c39a0), "MusicBrainz::Server::Controller::WS::js::Edit", Catalyst::Action=HASH(0x13ea97a8)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/Action.pm line 353 Catalyst::Action::dispatch(Catalyst::Action=HASH(0x13ea97a8), MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/Dispatcher.pm line 261 Catalyst::Dispatcher::_do_forward(Catalyst::Dispatcher=HASH(0x78b93f8), "forward", MusicBrainz::Server=HASH(0x1b6c39a0), "/ws/js/edit/_DISPATCH") called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/Dispatcher.pm line 241 Catalyst::Dispatcher::forward(Catalyst::Dispatcher=HASH(0x78b93f8), MusicBrainz::Server=HASH(0x1b6c39a0), "/ws/js/edit/_DISPATCH") called at /home/musicbrainz/carton-local/lib/perl5/Catalyst.pm line 477 Catalyst::forward(MusicBrainz::Server=HASH(0x1b6c39a0), "/ws/js/edit/_DISPATCH") called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/Dispatcher.pm line 107 Catalyst::Dispatcher::dispatch(Catalyst::Dispatcher=HASH(0x78b93f8), MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst.pm line 1997 Catalyst::dispatch(MusicBrainz::Server=HASH(0x1b6c39a0)) called at lib/MusicBrainz/Server.pm line 320 MusicBrainz::Server::__ANON__() called at lib/MusicBrainz/Server.pm line 295 MusicBrainz::Server::with_translations(MusicBrainz::Server=HASH(0x1b6c39a0), CODE(0x1b4c94f8)) called at lib/MusicBrainz/Server.pm line 321 Class::MOP::Class:::around(CODE(0x46f3e00), MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Method/Wrapped.pm line 164 Class::MOP::Method::Wrapped::__ANON__(MusicBrainz::Server=HASH(0x1b6c39a0)) called at lib/MusicBrainz/Server.pm line 335 Class::MOP::Class:::around(CODE(0x13a6c210), MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Method/Wrapped.pm line 164 Class::MOP::Method::Wrapped::__ANON__(MusicBrainz::Server=HASH(0x1b6c39a0)) called at lib/MusicBrainz/Server.pm line 416 Class::MOP::Class:::around(CODE(0x13a6c618), MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Method/Wrapped.pm line 164 Class::MOP::Method::Wrapped::__ANON__(MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Method/Wrapped.pm line 35 MusicBrainz::Server::_wrapped_dispatch(MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Method/Wrapped.pm line 95 MusicBrainz::Server::dispatch(MusicBrainz::Server=HASH(0x1b6c39a0)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst.pm line 2403 Catalyst::try {...} () called at /home/musicbrainz/carton-local/lib/perl5/Try/Tiny.pm line 102 eval {...} called at /home/musicbrainz/carton-local/lib/perl5/Try/Tiny.pm line 93 Try::Tiny::try(CODE(0x1b7ad270), Try::Tiny::Catch=REF(0x1c7cf388)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst.pm line 2412 Catalyst::handle_request("MusicBrainz::Server", "env", HASH(0x1b711478), "response_cb", CODE(0x1b6b6770)) called at /home/musicbrainz/carton-local/lib/perl5/Catalyst/Engine.pm line 806 Catalyst::Engine::__ANON__(CODE(0x1b6b6770)) called at /home/musicbrainz/carton-local/lib/perl5/Plack/Middleware/HTTPExceptions.pm line 32 Plack::Middleware::HTTPExceptions::try {...} () called at /home/musicbrainz/carton-local/lib/perl5/Try/Tiny.pm line 102 eval {...} called at /home/musicbrainz/carton-local/lib/perl5/Try/Tiny.pm line 93 Try::Tiny::try(CODE(0x1b732cd8), Try::Tiny::Catch=REF(0x1b745de0)) called at /home/musicbrainz/carton-local/lib/perl5/Plack/Middleware/HTTPExceptions.pm line 41 Plack::Middleware::HTTPExceptions::__ANON__(CODE(0x1c799378)) called at /home/musicbrainz/carton-local/lib/perl5/Plack/Util.pm line 339 Plack::Util::__ANON__(CODE(0x1c798e38)) called at /home/musicbrainz/carton-local/lib/perl5/Plack/Util.pm line 339 Plack::Util::__ANON__(CODE(0x1b46fc08)) called at /home/musicbrainz/carton-local/lib/perl5/Plack/Util.pm line 339 Plack::Util::__ANON__(CODE(0x1b4d6608)) called at /home/musicbrainz/carton-local/lib/perl5/Starlet/Server.pm line 377 Starlet::Server::handle_connection(Plack::Handler::Starlet=HASH(0x107b9508), HASH(0x1b711478), IO::Socket::INET=GLOB(0x1b79ff38), CODE(0x13d0fc20), "", "", "") called at /home/musicbrainz/carton-local/lib/perl5/Starlet/Server.pm line 190 Starlet::Server::accept_loop(Plack::Handler::Starlet=HASH(0x107b9508), CODE(0x13d0fc20), 73) called at /home/musicbrainz/carton-local/lib/perl5/Plack/Handler/Starlet.pm line 80 Plack::Handler::Starlet::run(Plack::Handler::Starlet=HASH(0x107b9508), CODE(0x13d0fc20)) called at /home/musicbrainz/carton-local/lib/perl5/Plack/Loader.pm line 84 Plack::Loader::run(Plack::Loader=HASH(0x23aafc0), Plack::Handler::Starlet=HASH(0x107b9508)) called at /home/musicbrainz/carton-local/lib/perl5/Plack/Runner.pm line 277 Plack::Runner::run(Plack::Runner=HASH(0x20a3ab8)) called at /home/musicbrainz/carton-local/bin/plackup line 7