[ 
https://issues.apache.org/jira/browse/MIME4J-251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17842895#comment-17842895
 ] 

Benoit Tellier commented on MIME4J-251:
---------------------------------------

https://github.com/apache/james-mime4j/pull/103 improved support for that but 
offset computation seems buggy for non LATIN characters.

Especially with korean:

{code:java}
    @Test
    public void testNameUTF8Support() throws Exception {
        String s = "\"시험\" <koreant...@example.com>";
        ByteSequence raw = ContentUtil.encode(s);
        ParserCursor cursor = new ParserCursor(0, s.length());

        Address address = parser.parseAddress(raw, cursor, 
RawFieldParser.INIT_BITSET(','));
        Assert.assertNotNull(address);
        Assert.assertTrue(address instanceof Mailbox);
        Mailbox mailbox = (Mailbox) address;
        Assert.assertEquals("시험", mailbox.getName());
        Assert.assertEquals("koreant...@example.com", mailbox.getAddress()); // 
Fails! koreantest@example.
    }
{code}
 

> Memory leak in TempFileStorageProvider
> --------------------------------------
>
>                 Key: MIME4J-251
>                 URL: https://issues.apache.org/jira/browse/MIME4J-251
>             Project: James Mime4j
>          Issue Type: Bug
>          Components: project
>    Affects Versions: 0.7.2
>            Reporter: Willem Salembier
>            Priority: Critical
>
> Usage of the File#deleteOnExit hook in the class TempFileStorageProvider 
> causes a memory leak for long-running servers:
> {code}
> public StorageOutputStream createStorageOutputStream() throws IOException {
>         File file = File.createTempFile(prefix, suffix, directory);
>         file.deleteOnExit();
>  
>         return new TempFileStorageOutputStream(file);
>     }
> {code}
> The JDK keeps a set of File references (even when already deleted) in memory 
> until the JVM exists. This set grows infinitely. Server-side libraries should 
> never call {{File#deleteOnExit}}
> https://bugs.openjdk.java.net/browse/JDK-4872014
> https://bugs.openjdk.java.net/browse/JDK-4513817
> class DeleteOnExitHook {
>     private static LinkedHashSet<String> files = new LinkedHashSet<>();



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to