Summary
The native Servo plugin's shared Servo thread emits diagnostics with tracing, but the plugin dylib has no tracing subscriber. As a result, all shared-thread diagnostics are silently dropped before reaching skit, including the CSS-stage log introduced while addressing #661.
This is especially harmful for production diagnosis because the dropped error-level messages include instance poisoning and Servo/render panic failures.
Current scope
plugins/native/servo/src/servo_thread.rs has 18 tracing calls:
- 8
tracing::error!
- 7
tracing::info!
- 2
tracing::debug!
- 1
tracing::warn!
All 18 are currently invisible in skit logs.
Proposed fix
Thread the host logger through shared-thread registration:
- Clone the SDK
Logger into ServoWorkItem::Register.
- Store the logger in each shared-thread
InstanceState.
- Replace the shared-thread diagnostics with the SDK
plugin_* macros so messages use the host callback and appear in skit.
The error-level poison/panic diagnostics are the highest-priority messages to preserve.
Context
The CSS-stage logging issue was discovered while working on web-capture PR #661. The line was intentionally left consistent with the existing file convention rather than partially converting only one call site.
Summary
The native Servo plugin's shared Servo thread emits diagnostics with
tracing, but the plugin dylib has no tracing subscriber. As a result, all shared-thread diagnostics are silently dropped before reaching skit, including the CSS-stage log introduced while addressing #661.This is especially harmful for production diagnosis because the dropped error-level messages include instance poisoning and Servo/render panic failures.
Current scope
plugins/native/servo/src/servo_thread.rshas 18tracingcalls:tracing::error!tracing::info!tracing::debug!tracing::warn!All 18 are currently invisible in skit logs.
Proposed fix
Thread the host logger through shared-thread registration:
LoggerintoServoWorkItem::Register.InstanceState.plugin_*macros so messages use the host callback and appear in skit.The error-level poison/panic diagnostics are the highest-priority messages to preserve.
Context
The CSS-stage logging issue was discovered while working on web-capture PR #661. The line was intentionally left consistent with the existing file convention rather than partially converting only one call site.