Fix an OSGi Bundle
Use this workflow when a deployment completed but the feature still fails.
ldev osgi status and ldev osgi diag are convenience wrappers around Gogo Shell. They do not replace OSGi diagnostics; they make them faster to run from a normal terminal and give you structured output you can pipe.
Problem
A module was deployed, but the page still errors or the feature is missing.
1. Find the bundle name
Start from the recent error:
ldev logs diagnose --since 10m --jsonlogs diagnose groups exceptions and gives you a shortlist. Capture the bundle symbolic name from the stack trace or component error. Example: com.acme.foo.web.
2. Inspect bundle state
ldev osgi status com.acme.foo.web
ldev osgi diag com.acme.foo.webWhat to look for:
- unresolved package imports
- unsatisfied declarative-services references
- a bundle stuck after deployment
These are pass-throughs of Gogo lb -s <filter> and diag <bundleId> with formatting on top.
3. Rebuild and redeploy only the affected module
ldev deploy module foo-webIf the issue is in a theme:
ldev deploy theme4. Refresh the runtime if needed
ldev env restartUse a restart when the deployment succeeded but the runtime has not recovered cleanly.
5. Verify the fix
ldev osgi status com.acme.foo.web
ldev portal check
ldev logs diagnose --since 5m --jsonEnd state:
- the bundle is
Active portal checksucceeds- the original exception no longer repeats