[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug default/19102] New: weak_ptr and shared_ptr are getting confused



https://sourceware.org/bugzilla/show_bug.cgi?id=19102

            Bug ID: 19102
           Summary: weak_ptr and shared_ptr are getting confused
           Product: libabigail
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: default
          Assignee: dodji at redhat dot com
          Reporter: woodard at redhat dot com
                CC: libabigail at sourceware dot org
  Target Milestone: ---

Created attachment 8698
  --> https://sourceware.org/bugzilla/attachment.cgi?id=8698&action=edit
ELF object that reproduces the above problem

This one may be a duplicate but it looks different enough that I'm going to
suggest that it may be a unique issue.  It looks like in the first the class
includes weak_ptr but all subsequent uses seem to believe that it is a
shared_ptr and so my guess is that they are being canocalization goes wrong. I
think it might be a type synonym issue.

hype260@ben:~/bin/abidw --abidiff
/collab/usr/global/tools/order/spack/opt/chaos_5_x86_64_ib/gcc@4.4.7/dyninst@8.2.1-a77e6bbb/lib/libpcontrol.so.8.2.1 

Functions changes summary: 0 Removed, 96 Changed, 0 Added functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable

96 functions with some indirect sub-type change:

  [C]'method
Dyninst::ProcControlAPI::EventAsyncIO::EventAsyncIO(Dyninst::ProcControlAPI::EventType,
Dyninst::ProcControlAPI::int_eventAsyncIO*)' has some indirect sub-type
changes:
    parameter 2 of type 'Dyninst::ProcControlAPI::int_eventAsyncIO*' has
sub-type changes:
      in pointed to type 'class Dyninst::ProcControlAPI::int_eventAsyncIO':
        1 data member change:
         type of 'responses_pending::ptr
Dyninst::ProcControlAPI::int_eventAsyncIO::resp' changed:
           underlying type 'class boost::shared_ptr<response>' changed:
             1 data member change:
              type of 'response* boost::shared_ptr<response>::px' changed:
                in pointed to type 'class response':
                  1 base class change:
                    'class boost::enable_shared_from_this<response>' changed:
                      1 data member change:
                       type of 'boost::weak_ptr<response>
boost::enable_shared_from_this<response>::weak_this_' changed:
                         1 data member change:
                          type of 'response* boost::weak_ptr<response>::px'
changed:
                            pointed to type 'class response' changed; details
are being reported

...

-- 
You are receiving this mail because:
You are on the CC list for the bug.