[Bug] Possible SIGSEGV in ASSERT block of InterpreterRuntime::resolve_ldc

Boris Ulasevich boris.ulasevich at bell-sw.com
Wed Sep 11 08:37:18 UTC 2019


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