| Summary: | Framework should ensure weaving hooks are presented with byte code in a class cache environment | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | Matthew Sykes <sykesm.oss> | ||||
| Component: | Framework | Assignee: | Thomas Watson <tjwatson> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | tjwatson | ||||
| Version: | unspecified | ||||||
| Target Milestone: | Juno M4 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 365610 | ||||||
| Attachments: |
|
||||||
|
Description
Matthew Sykes
Created attachment 205941 [details]
Possible fix
Here is a possible fix that ensures the weaving hooks get the actual bytes of the real .class file. This patch assumes that BundleEntry.getInputStream() will always return the actual bytes of the real .class file. Where getBytes() returns the byte[] to the magic share classes key to be used when defining a class that is a shared class.
The patch detects that the value returned by BundleEntry.getBytes is not a valid class file and will get the real bytes from BundleEntry.getInputStream().
A fix was released in the commit: http://git.eclipse.org/c/equinox/rt.equinox.framework.git/commit/?id=609c7b5ae81f664920ccfe09d0b8d59cab098791 |