Skip to content

DependencyControl fails to update Aegisub-Motion due to recursive module update on Windows #38

Description

@Adrikss

Description

I'm trying to update Aegisub-Motion to v1.1.0 using DependencyControl's Update Script tool in an installed Aegisub on Windows 11.

When I select Aegisub-Motion and start the update, DependencyControl begins updating its dependencies, but eventually enters a recursive update chain involving the Tags module.

The update then fails with a Lua runtime error.

Steps to reproduce

  1. Open Aegisub.
  2. Open DependencyControl's Update Script tool.
  3. Select Aegisub-Motion.
  4. Start the update.
  5. DependencyControl begins updating the required modules.
  6. The update eventually reaches Tags again while its previous update task is still running.

Expected behavior

DependencyControl should successfully resolve and update all required dependencies of Aegisub-Motion, or detect the dependency cycle and terminate the update gracefully with a meaningful error message.

Actual behavior

The update reaches the following sequence:

Aegisub-Motion
└─ LineCollection
   └─ Line
      └─ Tags
         └─ Transform
            └─ Tags

At this point DependencyControl reports:

Skipped update of module 'Tags': the update task is already running.

However, instead of gracefully handling this situation, it eventually throws a Lua runtime error:

attempt to call field 'getUpdaterErrorMsg' (a nil value)

Full error log

Starting update of automation script 'Aegisub-Motion'...
Checking requirements...
— Updating outdated module 'LineCollection'...
— Starting update of module 'LineCollection'... 
— Checking requirements...
—— Updating outdated module 'Line'...
—— Starting update of module 'Line'... 
—— Checking requirements...
——— Updating outdated module 'Tags'...
——— Starting update of module 'Tags'... 
——— Checking requirements...
———— Updating outdated module 'Transform'...
———— Starting update of module 'Transform'... 
———— Checking requirements...
————— Updating outdated module 'Tags'...
————— Starting update of module 'Tags'... 
————— Skipped update of module 'Tags': the update task is already running.

Lua reported a runtime error:
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\UpdateTask.moon", line 661
<anonymous function at lines 532-673>
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\UpdateTask.moon", line 911
performUpdate
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\ModuleLoader.moon", line 169
loadModules
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\Updater.moon", line 119
require
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\UpdateTask.moon", line 661
run
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\UpdateTask.moon", line 911
performUpdate
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\ModuleLoader.moon", line 169
loadModules
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\Updater.moon", line 119
require
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\UpdateTask.moon", line 661
run
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\UpdateTask.moon", line 911
performUpdate
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\ModuleLoader.moon", line 169
loadModules
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\Updater.moon", line 119
require
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\UpdateTask.moon", line 661
run
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\UpdateTask.moon", line 911
performUpdate
    File "C:\Users\newad\AppData\Roaming\Aegisub\automation\include\l0\DependencyControl\ModuleLoader.moon", line 174
loadModules

attempt to call field 'getUpdaterErrorMsg' (a nil value)

Could someone confirm whether this is a known issue with the current DependencyControl updater, or whether the dependency definitions in Aegisub-Motion v1.1.0 need to be adjusted?

Thanks!

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