← Back to team overview

mahara-contributors team mailing list archive

[Bug 1369370] A patch has been submitted for review

 

Patch for "1.9_STABLE" branch: https://reviews.mahara.org/4021

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1369370

Title:
  Clean expired passwords causes error when upgrading from 1.8

Status in Mahara ePortfolio:
  In Progress
Status in Mahara 1.10 series:
  New
Status in Mahara 1.8 series:
  New
Status in Mahara 1.9 series:
  New
Status in Mahara 15.04 series:
  In Progress

Bug description:
  Mahara: 1.10.0dev
  OS: Linux
  DB: Postgres
  Browser: any

  
  The change put in to fix the cleaning of expired passwords has introduced a bug that causes a duplicate error when trying to upgrade from 1.8 to 1.10.

  [WAR] b8 (lib/errors.php:739) Failed to get a recordset: postgres7 error: [-5: ERROR:  duplicate key value violates unique constraint "cron_cal_uk", referer: http://d.mahara/admin/upgrade.php
  [Mon Sep 15 11:44:24 2014] [error] [client 192.168.124.138] [WAR] b8 (lib/errors.php:739) DETAIL:  Key (callfunction)=(auth_clean_expired_password_requests) already exists.] in adodb_throw(INSERT INTO "cron" ("callfunction", "minute", "hour", "day", "month", "dayofweek") VALUES (?, ?, ?, ?, ?, ?), Array), referer: http://d.mahara/admin/upgrade.php
  [Mon Sep 15 11:44:24 2014] [error] [client 192.168.124.138] [WAR] b8 (lib/errors.php:739) Command was: INSERT INTO "cron" ("callfunction", "minute", "hour", "day", "month", "dayofweek") VALUES (?, ?, ?, ?, ?, ?) and values was (auth_clean_expired_password_requests,5,0,*,*,*), referer: http://d.mahara/admin/upgrade.php
  [Mon Sep 15 11:44:24 2014] [error] [client 192.168.124.138] Call stack (most recent first):, referer: http://d.mahara/admin/upgrade.php
  [Mon Sep 15 11:44:24 2014] [error] [client 192.168.124.138]   * log_message("Failed to get a recordset: postgres7 error: [-5: E...", 8, true, true) at /var/www/maharacode/mahara/htdocs/lib/errors.php:95, referer: http://d.mahara/admin/upgrade.php
  [Mon Sep 15 11:44:24 2014] [error] [client 192.168.124.138]   * log_warn("Failed to get a recordset: postgres7 error: [-5: E...") at /var/www/maharacode/mahara/htdocs/lib/errors.php:739, referer: http://d.mahara/admin/upgrade.php
  [Mon Sep 15 11:44:24 2014] [error] [client 192.168.124.138]   * SQLException->__construct("Failed to get a recordset: postgres7 error: [-5: E...") at /var/www/maharacode/mahara/htdocs/lib/dml.php:1046, referer: http://d.mahara/admin/upgrade.php
  [Mon Sep 15 11:44:24 2014] [error] [client 192.168.124.138]   * insert_record("cron", object(stdClass), false, false) at /var/www/maharacode/mahara/htdocs/lib/dml.php:1133, referer: http://d.mahara/admin/upgrade.php
  [Mon Sep 15 11:44:24 2014] [error] [client 192.168.124.138]   * ensure_record_exists("cron", object(stdClass), object(stdClass)) at /var/www/maharacode/mahara/htdocs/lib/db/upgrade.php:3418, referer: http://d.mahara/admin/upgrade.php
  [Mon Sep 15 11:44:24 2014] [error] [client 192.168.124.138]   * xmldb_core_upgrade("2013101417") at /var/www/maharacode/mahara/htdocs/lib/upgrade.php:325, referer: http://d.mahara/admin/upgrade.php
  [Mon Sep 15 11:44:24 2014] [error] [client 192.168.124.138]   * upgrade_core(object(stdClass)) at /var/www/maharacode/mahara/htdocs/admin/upgrade.json.php:86, referer: http://d.mahara/admin/upgrade.php
  [Mon Sep 15 11:44:24 2014] [error] [client 192.168.124.138] , referer: http://d.mahara/admin/upgrade.php


  The reason is because the check if the record exists needs to pass a $where array that doesn't include the items to be updated.
  i.e. $where = array('callfunction' => 'auth_clean_expired_password_requests');

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1369370/+subscriptions


References