You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Salikh Zakirov (JIRA)" <ji...@apache.org> on 2006/12/14 14:04:21 UTC

[jira] Created: (HARMONY-2692) [drlvm][nio] buffer's wrap() method leaks memory

[drlvm][nio] buffer's wrap() method leaks memory
------------------------------------------------

                 Key: HARMONY-2692
                 URL: http://issues.apache.org/jira/browse/HARMONY-2692
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
         Environment: Windows XP i686
            Reporter: Salikh Zakirov
         Attachments: BufferWrap.java

The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (HARMONY-2692) [drlvm] throwing exception in mixed mode leaks memory

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12473354 ] 

Alexey Varlamov commented on HARMONY-2692:
------------------------------------------

Just a minor observation on the patch, no need to obtain local handles once more after they are stored as last_m2n_frame_handles:

+ if (last_m2n_frame_handles) {
+        free_local_object_handles2(m2n_get_last_frame()->local_object_handles);
+ }

For the regression test, I agree - leaking memory usually undetectable via ordinary tests.

> [drlvm] throwing exception in mixed mode leaks memory
> -----------------------------------------------------
>
>                 Key: HARMONY-2692
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2692
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP i686
>            Reporter: Salikh Zakirov
>         Assigned To: Gregory Shimansky
>         Attachments: 0001-Fix-of-memory-leak-from-rth_throw_lazy-runtime-helper.patch, BufferWrap.java, ExceptionLeakTest.java
>
>
> The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
> When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (HARMONY-2692) [drlvm] throwing exception in mixed mode leaks memory

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Shimansky reassigned HARMONY-2692:
------------------------------------------

    Assignee: Gregory Shimansky

> [drlvm] throwing exception in mixed mode leaks memory
> -----------------------------------------------------
>
>                 Key: HARMONY-2692
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2692
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP i686
>            Reporter: Salikh Zakirov
>         Assigned To: Gregory Shimansky
>         Attachments: 0001-Fix-of-memory-leak-from-rth_throw_lazy-runtime-helper.patch, BufferWrap.java, ExceptionLeakTest.java
>
>
> The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
> When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-2692) [drlvm][nio] buffer's wrap() method leaks memory

Posted by "Vladimir Beliaev (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vladimir Beliaev updated HARMONY-2692:
--------------------------------------

    Attachment: ExceptionLeakTest.java

Ok, I found out the following:

1. the bug does not relate nio. I've attached updated test (ExceptionLeakTest.java).

    Please rename bug summary to

    [drlvm][jit] throwing exception in mixed mode leaks memory

2. yes, looks like the bug relates more to JIT or even EM 
 
    - it is not reprodocuble neither with JET nor with OPT nor with Interpreter (if you run with -Xem:<em> option)

    - it is reproduced in mixed mode (i.e. JET first, then OPT) on both Windows/IA32 and Linux/IA32

Thanks
Vladimir

> [drlvm][nio] buffer's wrap() method leaks memory
> ------------------------------------------------
>
>                 Key: HARMONY-2692
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2692
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP i686
>            Reporter: Salikh Zakirov
>         Attachments: BufferWrap.java, ExceptionLeakTest.java
>
>
> The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
> When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-2692) [drlvm] throwing exception in mixed mode leaks memory

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12473368 ] 

Gregory Shimansky commented on HARMONY-2692:
--------------------------------------------

I've made a workaround to this problem, I added empty si_set_callback function which aborts. This function is not needed yet because JIT mode on IPF is not implemented yet.

> [drlvm] throwing exception in mixed mode leaks memory
> -----------------------------------------------------
>
>                 Key: HARMONY-2692
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2692
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP i686
>            Reporter: Salikh Zakirov
>         Assigned To: Gregory Shimansky
>         Attachments: 0001-Fix-of-memory-leak-from-rth_throw_lazy-runtime-helper.patch, BufferWrap.java, ExceptionLeakTest.java
>
>
> The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
> When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-2692) [drlvm][nio] buffer's wrap() method leaks memory

Posted by "Salikh Zakirov (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/HARMONY-2692?page=all ]

Salikh Zakirov updated HARMONY-2692:
------------------------------------

    Attachment: BufferWrap.java

> [drlvm][nio] buffer's wrap() method leaks memory
> ------------------------------------------------
>
>                 Key: HARMONY-2692
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2692
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP i686
>            Reporter: Salikh Zakirov
>         Attachments: BufferWrap.java
>
>
> The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
> When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Resolved: (HARMONY-2692) [drlvm] throwing exception in mixed mode leaks memory

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Shimansky resolved HARMONY-2692.
----------------------------------------

    Resolution: Fixed

Patch applied at 507957. I've made the mentioned fixes and a workaround. Please check that it was applied as expected.

> [drlvm] throwing exception in mixed mode leaks memory
> -----------------------------------------------------
>
>                 Key: HARMONY-2692
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2692
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP i686
>            Reporter: Salikh Zakirov
>         Assigned To: Gregory Shimansky
>         Attachments: 0001-Fix-of-memory-leak-from-rth_throw_lazy-runtime-helper.patch, BufferWrap.java, ExceptionLeakTest.java
>
>
> The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
> When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-2692) [drlvm][jit] throwing exception in mixed mode leaks memory

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Shimansky updated HARMONY-2692:
---------------------------------------

    Summary: [drlvm][jit] throwing exception in mixed mode leaks memory  (was: [drlvm][nio] buffer's wrap() method leaks memory)

Agreed with summary change.

> [drlvm][jit] throwing exception in mixed mode leaks memory
> ----------------------------------------------------------
>
>                 Key: HARMONY-2692
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2692
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP i686
>            Reporter: Salikh Zakirov
>         Attachments: BufferWrap.java, ExceptionLeakTest.java
>
>
> The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
> When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-2692) [drlvm] throwing exception in mixed mode leaks memory

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Shimansky updated HARMONY-2692:
---------------------------------------

    Summary: [drlvm] throwing exception in mixed mode leaks memory  (was: [drlvm][jit] throwing exception in mixed mode leaks memory)

It appears that the bug is not in JIT. Memory leak happens because exception throwing helper allocates new handle for the exception object. Since this helper is called without M2N frame, this local handle is allocated in the same frame which java program uses. When it is done in a loop, these local handles are created infinitely.

> [drlvm] throwing exception in mixed mode leaks memory
> -----------------------------------------------------
>
>                 Key: HARMONY-2692
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2692
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP i686
>            Reporter: Salikh Zakirov
>         Attachments: BufferWrap.java, ExceptionLeakTest.java
>
>
> The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
> When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-2692) [drlvm] throwing exception in mixed mode leaks memory

Posted by "Vladimir Beliaev (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12473346 ] 

Vladimir Beliaev commented on HARMONY-2692:
-------------------------------------------

Regarding regression test - I believe there should be no reggression test because:

1. test runs ~7min (about 8'500'000 iterations passed by that time)  - too long for "acceptance" test. 

2. test behaviour depends on current DRLVM "state" in terms of "C heap usage":
    - if DRLVM is optimized to use less c-memory, then number of iterations in test may be not enough (test execution time is critical too)
    - if we re-develop test to check if the C-Heap-bound is achieved then such a test may fail due to DRLVM use more C Heap (say, because of new features / optimization are done)... So such the test would be unstable.

So, I vote for comitting the patch w/o regression test.

Thanks
Vladimir Beliaev

> [drlvm] throwing exception in mixed mode leaks memory
> -----------------------------------------------------
>
>                 Key: HARMONY-2692
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2692
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP i686
>            Reporter: Salikh Zakirov
>         Assigned To: Gregory Shimansky
>         Attachments: 0001-Fix-of-memory-leak-from-rth_throw_lazy-runtime-helper.patch, BufferWrap.java, ExceptionLeakTest.java
>
>
> The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
> When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-2692) [drlvm][jit] throwing exception in mixed mode leaks memory

Posted by "Vladimir Beliaev (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12471329 ] 

Vladimir Beliaev commented on HARMONY-2692:
-------------------------------------------

Next set of comment which may be helpfull.

1. obvious, still... To investigate the leak please modify attached ExceptionLeakTest.java to reduce number of iterations from 12'345'678 to 500'001 - so the program under memcheck will ends much faster...

2. I've run 
 
           valgrind --leak-check=full <drlvm> ExceptionLeakTest 

   and got the most heavy leak:

==15344== 23,509,056 (23,508,960 direct, 96 indirect) bytes in 489,770 blocks are definitely lost in loss record 55 of 55
==15344==    at 0x401B82E: malloc (vg_replace_malloc.c:149)
==15344==    by 0x4C8B992: oh_add_new_handles(ObjectHandlesNew**) (object_handles.cpp:279)
==15344==    by 0x4C8BA62: oh_allocate_handle(ObjectHandles**) (object_handles.cpp:300)
==15344==    by 0x4C8BDCC: oh_allocate_local_handle() (object_handles.cpp:384)
==15344==    by 0x4C1CF2D: class_alloc_new_object_and_run_constructor(Class*, Method*, unsigned char*) (jit_runtime_support.cpp:2077)
==15344==    by 0x4C0353D: create_lazy_exception(Class*, Method*, unsigned char*, jvalue*) (exceptions_jit.cpp:151)
==15344==    by 0x4C03B41: exn_propagate_exception(StackIterator*, ManagedObject**, Class*, Method*, unsigned char*, jvalue*) (exceptions_jit.cpp:313)
==15344==    by 0x4C03F86: exn_throw_for_JIT(ManagedObject*, Class*, Method*, unsigned char*, jvalue*) (exceptions_jit.cpp:439)
==15344==    by 0x4C0401C: exn_athrow(ManagedObject*, Class*, Method*, unsigned char*) (exceptions_jit.cpp:462)
==15344==    by 0x4C044A5: rth_throw_lazy(Method*) (exceptions_jit.cpp:594)
==15344==    by 0x4441BD4: ???
==15344==    by 0x8D6E203: ???

Thanks
Vladimir


> [drlvm][jit] throwing exception in mixed mode leaks memory
> ----------------------------------------------------------
>
>                 Key: HARMONY-2692
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2692
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP i686
>            Reporter: Salikh Zakirov
>         Attachments: BufferWrap.java, ExceptionLeakTest.java
>
>
> The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
> When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-2692) [drlvm][nio] buffer's wrap() method leaks memory

Posted by "Vladimir Beliaev (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12470596 ] 

Vladimir Beliaev commented on HARMONY-2692:
-------------------------------------------

I have few minor comments related to this issue.

1. it is not reproducible with J9 machine (so one needs to start looking at it with DRLVM)

2. it takes about 7 minutes to get the failure (about 8'500'000 iterations passed by that time) on mentioned configuration

3. the stack traces shows it is out of C heap (memory leak - as given in description):

harmonyvm.dll!_assert(const char * expr=0x007e9dd8, const char * filename=0x007e9d88, unsigned int lineno=251)  Line 295	C
harmonyvm.dll!si_create_from_native(VM_thread * thread=0x011e1aa0)  Line 251 + 0x1a	C++
harmonyvm.dll!st_get_trace(VM_thread * p_vmthread=0x011e1aa0, unsigned int * res_depth=0x0013f200, StackTraceFrame * * stfs=0x0013f1f4)  Line 154 + 0x9	C++
harmonyvm.dll!Java_org_apache_harmony_vm_VMStack_getStackState(JNIEnv_External * jenv=0x011e1bd8, _jobject * __formal=0x0013f220)  Line 255 + 0x1d	C++
017e2aef()	
.....

And asserting part of code is:
    StackIterator* res = (StackIterator*)STD_MALLOC(sizeof(StackIterator));
    assert(res);

Hope this can safe a bit of your time if you take this issue.

Thanks
Vladimir

> [drlvm][nio] buffer's wrap() method leaks memory
> ------------------------------------------------
>
>                 Key: HARMONY-2692
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2692
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP i686
>            Reporter: Salikh Zakirov
>         Attachments: BufferWrap.java
>
>
> The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
> When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (HARMONY-2692) [drlvm] throwing exception in mixed mode leaks memory

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Shimansky closed HARMONY-2692.
--------------------------------------


No response, assuming ok.

> [drlvm] throwing exception in mixed mode leaks memory
> -----------------------------------------------------
>
>                 Key: HARMONY-2692
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2692
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP i686
>            Reporter: Salikh Zakirov
>            Assignee: Gregory Shimansky
>         Attachments: 0001-Fix-of-memory-leak-from-rth_throw_lazy-runtime-helper.patch, BufferWrap.java, ExceptionLeakTest.java
>
>
> The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
> When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-2692) [drlvm] throwing exception in mixed mode leaks memory

Posted by "Pavel Afremov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Afremov updated HARMONY-2692:
-----------------------------------

    Attachment: 0001-Fix-of-memory-leak-from-rth_throw_lazy-runtime-helper.patch

Fix of memory leak from rth_throw_lazy runtime helper. 
Patch adds:
•	allocation handlers on the stack for rth_throw_lazy runtime helper .
•	free of handlers in exn_throw_for_JIT befor control transfering.
Fix spelling of si_set_callback function.


> [drlvm] throwing exception in mixed mode leaks memory
> -----------------------------------------------------
>
>                 Key: HARMONY-2692
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2692
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP i686
>            Reporter: Salikh Zakirov
>         Attachments: 0001-Fix-of-memory-leak-from-rth_throw_lazy-runtime-helper.patch, BufferWrap.java, ExceptionLeakTest.java
>
>
> The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
> When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-2692) [drlvm] throwing exception in mixed mode leaks memory

Posted by "Gregory Shimansky (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12473350 ] 

Gregory Shimansky commented on HARMONY-2692:
--------------------------------------------

This patch doesn't work on IPF. To make it compile, I've had to change exceptions_jit.cpp like this:

--- exceptions_jit.cpp  (revision 507881)
+++ exceptions_jit.cpp  (working copy)
@@ -45,6 +45,7 @@
 #include "cci.h"
 
 #ifdef _IPF_
+#include "../m2n_ipf_internal.h"
 #elif defined _EM64T_
 #include "../m2n_em64t_internal.h"
 #else

But this is not enough. After the code compiles when I start VM it gives me the following error:

Failed to open JVM DLL: /nfs/ims/proj/drl/mrt1/users/gregory/ipf-sles9/trunk/working_vm/build/lnx_ipf_gcc_debug/deploy/jdk/jre/bin/default/harmonyvm (/nfs/ims/proj/drl/mrt1/users/gregory/ipf-sles9/trunk/working_vm/build/lnx_ipf_gcc_debug/deploy/jdk/jre/bin/default/libharmonyvm.so: undefined symbol: _Z15si_set_callbackP13StackIteratorPPv)

Looks like si_set_callback is not implemented or absent on IPF. Pavel could you please take a look? If this functionality is too hard to implement, we could make conditional compilation and disable this code for IPF until it is implemented.

> [drlvm] throwing exception in mixed mode leaks memory
> -----------------------------------------------------
>
>                 Key: HARMONY-2692
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2692
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP i686
>            Reporter: Salikh Zakirov
>         Assigned To: Gregory Shimansky
>         Attachments: 0001-Fix-of-memory-leak-from-rth_throw_lazy-runtime-helper.patch, BufferWrap.java, ExceptionLeakTest.java
>
>
> The function wrap() of nio buffers leaks memory when invoked with illegal arguments.
> When the attached test BufferWrap.java is run on DRLVM, it steadily increases used memory until crash.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.