https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83372

David Malcolm <dmalcolm at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |GC, ice-on-valid-code,
                   |                            |needs-bisection,
                   |                            |needs-reduction, patch
             Status|ASSIGNED                    |WAITING
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=84263
            Summary|Compiler segfaults building |ICE in GC within
                   |Mir                         |gt_ggc_mx<deferred_access_c
                   |                            |heck> building Mir

--- Comment #15 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
I tried Nathan's patch from here:
  [PR c++/84263] GC ICE with decltype
    https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00435.html

With the patch, it successfully compiles the file.

Without the patch: it ICEs, with corrupted memory in the buffer pointer to by
"checks":

(gdb) p *x
$10 = {value = 0x7ffe4295b7e0, checks = 0x7ffe425ca6c0, qualifying_scope = 0x0}

(gdb) p *x->checks
$14 = {m_vecpfx = {m_alloc = 1919901535, m_using_auto_storage = 0, m_num =
1953709151}, m_vecdata = {{binfo = 0x75665f73693a3a64, 
      decl = 0x763c6e6f6974636e, diag_decl = 0x26262a282064696f, loc =
1803036713}}}

(gdb) call debug(x->value)

    full-name "class std::unique_ptr<xkb_state, void (*)(xkb_state*)>"
    needs-constructor needs-destructor X() has-type-conversion X(constX&)
this=(X&) n_parents=0 use_template=1 interface-unknown

(gdb) call inform (x->location, "token is here")
/builddir/build/BUILD/mir-5500595810c28c150a3bd9edf19b392c2aeab932/src/server/frontend/wayland/wayland_connector.cpp:980:17:
note: token is here

Hence it looks like this is a duplicate of PR c++/84263 (but hard to be sure
without properly reducing it).

Nathan: does this look like a duplicate to you?  Any ideas on how to reduce the
reproducer?  (the ~1hr time to hit the bug when forcing GC is making this
awkward).

Alan: are you able to test Nathan's bug to see if it fixes the issue for you?

Thanks.

Reply via email to