Jump to content

Topic on Extension talk:ConfirmAccount/archive 4

PHP Fatal error: Uncaught DBUnexpectedError: Database::close: Got COMMIT while atomic sections AccountRequestSubmission::submit are still open

2
Summary by Seb35

Forgotgen update.php.

ChrisC~mediawikiwiki (talkcontribs)

On a new MediWiki 1.28.2 install running on Debian Stretch (Apache 2.4.25-3, mod_php 7.0.19 and MariaDB 10.1.23-9) with the following Extension:ConfirmAccount configuration:

require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";
$wgConfirmAccountRequestFormItems = array(
        'UserName'        => array( 'enabled' => true ),
        'RealName'        => array( 'enabled' => true ),
        'Biography'       => array( 'enabled' => true, 'minWords' => 10 ),
        'AreasOfInterest' => array( 'enabled' => true ),
        'CV'              => array( 'enabled' => false ),
        'Notes'           => array( 'enabled' => false ),
        'Links'           => array( 'enabled' => true ),
        'TermsOfService'  => array( 'enabled' => true ),
);

When you request an account an error like this is generated for the user requesting an account:

Database error

A database query error has occurred. This may indicate a bug in the software.

[ff83f4da27ff532eecb2267e] 2017-06-20 19:35:14: Fatal exception of type "DBQueryError"

And the following error is generated in the Apache error log:

[Tue Jun 20 19:35:14.269289 2017] [:error] [pid 8564] [client XX.XX.XX.XX:54177] PHP Fatal error:  Uncaught DBUnexpectedError: Database::close: Got COMMIT while atomic sections AccountRequestSubmission::submit are still open. in /home/badge/sites/default/w/includes/libs/rdbms/database/Database.php:2756\nStack trace:\n#0 /home/badge/sites/default/w/includes/libs/rdbms/database/Database.php(708): Database->commit('Database::close', 'flush')\n#1 /home/badge/sites/default/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(976): Database->close()\n#2 /home/badge/sites/default/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1377): LoadBalancer->{closure}(Object(DatabaseMysqli))\n#3 /home/badge/sites/default/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(977): LoadBalancer->forEachOpenConnection(Object(Closure))\n#4 /home/badge/sites/default/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(968): LoadBalancer->closeAll()\n#5 /home/badge/sites/default/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1556): LoadBalancer->disable()\n#6 [internal function]: LoadBalancer->__destruct()\n#7 {main}\n  thrown in /home/badge/sites/default/w/includes/libs/rdbms/database/Database.php on line 2756, referer: https://badge.wiki/wiki/Special:RequestAccount

Does anyone have any suggestions how to further debug or even solve this issue?

ChrisC~mediawikiwiki (talkcontribs)

So sorry I missed the need to run the update.php script in the install instructions to generate the database tables needed after running that the plugin works without an issue.