Crash: rethrow of empty exception from texture downscale worker #90

Closed
opened 2026-09-27 06:27:46 +00:00 by backspace119 · 0 comments
Owner

Tester crash (RX 5600 XT / RADV, Ubuntu 24.04, release vk-2026.09.27 @ 94b0524cd7), a minute after walking in-world.

Symbolized against the exact release binary:

LLAppViewer::idle -> WorkQueue::runFor -> callWork
  -> reply of LLViewerFetchedTexture::vkScaleDownCpuCopy(int)  (workqueue.h:533)
    -> std::rethrow_exception  SIGSEGV, fault addr 0xffffffffffffff80

The fault address is null-0x80: rethrow_exception was given an empty exception_ptr. The background texture downscale (vk_box_downscale, General pool) threw something current_exception() couldn't capture, and the WorkQueue reply path rethrew null. Not AMD-specific.

Fix (in progress):

  • downscale worker catches everything, logs once, returns no result (current copy kept);
  • WorkQueue never rethrows an empty exception_ptr (warn instead) - closes the class for every background job.

Also confirms #13 progress: the descriptor-pool fix works on RADV (all pools created, world rendered, prefs changed).

**Tester crash** (RX 5600 XT / RADV, Ubuntu 24.04, release vk-2026.09.27 @ 94b0524cd7), a minute after walking in-world. Symbolized against the exact release binary: ``` LLAppViewer::idle -> WorkQueue::runFor -> callWork -> reply of LLViewerFetchedTexture::vkScaleDownCpuCopy(int) (workqueue.h:533) -> std::rethrow_exception SIGSEGV, fault addr 0xffffffffffffff80 ``` The fault address is null-0x80: `rethrow_exception` was given an **empty** `exception_ptr`. The background texture downscale (`vk_box_downscale`, General pool) threw something `current_exception()` couldn't capture, and the WorkQueue reply path rethrew null. Not AMD-specific. **Fix (in progress):** - downscale worker catches everything, logs once, returns no result (current copy kept); - `WorkQueue` never rethrows an empty exception_ptr (warn instead) - closes the class for every background job. Also confirms #13 progress: the descriptor-pool fix works on RADV (all pools created, world rendered, prefs changed).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
backspace119/Slipstream#90
No description provided.