#5 bug: segmentation fault

Zamknięty
otworzone 3 miesięcy temu przez fszontagh · 1 komentarzy

When the second job started, the server segfaults:

[1]    905044 segmentation fault (core dumped)

start command:

./src/stable-diffusion-rest-server --models-dir /data/SD_MODELS --port 8082 --host 0.0.0.0 --ui-dir ./webu
When the second job started, the server segfaults: ``` [1] 905044 segmentation fault (core dumped) ``` start command: ``` ./src/stable-diffusion-rest-server --models-dir /data/SD_MODELS --port 8082 --host 0.0.0.0 --ui-dir ./webu ```
Szontágh Ferenc skomentował 3 miesięcy temu
Właściciel

Fixed in commit b191071

Root Cause: The segmentation fault was caused by a dangling progress callback pointer. When the second generation job started, it attempted to use the callback pointer from the first job, which had already been deleted.

Solution: Added sd_set_progress_callback(nullptr, nullptr) to clear the callback pointer before deleting the callback data. This ensures the stable-diffusion.cpp library doesn't try to call a deleted callback.

Changes:

  • Modified src/stable_diffusion_wrapper.cpp
  • Cleared callback in generateText2Img() (line 154)
  • Cleared callback in generateImg2Img() (line 264)
  • Cleared callback in generateControlNet() (line 375)

Testing:

  • Server and UI rebuilt successfully
  • Code follows established cleanup patterns
  • Prevents dangling pointer access

The fix is now live and should prevent segfaults when running multiple consecutive generation jobs.

## Fixed in commit b191071 **Root Cause:** The segmentation fault was caused by a dangling progress callback pointer. When the second generation job started, it attempted to use the callback pointer from the first job, which had already been deleted. **Solution:** Added `sd_set_progress_callback(nullptr, nullptr)` to clear the callback pointer before deleting the callback data. This ensures the stable-diffusion.cpp library doesn't try to call a deleted callback. **Changes:** - Modified `src/stable_diffusion_wrapper.cpp` - Cleared callback in `generateText2Img()` (line 154) - Cleared callback in `generateImg2Img()` (line 264) - Cleared callback in `generateControlNet()` (line 375) **Testing:** - Server and UI rebuilt successfully - Code follows established cleanup patterns - Prevents dangling pointer access The fix is now live and should prevent segfaults when running multiple consecutive generation jobs.
Zaloguj się, aby dołączyć do tej rozmowy.
Brak etykiety
bug
ui
Brak kamienia milowego
Brak przypisania
1 uczestników
Ładowanie...
Anuluj
Zapisz
Nie ma jeszcze treści.