JDK-8213481 : [REDO] Fix incorrect copy constructors in hotspot
  • Type: Sub-task
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 12
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2018-11-07
  • Updated: 2021-09-02
  • Resolved: 2018-12-31
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 13
13 b02Fixed
Related Reports
Relates :  
Relates :  
Description
There are a few classes with copy constructors that don't (explicitly) construct a base class.  This was found by attempting to enable -Wextra, which warns about such copy constructors.  All of the classes in question have ResourceObj as a base class.  However, simply calling the ResourceObj copy constructor with the object being copied from (as tried by JDK-8213414) doesn't work.  A large number of tests are failing the jdk/jdk CI due to:

#  Internal Error (/scratch/mesos/slaves/2dd962d0-8988-479b-a804-57ab764ada59-S1584/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/057f8d29-ff08-4ab5-9cf9-e6c81d19e3fc/runs/0c9d0343-6017-4923-b027-fc6c4ead127b/workspace/open/src/hotspot/share/memory/allocation.cpp:218), pid=26288, tid=6659
#  assert(~(_allocation_t[0] | allocation_mask) != (uintptr_t)this || !is_type_set()) failed: embedded or stack only, this(0x00007fb22406cf80) type 1 a[0]=(0xffff804ddbf9307e) a[1]=(0x00007fb22406cf91)
Comments
URL: http://hg.openjdk.java.net/jdk/jdk/rev/e90315ae8aa9 User: kbarrett Date: 2018-12-31 20:42:31 +0000
31-12-2018

Removing the tier# labels since this problem is no longer causing failures in the CI tiers.
29-11-2018

Converted this bug to a sub-task of JDK-8213414 to be used for redoing the fix for JDK-8213414. Also reset the priority to match JDK-8213414.
07-11-2018

I picked runtime/logging/ClassInitializationTest.java for triage duty... In a repo at (same as jdk12-jdk-799): 8213366: (fs) avoid handle leak in Java_sun_nio_fs_WindowsNativeDispatcher_FindFirstFile0 5/5 runs with fastdebug bits passed. In a repo at the next changeset: 8213347: [JVMCI] remove use of reflection in JVMCI 5/5 runs with fastdebug bits passed. In a repo at the next changeset: 8213414: Fix incorrect copy constructors in hotspot 5/5 runs with fastdebug bits failed. Update: With a repo at the following changeset: [/work/shared/bug_hunt/8213481_exp/open]: changeset: 52435:eac000022f61 tag: tip user: mdoerr date: Wed Nov 07 15:13:12 2018 +0100 summary: 8213464: Fix missing include after JDK-8212243 and the fix for 8213414 backed out: 5/5 runs with fastdebug bits passed.
07-11-2018

My change only affected CI configuration in a minor way, did not touch JDK/VM code or tests.
07-11-2018

The two changesets in jdk12-jdk-800-tier1 are: JDK-8213414 Fix incorrect copy constructors in hotspot JDK-8213347 [JVMCI] remove use of reflection in JVMCI
07-11-2018