-
Notifications
You must be signed in to change notification settings - Fork 132
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
GUI can't render script #621
Comments
We cannot assume that a fatal signal was raised at a convenient time, especially a segfault. Calling rm_log_error_line here has several problems: - Attempting to lock RM_LOG_MTX may deadlock, - g_log aborts if it is called during another g_log call, - and if our non-trivial logging_callback crashes we recurse. Use g_printerr instead, which is simpler and less likely to cause a recursive fault that could obscure the original fatal signal or prevent a coredump from being generated. Related to #621
I was able to reproduce this myself, and as far as I can tell it was caused by a performance optimization in glib 2.75.3 that caused a problematic cast in the logging callback to actually result in a segfault instead of just a compiler warning. This affected command-line rmlint as well but only if you were using --no-with-color or sending its output to a pipe. Try building from latest master. |
I've tested, and can confirm this fixed in master branch. Thank you for maintaining this great software! |
I'm using Arch, BTRFS, and latest stable rmlint-shredder.
With default config, I use the GUI to scan my Pictures directory, and while it gives some dupe files, after hitting render script from all, the GUI just get stuck. The icon in the left panel is only circling, and I can't take any further steps.
I don't see any suspicious log when launching from command line with the --gui option. The program stuck after running the generated rmlint command. CLI works fine, but I need the GUI tool to verify and select the exact directory I don't need.
The text was updated successfully, but these errors were encountered: