Dmitry, One problem with this fix is that debugInit_exit() is used from many places in the JDWP code. For some of these I think it still does make sense to receive a core dump for analysis. I agree that when parsing options, we do not need a core dump.
/Staffan On 20 aug 2014, at 17:55, Dmitry Samersoff <[email protected]> wrote: > Serguei, > > After some additional testing I changed the fix a bit. Please take a > look at new version. > > http://cr.openjdk.java.net/~dsamersoff/JDK-8049226/webrev.02/ > > New version reports JVMTI error to stderr. > > Also jniFatalError is not referenced any more so I remove it. > > -Dmitry > > > > On 2014-08-20 12:08, [email protected] wrote: >> Ok. >> >> Thank you for the explanation! >> Serguei >> >> On 8/20/14 1:01 AM, Dmitry Samersoff wrote: >>> Serguei, >>> >>> 1. Historically JDI test-suite had no tests for failed transport >>> initialization behavior and invalid parameters handling. >>> >>> 2. As a part of JDWP hardening work I added couple of such tests to >>> OptionTest.java - these tests pass invalid parameters to dt_socket >>> transport to make sure that transport doesn't crash (one such crash was >>> discovered and fixed) but just return non-zero exit code to upper level. >>> >>> 3. After fix for JDK-6694099 any non-zero exit code from transport cause >>> VM to coredump. Dumping multiple cores on busy machine takes a time so >>> harness kills the test by timeout. >>> >>> We can just increase timeout for this test but I don't think it's a good >>> idea to dump core when invalid parameters passed to transport. >>> >>> So there is the fix. >>> >>> 4. After the fix tests for negative parameters will return non-zero exit >>> code as expected but will not dump the core. >>> >>> -Dmitry >>> >>> On 2014-08-20 00:54, [email protected] wrote: >>>> Hi Dmitry, >>>> >>>> The fix seems to be Ok. >>>> Just want to make it clear... >>>> This fix just changes the bug pattern. >>>> It a case of incorrect transport parameters the test is still going to >>>> fail but without crash, right? >>>> >>>> Thanks, >>>> Serguei >>>> >>>> On 8/19/14 12:09 PM, Dmitry Samersoff wrote: >>>>> Hi Everybody, >>>>> >>>>> Please review the fix: >>>>> >>>>> http://cr.openjdk.java.net/~dsamersoff/JDK-8049226/webrev.01/ >>>>> >>>>> JDWP call jniFatalError if transport can't be initialized (e.g. wrong >>>>> parameters) and jniFatalError call os::abort(). Therefor all transport >>>>> initialization errors cause vm to coredump. >>>>> >>>>> I see no reason for debugInit_exit to call jniFatalError so remove this >>>>> code. >>>>> >>>>> -Dmitry >>>>> >>> >> > > > -- > Dmitry Samersoff > Oracle Java development team, Saint Petersburg, Russia > * I would love to change the world, but they won't give me the sources.
