prodbug-0001.md 1.9 KB

Production Bug Report 25-Nov-2021

WARNING! Confidential

This bug report is only for internal use and shall only disclose to involved developer and clients. Disclosure can only be made after all the production systems has been patched or updated.

Summary

This bug was observed on Amazon LightSail VM environment with ArozOS v1.113 installation. User report that they cannot login to the ArozOS system.

Environment

  • Debian 10
  • 512MB RAM + 1vCPU + 20G SSD
  • LightSail

Panic Output

image-20211126102954382

Cause of Panic

image-20211126103222004

The main router returned an panic error caused by line 79 of the routing logic. After investigation, the following logic was the root cause of the above system panic.

modileInfo := moduleHandler.GetModuleInfoByID(interfaceModule[0])
http.Redirect(w, r, modileInfo.StartDir, 307)

where the modileInfo returned nil for the interface module which caused the panic.

This can happens when the interface module is based on a subservice and the subservice has been shut down due to human error or the subservice is constantly crashing and killed by the core system. When the user with that subservice and interface module log-in to system, the panic occurs and freeze the whole system as the main router is stuck.

Issue Resolve

The issue has been resolved in the latest internal build of ArozOS by creating an additional handling logic for interface module not found.

modileInfo := moduleHandler.GetModuleInfoByID(interfaceModule[0])
if modileInfo == nil {
    //The module is not found or not enabled
    http.Redirect(w, r, "./SystemAO/boot/interface_disabled.html", 307)
    return
}
http.Redirect(w, r, modileInfo.StartDir, 307)

Patched Version

ArozOS v1.118 (Nightly)

26 Nov 2021

logo dark