RFR: 8258010: Debug build failure with clang-10 due to -Wdeprecated-copy and -Wimplicit-int-float-conversion [v2]
Kim Barrett
kim.barrett at oracle.com
Sun Jan 3 08:51:17 UTC 2021
> On Jan 2, 2021, at 11:17 PM, Kim Barrett <kim.barrett at oracle.com> wrote:
>
>> On Dec 29, 2020, at 10:33 PM, Hao Sun <github.com+16932759+shqking at openjdk.java.net> wrote:
>>
>>> _Mailing list message from [Kim Barrett](mailto:kim.barrett at oracle.com) on [build-dev](mailto:build-dev at openjdk.java.net):_
>>> But I discovered something alarming while experimenting. Building
>>> with gcc10.2 with -fno-elide-constructors doesn't seem to be possible.
>>> I get different kinds of failures depending on how DUIterator is
>>> defined:
>>>
>>> - implict: deprecation warning (as expected)
>>> - =delete: error, deleted function used
>>> - =default: assert in os::free
>>> - _idx and reset from that: assert in reset
>>>
>>> Without -fno-elide-constructors, all of the variants seem to work
>>> except =delete, which still fails because the deleted function is
>>> used. (I didn't test the "working" cases extensively though.)
>>>
>>> So there's something problematic, though I don't understand the code
>>> well enough to understand what.
>>
>> Thanks for your tests.
>> But I have no idea how to fix it right now either.
>> Do you know anyone who is familiar with these code and maybe we can invite him/her to help take a look at this issue?
>> Thanks.
>
> I have a suspicion that the assert failure when building with
> -fno-elide-constructors has nothing to do with DUIterator stuff, and is
> instead a problem elsewhere. But it certainly makes it hard to feel
> confident that the additional constructors being added are correct.
>
> I'm going to try to do some investigating of that assert failure, and see if
> I can figure out what's going on. Anyone else should feel free to join in.
> The failure is
>
> # Internal Error (../../src/hotspot/share/runtime/thread.hpp:850), pid=29939, tid=29939
> # assert(current != __null) failed: Thread::current() called on detached thread
The assert failure when building with -fno-elide-constructors is a known issue:
https://bugs.openjdk.java.net/browse/JDK-8234773
I thought it looked vaguely familiar, but it took a while to track down. I
think I'm going to deal with it so nobody runs into it again.
More information about the build-dev
mailing list