[
https://issues.apache.org/jira/browse/PDFBOX-4956?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Lehmkühler resolved PDFBOX-4956.
----------------------------------------
Resolution: Fixed
I'll keep the idea of at least partly removing/replacing COSName instances with
strings in my mind, but for now we are done here. Set to resolved
[~joerg.wassmer] Thanks for the report
> COSName.hashCode initialized after put to cache, instead before
> ---------------------------------------------------------------
>
> Key: PDFBOX-4956
> URL: https://issues.apache.org/jira/browse/PDFBOX-4956
> Project: PDFBox
> Issue Type: Bug
> Components: Parsing
> Affects Versions: 2.0.21
> Reporter: Jörg Waßmer
> Assignee: Andreas Lehmkühler
> Priority: Major
> Fix For: 2.0.22, 3.0.0 PDFBox
>
>
> In the constructor org.apache.pdfbox.cos.COSName.COSName(String, boolean),
> the field COSNam.hashCode becomes initialized after the COSName instance has
> been added to the cache.
> Thus, concurrent threads using the cached instance may see different values
> in COSName.hashCode().
>
> Just to mention, that's another problem:
> The whole caching is quite dirty, because it leaks memory if the application
> is not aware of calling COSName.clearResources().
> Ideally, the class COSName would not exist at all, since it has no benefit
> over using strings directly. Of course, it would be quite a hard work to get
> rid of it.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]