[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