Skip to content

fix: add periodic yield to save_new_files #1040

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

TheBobBobs
Copy link
Contributor

Summary

Fixes #986

Replacing the add_entries call with a sleep(2.0) was still causing segfaults so this seems to be a Qt issue.
Adding a yield before every call to add_entries keeps Qt happy.

Tasks Completed

  • Platforms Tested:
    • Windows x86
    • Windows ARM
    • macOS x86
    • macOS ARM
    • Linux x86
    • Linux ARM
  • Tested For:
    • Basic functionality
    • PyInstaller executable

@CyanVoxel CyanVoxel added Type: Bug Something isn't working as intended TagStudio: Library Relating to the TagStudio library system Status: Review Needed A review of this is needed labels Aug 19, 2025
@CyanVoxel CyanVoxel moved this to 🏓 Ready for Review in TagStudio Development Aug 19, 2025
@CyanVoxel
Copy link
Member

Due to #986 being difficult to reproduce on command, I'm unable to confirm if this fixes the issue. If anyone else is able to reproduce #986 reliably or can confirm that this fixes the issue for them, that would be greatly appreciated.

@TheBobBobs
Copy link
Contributor Author

I was able to get a segfault 70% of the time on startup with these steps.

  1. Backup ts_library.sqlite
  2. Add a few 100 files to your library. (I just copied from .TagStudio/thumbs)
  3. Start tagstudio and wait for page to update or segfault
  4. Close and revert ts_library.sqlite
  5. Repeat from 3

@CyanVoxel
Copy link
Member

I was able to get a segfault 70% of the time on startup with these steps.

1. Backup ts_library.sqlite

2. Add a few 100 files to your library. (I just copied from .TagStudio/thumbs)

3. Start tagstudio and wait for page to update or segfault

4. Close and revert ts_library.sqlite

5. Repeat from 3

This is essentially what I've tried, but I've only ever been able to get to it segfault maybe 5% of the time in comparison

@TheBobBobs
Copy link
Contributor Author

Replacing the call to add_entries with a time.sleep(2.0) might be more reliable. Also removes the need to revert to backup

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Review Needed A review of this is needed TagStudio: Library Relating to the TagStudio library system Type: Bug Something isn't working as intended
Projects
Status: 🏓 Ready for Review
Development

Successfully merging this pull request may close these issues.

[Bug]: SEGV when loading new offline-added files
2 participants