Skip to content

Yggdrasil fails to start after storage exhaustion and cleanup #84

@1d10t

Description

@1d10t

yggdrasil-logcat.txt

yggdrasil-logcat.txt

Problem Description

  1. Storage consumption issue:

    • Nginx running in Termux filled device storage with error.log
    • Infinite error messages: accept4() failed (22: Invalid argument)
    • This occurred while nginx was listening on a Yggdrasil IPv6 address
  2. Yggdrasil startup failure:

    • After storage issues, Yggdrasil failed to start
    • ADB logcat showed:
      08-03 10:19:23.300 19118 19118 E AndroidRuntime: Process: eu.neilalexander.yggdrasil, PID: 19118
      08-03 10:19:23.300 19118 19118 E AndroidRuntime: java.lang.RuntimeException: Unable to create application eu.neilalexander.yggdrasil.GlobalApplication: org.json.JSONException: End of input at character 0 of 
      08-03 10:19:23.300 19118 19118 E AndroidRuntime: 	at eu.neilalexander.yggdrasil.ConfigurationProxy.updateJSON(ConfigurationProxy.kt:45)
      08-03 10:19:23.300 19118 19118 E AndroidRuntime: 	at eu.neilalexander.yggdrasil.ConfigurationProxy.fix(ConfigurationProxy.kt:52)
      08-03 10:19:23.300 19118 19118 E AndroidRuntime: 	at eu.neilalexander.yggdrasil.ConfigurationProxy.invoke(ConfigurationProxy.kt:21)
      08-03 10:19:23.300 19118 19118 E AndroidRuntime: 	at eu.neilalexander.yggdrasil.GlobalApplication.onCreate(GlobalApplication.kt:24)
      

Troubleshooting Attempts

  • Tried reinstalling while keeping data (pm uninstall -k eu.neilalexander.yggdrasil) - didn't help
  • Full reinstall (with data loss) fixed the issue but:
    • Generated new IPv6 address
    • Reset all application settings
  • Current workaround: Disabled nginx logging (but this might hide other issues)

Device Information

  • No root access
  • Android version: 15
  • Yggdrasil version: 0.5.12
  • Nginx version: 1.28.0

Questions/Suggestions for Yggdrasil

  1. Is there a more graceful way to handle configuration corruption (the JSONException) without requiring full data reset?
  2. Could Yggdrasil implement some protection against configuration file corruption?
  3. Would it be possible to add a configuration backup/restore feature to preserve settings during troubleshooting?

Additional Notes

The nginx error.log filling storage appears to be a symptom rather than the root cause - there seems to be some underlying IPv6 communication issue when using Yggdrasil addresses.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions