Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lua garbage collection #6436

Closed
wpferguson opened this issue Oct 3, 2020 · 2 comments
Closed

lua garbage collection #6436

wpferguson opened this issue Oct 3, 2020 · 2 comments

Comments

@wpferguson
Copy link
Member

wpferguson commented Oct 3, 2020

Describe the bug
Under certain conditions, not well understood, lua attempts to garbage collect widgets that are still in use. This should not happen.

To Reproduce
case 1

  1. comment out the collectgarbage(stop) line in tools/script_manager.lua
  2. start darktable in a terminal with the -d lua flag.
  3. observe a crash with an error about trying to destroy a parented widget
  4. you may have to start darktable several times to see the error

case 2

  1. enable contrib/enfuseAdvanced, contrib/image_stack, and contrib/geoToolbox.
  2. start darktable from a terminal
  3. scroll back and forth through the lighttable until darktable crashes or an error message occurs saying trying to garbage collect a widget that hasn't been destroyed.

Expected behavior
lua should not try and garbage collect widgets that are in use

Platform (please complete the following information):

  • Darktable Version: all
  • OS: all

Additional context
This issue manifests itself with widgets, but it may be a problem with lua garbage collection in general or it may be a problem with our understanding of lua garbage collection. Either way it needs investigated.

@github-actions
Copy link

github-actions bot commented Nov 3, 2020

This issue did not get any activity in the past 30 days and will be closed in 365 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

@wpferguson
Copy link
Member Author

I think this can safely be closed. We found the original problem and through code tracing have a fairly good idea of how it works. I'll create a new issue if we encounter problems again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant