[Bug] Possible SIGSEGV in ASSERT block of InterpreterRuntime::resolve_ldc
christoph.goettschkes at microdoc.com
christoph.goettschkes at microdoc.com
Wed Sep 11 08:52:04 UTC 2019
Ok,
since JTreg doesn't even start without this change in debug mode, I will
submit this patch alone (and fix the submitted bug) and then start working
on one big changeset for all the other problems revealed by running jtreg
in debug mode.
-- Christoph
Boris Ulasevich <boris.ulasevich at bell-sw.com> wrote on 2019-09-11
10:37:18:
> From: Boris Ulasevich <boris.ulasevich at bell-sw.com>
> To: christoph.goettschkes at microdoc.com
> Cc: "hotspot-runtime-dev at openjdk.java.net"
<hotspot-runtime-dev at openjdk.java.net>
> Date: 2019-09-11 10:37
> Subject: Re: [Bug] Possible SIGSEGV in ASSERT block of
InterpreterRuntime::resolve_ldc
>
> Hi Christoph,
>
> 11.09.2019 10:33, christoph.goettschkes at microdoc.com пишет:
> > Hi Boris,
> >
> > thanks again for your help. Short questions:
> >
> > I executed the JTreg tests with my patch applied to see if everything
else
> > is still fine (in a debug VM, since the change I did is inside the
ASSERT
> > block). Now there are other assertions, which are failing, not because
of
> > my change, but because of wrong assumptions (mostly in the JIT, which
has
> > nothing to do with the interpreter runtime change). Is it possible to
> > first submit the change for this bug and then do the other issues one
by
> > one, or should I first submit bug reports for all issues I found and
try
> > to get the JTreg to pass?
>
> It is possible to submit changes separately. Same time I think it would
> be reasonable to fix other assertions as well and then see if they
> deserves separate review requests and commits or we can manage them in
> one change.
>
> > Is it even required to pass the JTreg for changes done which only
affect
> > the debug version of the VM?
> >
> > Since I can not create bugs and work with the JBS, I would like to
avoid
> > having multiple bugs open and working on them simultaneously.
> >
> > Here is the patch I applied, just for context:
> >
> > diff --git a/src/hotspot/share/interpreter/interpreterRuntime.cpp
> > b/src/hotspot/share/interpreter/interpreterRuntime.cpp
> > --- a/src/hotspot/share/interpreter/interpreterRuntime.cpp
> > +++ b/src/hotspot/share/interpreter/interpreterRuntime.cpp
> > @@ -201,7 +201,7 @@
> > // The bytecode wrappers aren't GC-safe so construct a new one
> > Bytecode_loadconstant ldc2(m, last_frame.bci());
> > int rindex = ldc2.cache_index();
> > - if (rindex < 0)
> > + if (rindex < 0 && m->constants()->resolved_references() != NULL)
> > rindex =
m->constants()->cp_to_object_index(ldc2.pool_index());
> > if (rindex >= 0) {
> > oop coop =
m->constants()->resolved_references()->obj_at(rindex);
> Here is the webrev for your diff:
> http://cr.openjdk.java.net/~bulasevich/8230797/webrev.01
> > -- Christoph
> >
> > Boris Ulasevich <boris.ulasevich at bell-sw.com> wrote on 2019-09-10
> > 12:55:07:
> >
> >> From: Boris Ulasevich <boris.ulasevich at bell-sw.com>
> >> To: christoph.goettschkes at microdoc.com
> >> Cc: "hotspot-runtime-dev at openjdk.java.net"
> > <hotspot-runtime-dev at openjdk.java.net>
> >> Date: 2019-09-10 12:55
> >> Subject: Re: [Bug] Possible SIGSEGV in ASSERT block of
> > InterpreterRuntime::resolve_ldc
> >> Hi Christoph,
> >>
> >> Thanks for working on this. Here is the bug report:
> >> https://bugs.openjdk.java.net/browse/JDK-8230797
> >>
> >> regards,
> >> Boris
> >>
>
More information about the hotspot-runtime-dev
mailing list