http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56941


             Bug #: 56941

           Summary: Thread conflict is reported by helgrind in

                    _Unwind_IteratePhdrCallback

    Classification: Unclassified

           Product: gcc

           Version: 4.7.2

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: c++

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: y...@tsoft.com





I get the following error from helgrind on heavily multi-threaded process

throwing a lot of exceptions. gcc in use is 4.7.2 on amd64 architecture.



Line unwind-dw2-fde-dip.c:212:  prev_cache_entry->link = cache_entry->link;



It looks like the error is due to an unprotected cache access.



This should either be fixed, or there should be a good explanation why this

should be considered a non-issue. Data race conditions reported by helgrind

usually correspond to real issues.





---helgrind log---

==83659== Possible data race during write of size 8 at 0x24FECC8 by thread #17

==83659== Locks held: none

==83659==    at 0x22FB1D9: _Unwind_IteratePhdrCallback

(unwind-dw2-fde-dip.c:212)

==83659==    by 0x14D41: dl_iterate_phdr (in /libexec/ld-elf.so.1)

==83659==    by 0x22FB8B1: _Unwind_Find_FDE (unwind-dw2-fde-dip.c:451)

==83659==    by 0x22F8D9A: uw_frame_state_for (unwind-dw2.c:1179)

==83659==    by 0x22F91F6: uw_init_context_1 (unwind-dw2.c:1500)

==83659==    by 0x22F96A6: _Unwind_RaiseException (unwind.inc:88)

==83659==    by 0x1E1FAD0: __cxa_throw (eh_throw.cc:78)

==83659==    <...user stack omitted...>

==83659== 

==83659== This conflicts with a previous write of size 8 by thread #54

==83659== Locks held: none

==83659==    at 0x22FB1D5: _Unwind_IteratePhdrCallback

(unwind-dw2-fde-dip.c:211)

==83659==    by 0x14D41: dl_iterate_phdr (in /libexec/ld-elf.so.1)

==83659==    by 0x22FB8B1: _Unwind_Find_FDE (unwind-dw2-fde-dip.c:451)

==83659==    by 0x22F8D9A: uw_frame_state_for (unwind-dw2.c:1179) 

==83659==    by 0x22F970A: _Unwind_RaiseException (unwind.inc:99)

==83659==    by 0x1E1FAD0: __cxa_throw (eh_throw.cc:78)

==83659==    <...user stack omitted...>

Reply via email to