security – Why isn’t the unlock pattern working anymore?

A few days ago my unlock pattern was not recognized anymore. I’m guessing the cause is memory corruption or some bug.

I haven’t restarted the device yet, hoping to “find” the new pattern or somehow bypass the screen lock.

The device is not encrypted or rooted.

What I’ve tried

“Guessing” the PIN – I’ve tried feeding all the possible combinations to

adb.exe shell locksettings verify --old xxxxxx

The response is always “Old password ‘xxxxxx’ didn’t match”. Strangely, it’s not throttling (tested the same method with an Android 10 device and immediately got “Request throttled”). Might be related to missing files (more below).

Looking at logs – since ADB is working, I’ve tried looking at adb.exe logcat -b system, but have no idea what to look for.

Some suspicious messages:

LockSettingsStorage: Cannot read file java.io.FileNotFoundException: /data/system/fmmpassword.key: open failed: ENOENT (No such file or directory)
LockSettingsStorage: Cannot read file java.io.FileNotFoundException: /data/system_de/0/spblob/xxxxxxxxxxxx.weaver: open failed: ENOENT (No such file or directory)

I understand /data/system_de/0/spblob/xxxxxxxxxxxx.weaver is used in the password verification.

Looking at /data/system/ some files might be missing (I’ve read that unlock data is stored in gatekeeper* files which I can’t find, maybe because of insufficient permissions):

1|dreamlte:/ $ ls /data/system/
ls: /data/system//hdcp2_5386: Permission denied
ls: /data/system//users: Permission denied
ls: /data/system//container: Permission denied
ls: /data/system//ndebugsocket: Permission denied
ls: /data/system//secure_storage: Permission denied
ls: /data/system//.aasa: Permission denied
ls: /data/system//heapdump: Permission denied
HWParamTime.bin                 dropbox                       locksettings.db-shm         screen_on_time
SimCard.dat                     enterprise                    locksettings.db-wal         sensor_big_data.txt
WifiHistory.db                  enterprise.conf               log-files.xml               sensor_big_data_usage.txt
WifiHistory.db-journal          enterprise.db                 mobeam_big_data_usage.txt   sensor_service
analytics.db                    enterprise.db-journal         netpolicy.xml               shared_prefs
analytics.db-journal            enterprise.db-shm             netstats                    shortcut_service.xml
appops.xml                      enterprise.db-wal             notification_log.db         slice
audioservice_sec.db             enterprise_cacerts.bks        notification_log.db-journal slocation.db
audioservice_sec.db-journal     enterprise_nativecerts.bks    notification_policy.xml     slocation.db-journal
battery-saver                   enterprise_untrustedcerts.bks overlays.xml                slocation.db-se
batterystats-checkin.bin        enterprise_usercerts.bks      package-cstats.list         sound_model.db
batterystats-daily.xml          entropy.dat                   package-dex-usage.list      sound_model.db-journal
batterystats.bin                friends                       package-usage.list          startingwindow
big_data_sensor_usage_pkg.txt   gamemanager.db                package_cache               storage.xml
big_data_usage_call_gesture.txt gamemanager.db-journal        packages-warnings.xml       sync
cachequota.xml                  graphicsstats                 packages.list               timezone
clipboardimage.db               harmony_third_party_apps.xml  packages.xml                ucm_ca_cert
clipboardimage.db-journal       hcm_info                      packages.xml.mbak           uiderrors.txt
conventionalmode                hcm_info-journal              pda.db                      urigrants.xml
device_policies.xml             ifw                           pda.db-journal              usagestats
deviceidle.xml                  inputmethod                   pre_boot_csc.dat            watchlist_report.db
diskstats_cache.json            install_sessions              procstats                   watchlist_report.db-journal
display-manager-state.xml       install_sessions.xml          recoverablekeystore         watchlist_settings.xml
displaysolution.db              job                           recoverablekeystore.db      wifigeofence.db
displaysolution.db-journal      last-fstrim                   recoverablekeystore.db-shm  wifigeofence.db-journal
dmappmgr.db                     last-header.txt               recoverablekeystore.db-wal
dmappmgr.db-journal             locksettings.db               registered_ucm_services

What can I do to understand what happened?

Will restarting restore the pattern or cause even more problems?