Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-36101

Coding error on logging into suspended account with Shibboleth

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.3.2
    • Fix Version/s: 2.2.6, 2.3.3
    • Component/s: Authentication
    • Labels:

      Description

      To reproduce:

      1. Suspend an account which uses Shibboleth auth
      2. Log in using the account
      3. You will see a coding error

      Expected result: I would expect this to show a message to the user saying their account was suspended.

      Actual result: The error message is:

      Coding error detected, it must be fixed by a programmer: moodle_database::update_record_raw() id field must be specified.
      Debug info:
      Error code: codingerror
      Stack trace:
       
          line 1111 of /lib/dml/mysqli_native_moodle_database.php: coding_exception thrown
          line 1167 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->update_record_raw()
          line 3292 of /lib/moodlelib.php: call to mysqli_native_moodle_database->update_record()
          line 50 of /auth/shibboleth/index.php: call to update_user_login_times()
       
      Coding error detected, it must be fixed by a programmer: Invalid $user parameter in check_user_preferences_loaded() call, missing id field
      Debug info:
      Error code: codingerror
      Stack trace:
       
          line 1638 of /lib/moodlelib.php: coding_exception thrown
          line 1879 of /lib/moodlelib.php: call to check_user_preferences_loaded()
          line 8614 of /lib/moodlelib.php: call to get_user_preferences()
          line 651 of /lib/pagelib.php: call to get_user_device_type()
          line 732 of /lib/pagelib.php: call to moodle_page->magic_get_devicetypeinuse()
          line 1487 of /lib/pagelib.php: call to moodle_page->__get()
          line 1437 of /lib/pagelib.php: call to moodle_page->resolve_theme()
          line 1444 of /lib/setuplib.php: call to moodle_page->initialise_theme_and_output()
          line 366 of /lib/setuplib.php: call to bootstrap_renderer->__call()
          line 366 of /lib/setuplib.php: call to bootstrap_renderer->fatal_error()
          line ? of unknownfile: call to default_exception_handler()

      There are also 3 notices displayed before the error message:

      Strict standards: Creating default object from empty value in /moodle/web/lib/sessionlib.php on line 952 Call Stack: 0.0007 692000 1. {main}() /moodle/web/auth/shibboleth/index.php:0 0.2717 23977056 2. session_set_user() /moodle/web/auth/shibboleth/index.php:45 0.2717 23963504 3. sesskey() /moodle/web/lib/sessionlib.php:1072 
       
      Notice: Undefined property: stdClass::$currentlogin in /moodle/web/lib/moodlelib.php on line 3287 Call Stack: 0.0007 692000 1. {main}() /moodle/web/auth/shibboleth/index.php:0 0.2721 23964128 2. update_user_login_times() /moodle/web/auth/shibboleth/index.php:50 
       
      Notice: Undefined property: stdClass::$id in /moodle/web/lib/moodlelib.php on line 3290 Call Stack: 0.0007 692000 1. {main}() /moodle/web/auth/shibboleth/index.php:0 0.2721 23964128 2. update_user_login_times() /moodle/web/auth/shibboleth/index.php:50 

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Votes:
                  1 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Fix Release Date:
                    12/Nov/12