[ 
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]

Reply via email to