ADS lost running instances and users after resetlogin of ADS01

OS Name/Version: Ubuntu 20.04 LTS

Product Name/Version: AMP Instance Manager v2.6.0.4 built 06/11/2024 22:39

Problem Description: While doing normal system updates, this required the restart of the ampinstmgr.service via systemctl (handled automatically by the apt-get process).
Later when attempting to login with the user/password stored in my password manager, I couldn’t. So, following the instructions from Knowledge Base page, I executed:
ampinstmgr resetlogin ADS01
After restart of the application, the instances were no longer listed and all other users were gone.
Captured from console:

amp@buddha:~$ ampinstmgr resetlogin ADS01
[Info/1] AMP Instance Manager v2.6.0.4 built 06/11/2024 22:39
[Info/1] Stream: Mainline / Release - built by CUBECODERS/buildbot on CCL-DEV
Please enter value for Username
>admin

Please enter value for Password
>**********************

Please confirm value for Password
>**********************

[Info/1] Stopping Instance: 'ADS01'
[Info/1] Stopping instance ADS01...
[Info/1] Requesting soft-stop...
[Info/1] Waiting for instance to stop...
[Info/8] Instance was shut down gracefully.
[Info/8] Instance ADS01 has stopped.
[07:30:49] [Core Info/1]          : Starting AMP version 2.5.1.8 (Callisto), built 17/09/2024 12:32
[07:30:49] [Core Info/1]          : Stream: Mainline / Release - built by CUBECODERS/buildbot on CCL-DEV
[07:30:49] [Core Warning/1]       : Current time zone is set to PST - It is recommended you switch to UTC+0 to avoid time-zone related issues
[07:30:49] [Core Info/1]          : OS: Linux / x86_64
[07:30:49] [Core Info/1]          : CPU: AMD Ryzen 5 5600G (6C/12T)
[07:30:49] [Core Info/1]          : RAM: 63657MB
[07:30:49] [Core Info/1]          : AMP Instance ID: c0182da1-468a-457d-a2be-d7896ee8e792
[07:30:49] [Licencing Error/1]    : Unable to load licence for AMP Professional Edition - NoMatchingMachineId
[07:30:50] [Loader Info/1]        : Loaded ADSModule version 1.0.0.0 by CubeCoders Limited
[07:30:50] [Loader Info/1]        : Loaded FileManagerPlugin by CubeCoders Limited
[07:30:50] [Loader Info/1]        : Loaded EmailSenderPlugin by CubeCoders Limited
[07:30:50] [Loader Info/1]        : Loaded WebRequestPlugin by CubeCoders Limited
[07:30:50] [Loader Info/1]        : Loaded CommonCorePlugin by CubeCoders Limited
[07:30:50] [Loader Info/1]        : ADSModule requests dependency InstanceManagerPlugin...
[07:30:50] [InstanceManager Error/1] : Failed to read instance data
[07:30:50] [Core Error/1]         : JsonReaderException
[07:30:50] [Core Error/1]         : [0] (JsonReaderException) : Error reading JObject from JsonReader. Current JsonReader item is not an object: String. Path '[0].AMPVersion', line 26, position 27.
[07:30:50] [Core Error/1]         :   at Newtonsoft.Json.Linq.JObject.Load (Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Linq.JsonLoadSettings settings)
  at Newtonsoft.Json.Linq.JObject.Load (Newtonsoft.Json.JsonReader reader)
  at InstanceManagerPlugin.LocalInstanceManager+VersionObjectConverter.ReadJson (Newtonsoft.Json.JsonReader reader, Type objectType, Object existingValue, Newtonsoft.Json.JsonSerializer serializer)
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable (Newtonsoft.Json.JsonConverter converter, Newtonsoft.Json.JsonReader reader, Type objectType, Object existingValue)
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue (Newtonsoft.Json.Serialization.JsonProperty property, Newtonsoft.Json.JsonConverter propertyConverter, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty, Newtonsoft.Json.JsonReader reader, Object target)
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject (Object newObject, Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonObjectContract contract, Newtonsoft.Json.Serialization.JsonProperty member, String id)
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject (Newtonsoft.Json.JsonReader reader, Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, Object existingValue)
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal (Newtonsoft.Json.JsonReader reader, Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, Object existingValue)
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList (Collections.IList list, Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonArrayContract contract, Newtonsoft.Json.Serialization.JsonProperty containerProperty, String id)
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList (Newtonsoft.Json.JsonReader reader, Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Object existingValue, String id)
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal (Newtonsoft.Json.JsonReader reader, Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, Object existingValue)
  at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, Type objectType, Boolean checkAdditionalContent)
  at Newtonsoft.Json.JsonSerializer.DeserializeInternal (Newtonsoft.Json.JsonReader reader, Type objectType)
  at Newtonsoft.Json.JsonSerializer.Deserialize (Newtonsoft.Json.JsonReader reader, Type objectType)
  at Newtonsoft.Json.JsonConvert.DeserializeObject (String value, Type type, Newtonsoft.Json.JsonSerializerSettings settings)
  at Newtonsoft.Json.JsonConvert.DeserializeObject[T] (String value, Newtonsoft.Json.JsonSerializerSettings settings)
  at InstanceManagerPlugin.LocalInstanceManager.GetLocalInstances (String AlternateDefsPath)
[07:30:50] [Loader Info/1]        : Loaded InstanceManagerPlugin by CubeCoders Limited
[07:30:50] [Loader Info/1]        : ADSModule requests dependency SystemUserManagerPlugin...
[07:30:50] [Loader Info/1]        : Loaded SystemUserManagerPlugin by CubeCoders Limited
[07:30:50] [Core Info/1]          : -configonly specified or activation performed. Saving settings and shutting down. This is perfectly normal.
[Info/8] Waiting for AMP instance to start...
[Notice/8] AMP instance ADS01 is now running.

I was able to login and resetup my 2FA afterward. It was after that I realized everything was gone.

Steps to reproduce:

  • Step 1 apt-get update
  • Step 2 apt-get upgrade, allowing ampinstmgr to be restarted if necessary
  • Step 3 Attempt to login into web portal and fail
  • Step 4 Reset password per Knowledge Base article and let it restart
  • Step 5 Observe output posted above

Actions taken to resolve so far: None. I stopped at that point, did research and decided to file this ticket.

Check the disk space on the machine, missing user/instance data can sometimes indicate that AMP was unable to save the data to the disk

Thanks PotatoKing, but disk space isn’t an issue:

amp@buddha:~$ df -h .
Filesystem      Size  Used Avail Use% Mounted on
/dev/md128      901G  105G  705G  13% /

I should also note that my Rust server is still running, that was never stopped during the password reset or any of the apt updates. I can still connect to it.
It is a private server, so no one is really playing on it. I use it to test things and look at new updates with out constantly getting ganked. The only thing is that it has a fair amount of customization added to it (plugins), so recreating it would be a real hassle at this point.

The instances aren’t lost then, they just aren’t showing. Your ADS seems out of date, so follow this guide to make sure that everything’s all up to speed:
https://discourse.cubecoders.com/t/how-to-update-amp-to-the-latest-version/2297
If the instances still don’t show after that, then copy and restore one of the old instances.json files under /home/amp/.ampdata as the amp Linux user

Thanks, that did it. I didn’t realize it was that far behind. I just updated all of them.
I would think that at least the ADS01 version would autoupdate when the .deb was updated.

The instances and the ampinstmgr package are updated separately.
You can update everything all in one go with getamp update

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.