You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Travis Vitek (JIRA)" <ji...@apache.org> on 2007/10/04 23:02:50 UTC

[jira] Created: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

purify reports mismatched new/delete in facet implementation.
-------------------------------------------------------------

                 Key: STDCXX-578
                 URL: https://issues.apache.org/jira/browse/STDCXX-578
             Project: C++ Standard Library
          Issue Type: Bug
          Components: 22. Localization
            Reporter: Travis Vitek
             Fix For: 4.2.1


****  Purify instrumented ./stocks (pid 19642)  ****
FMM: Freeing mismatched memory:
  * This is occurring while in thread 19642:
    operator delete(*) [rtlib.o]
    __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
    std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
    std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
    __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
    __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
  * Attempting to free block at 0x80f3fe0 in the heap.
  * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
  * This block was allocated from thread -1207973632:
    malloc         [rtlib.o]
    operator new(unsigned) [libstd15d.so]
    operator new [](unsigned) [libstd15d.so]
    __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
    __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
    __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
  * This block of memory was obtained using an allocation routine which is
    not compatible with the routine by which it is being freed.

Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

Posted by "Farid Zaripov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Farid Zaripov resolved STDCXX-578.
----------------------------------

    Resolution: Fixed

> purify reports mismatched new/delete in facet implementation.
> -------------------------------------------------------------
>
>                 Key: STDCXX-578
>                 URL: https://issues.apache.org/jira/browse/STDCXX-578
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>    Affects Versions: 4.2.0
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.1
>
>         Attachments: stdcxx-578.patch
>
>
> ****  Purify instrumented ./stocks (pid 19642)  ****
> FMM: Freeing mismatched memory:
>   * This is occurring while in thread 19642:
>     operator delete(*) [rtlib.o]
>     __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
>     std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
>     std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
>     __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
>     __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
>   * Attempting to free block at 0x80f3fe0 in the heap.
>   * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
>   * This block was allocated from thread -1207973632:
>     malloc         [rtlib.o]
>     operator new(unsigned) [libstd15d.so]
>     operator new [](unsigned) [libstd15d.so]
>     __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
>     __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
>     __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
>   * This block of memory was obtained using an allocation routine which is
>     not compatible with the routine by which it is being freed.
> Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

Posted by "Travis Vitek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Travis Vitek updated STDCXX-578:
--------------------------------

    Attachment:     (was: stdcxx-578.patch)

> purify reports mismatched new/delete in facet implementation.
> -------------------------------------------------------------
>
>                 Key: STDCXX-578
>                 URL: https://issues.apache.org/jira/browse/STDCXX-578
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.1
>
>         Attachments: stdcxx-578.patch
>
>
> ****  Purify instrumented ./stocks (pid 19642)  ****
> FMM: Freeing mismatched memory:
>   * This is occurring while in thread 19642:
>     operator delete(*) [rtlib.o]
>     __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
>     std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
>     std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
>     __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
>     __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
>   * Attempting to free block at 0x80f3fe0 in the heap.
>   * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
>   * This block was allocated from thread -1207973632:
>     malloc         [rtlib.o]
>     operator new(unsigned) [libstd15d.so]
>     operator new [](unsigned) [libstd15d.so]
>     __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
>     __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
>     __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
>   * This block of memory was obtained using an allocation routine which is
>     not compatible with the routine by which it is being freed.
> Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

Posted by "Travis Vitek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Travis Vitek updated STDCXX-578:
--------------------------------

    Attachment: stdcxx-578.patch

Good point. Comment added.

> purify reports mismatched new/delete in facet implementation.
> -------------------------------------------------------------
>
>                 Key: STDCXX-578
>                 URL: https://issues.apache.org/jira/browse/STDCXX-578
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.1
>
>         Attachments: stdcxx-578.patch
>
>
> ****  Purify instrumented ./stocks (pid 19642)  ****
> FMM: Freeing mismatched memory:
>   * This is occurring while in thread 19642:
>     operator delete(*) [rtlib.o]
>     __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
>     std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
>     std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
>     __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
>     __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
>   * Attempting to free block at 0x80f3fe0 in the heap.
>   * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
>   * This block was allocated from thread -1207973632:
>     malloc         [rtlib.o]
>     operator new(unsigned) [libstd15d.so]
>     operator new [](unsigned) [libstd15d.so]
>     __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
>     __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
>     __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
>   * This block of memory was obtained using an allocation routine which is
>     not compatible with the routine by which it is being freed.
> Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

Posted by "Travis Vitek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Travis Vitek updated STDCXX-578:
--------------------------------

    Attachment: stdcxx-578.patch

> purify reports mismatched new/delete in facet implementation.
> -------------------------------------------------------------
>
>                 Key: STDCXX-578
>                 URL: https://issues.apache.org/jira/browse/STDCXX-578
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.1
>
>         Attachments: stdcxx-578.patch
>
>
> ****  Purify instrumented ./stocks (pid 19642)  ****
> FMM: Freeing mismatched memory:
>   * This is occurring while in thread 19642:
>     operator delete(*) [rtlib.o]
>     __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
>     std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
>     std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
>     __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
>     __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
>   * Attempting to free block at 0x80f3fe0 in the heap.
>   * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
>   * This block was allocated from thread -1207973632:
>     malloc         [rtlib.o]
>     operator new(unsigned) [libstd15d.so]
>     operator new [](unsigned) [libstd15d.so]
>     __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
>     __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
>     __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
>   * This block of memory was obtained using an allocation routine which is
>     not compatible with the routine by which it is being freed.
> Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/STDCXX-578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12534096 ] 

Martin Sebor commented on STDCXX-578:
-------------------------------------

Could you add a comment to the code explaining why we're using operator new() instead of the new expression so someone doesn't accidentally revert your change in the future? (I would be tempted to use the simpler new expression and avoid the cast.)

> purify reports mismatched new/delete in facet implementation.
> -------------------------------------------------------------
>
>                 Key: STDCXX-578
>                 URL: https://issues.apache.org/jira/browse/STDCXX-578
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.1
>
>         Attachments: stdcxx-578.patch
>
>
> ****  Purify instrumented ./stocks (pid 19642)  ****
> FMM: Freeing mismatched memory:
>   * This is occurring while in thread 19642:
>     operator delete(*) [rtlib.o]
>     __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
>     std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
>     std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
>     __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
>     __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
>   * Attempting to free block at 0x80f3fe0 in the heap.
>   * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
>   * This block was allocated from thread -1207973632:
>     malloc         [rtlib.o]
>     operator new(unsigned) [libstd15d.so]
>     operator new [](unsigned) [libstd15d.so]
>     __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
>     __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
>     __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
>   * This block of memory was obtained using an allocation routine which is
>     not compatible with the routine by which it is being freed.
> Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

Posted by "Travis Vitek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Travis Vitek updated STDCXX-578:
--------------------------------

    Attachment: stdcxx-578.patch


2007-10-04  Travis Vitek  <vi...@roguewave.com>

	STDCXX-578
	* time_put.cpp (__rw_get_timepunct): changed to use operator
	new/delete for memory allocation to avoid new/delete mismatch with
	facet destructor.


> purify reports mismatched new/delete in facet implementation.
> -------------------------------------------------------------
>
>                 Key: STDCXX-578
>                 URL: https://issues.apache.org/jira/browse/STDCXX-578
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>            Reporter: Travis Vitek
>             Fix For: 4.2.1
>
>         Attachments: stdcxx-578.patch
>
>
> ****  Purify instrumented ./stocks (pid 19642)  ****
> FMM: Freeing mismatched memory:
>   * This is occurring while in thread 19642:
>     operator delete(*) [rtlib.o]
>     __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
>     std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
>     std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
>     __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
>     __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
>   * Attempting to free block at 0x80f3fe0 in the heap.
>   * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
>   * This block was allocated from thread -1207973632:
>     malloc         [rtlib.o]
>     operator new(unsigned) [libstd15d.so]
>     operator new [](unsigned) [libstd15d.so]
>     __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
>     __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
>     __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
>   * This block of memory was obtained using an allocation routine which is
>     not compatible with the routine by which it is being freed.
> Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

Posted by "Farid Zaripov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/STDCXX-578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536803 ] 

Farid Zaripov commented on STDCXX-578:
--------------------------------------

Commited thus: http://svn.apache.org/viewvc?rev=587215&view=rev

> purify reports mismatched new/delete in facet implementation.
> -------------------------------------------------------------
>
>                 Key: STDCXX-578
>                 URL: https://issues.apache.org/jira/browse/STDCXX-578
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.1
>
>         Attachments: stdcxx-578.patch
>
>
> ****  Purify instrumented ./stocks (pid 19642)  ****
> FMM: Freeing mismatched memory:
>   * This is occurring while in thread 19642:
>     operator delete(*) [rtlib.o]
>     __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
>     std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
>     std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
>     __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
>     __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
>   * Attempting to free block at 0x80f3fe0 in the heap.
>   * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
>   * This block was allocated from thread -1207973632:
>     malloc         [rtlib.o]
>     operator new(unsigned) [libstd15d.so]
>     operator new [](unsigned) [libstd15d.so]
>     __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
>     __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
>     __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
>   * This block of memory was obtained using an allocation routine which is
>     not compatible with the routine by which it is being freed.
> Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

Posted by "Farid Zaripov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/STDCXX-578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536761 ] 

Farid Zaripov commented on STDCXX-578:
--------------------------------------

The patch is ok, but why the memory allocated using ::operator new (x), but deallocated using delete p instead of ::operator delete (p) ?

I know that in this case it would be the same effect, but I think use the latter is more correct.

> purify reports mismatched new/delete in facet implementation.
> -------------------------------------------------------------
>
>                 Key: STDCXX-578
>                 URL: https://issues.apache.org/jira/browse/STDCXX-578
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.1
>
>         Attachments: stdcxx-578.patch
>
>
> ****  Purify instrumented ./stocks (pid 19642)  ****
> FMM: Freeing mismatched memory:
>   * This is occurring while in thread 19642:
>     operator delete(*) [rtlib.o]
>     __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
>     std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
>     std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
>     __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
>     __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
>   * Attempting to free block at 0x80f3fe0 in the heap.
>   * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
>   * This block was allocated from thread -1207973632:
>     malloc         [rtlib.o]
>     operator new(unsigned) [libstd15d.so]
>     operator new [](unsigned) [libstd15d.so]
>     __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
>     __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
>     __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
>   * This block of memory was obtained using an allocation routine which is
>     not compatible with the routine by which it is being freed.
> Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

Posted by "Farid Zaripov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Farid Zaripov closed STDCXX-578.
--------------------------------


> purify reports mismatched new/delete in facet implementation.
> -------------------------------------------------------------
>
>                 Key: STDCXX-578
>                 URL: https://issues.apache.org/jira/browse/STDCXX-578
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>    Affects Versions: 4.2.0
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.1
>
>         Attachments: stdcxx-578.patch
>
>
> ****  Purify instrumented ./stocks (pid 19642)  ****
> FMM: Freeing mismatched memory:
>   * This is occurring while in thread 19642:
>     operator delete(*) [rtlib.o]
>     __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
>     std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
>     std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
>     __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
>     __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
>   * Attempting to free block at 0x80f3fe0 in the heap.
>   * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
>   * This block was allocated from thread -1207973632:
>     malloc         [rtlib.o]
>     operator new(unsigned) [libstd15d.so]
>     operator new [](unsigned) [libstd15d.so]
>     __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
>     __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
>     __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
>   * This block of memory was obtained using an allocation routine which is
>     not compatible with the routine by which it is being freed.
> Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Sebor updated STDCXX-578:
--------------------------------

    Affects Version/s: 4.2

> purify reports mismatched new/delete in facet implementation.
> -------------------------------------------------------------
>
>                 Key: STDCXX-578
>                 URL: https://issues.apache.org/jira/browse/STDCXX-578
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>    Affects Versions: 4.2
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.1
>
>         Attachments: stdcxx-578.patch
>
>
> ****  Purify instrumented ./stocks (pid 19642)  ****
> FMM: Freeing mismatched memory:
>   * This is occurring while in thread 19642:
>     operator delete(*) [rtlib.o]
>     __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
>     std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
>     std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
>     __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
>     __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
>   * Attempting to free block at 0x80f3fe0 in the heap.
>   * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
>   * This block was allocated from thread -1207973632:
>     malloc         [rtlib.o]
>     operator new(unsigned) [libstd15d.so]
>     operator new [](unsigned) [libstd15d.so]
>     __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
>     __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
>     __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
>   * This block of memory was obtained using an allocation routine which is
>     not compatible with the routine by which it is being freed.
> Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

Posted by "Travis Vitek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Travis Vitek updated STDCXX-578:
--------------------------------

    Attachment:     (was: stdcxx-578.patch)

> purify reports mismatched new/delete in facet implementation.
> -------------------------------------------------------------
>
>                 Key: STDCXX-578
>                 URL: https://issues.apache.org/jira/browse/STDCXX-578
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.1
>
>         Attachments: stdcxx-578.patch
>
>
> ****  Purify instrumented ./stocks (pid 19642)  ****
> FMM: Freeing mismatched memory:
>   * This is occurring while in thread 19642:
>     operator delete(*) [rtlib.o]
>     __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
>     std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
>     std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
>     __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
>     __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
>   * Attempting to free block at 0x80f3fe0 in the heap.
>   * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
>   * This block was allocated from thread -1207973632:
>     malloc         [rtlib.o]
>     operator new(unsigned) [libstd15d.so]
>     operator new [](unsigned) [libstd15d.so]
>     __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
>     __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
>     __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
>   * This block of memory was obtained using an allocation routine which is
>     not compatible with the routine by which it is being freed.
> Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

Posted by "Travis Vitek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Travis Vitek updated STDCXX-578:
--------------------------------

    Attachment: stdcxx-578.patch

Yes, in this context it is completely safe, but I'm all for consistency here, so I've made the change. Thanks.

> purify reports mismatched new/delete in facet implementation.
> -------------------------------------------------------------
>
>                 Key: STDCXX-578
>                 URL: https://issues.apache.org/jira/browse/STDCXX-578
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.1
>
>         Attachments: stdcxx-578.patch
>
>
> ****  Purify instrumented ./stocks (pid 19642)  ****
> FMM: Freeing mismatched memory:
>   * This is occurring while in thread 19642:
>     operator delete(*) [rtlib.o]
>     __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
>     std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
>     std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
>     __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
>     __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
>   * Attempting to free block at 0x80f3fe0 in the heap.
>   * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
>   * This block was allocated from thread -1207973632:
>     malloc         [rtlib.o]
>     operator new(unsigned) [libstd15d.so]
>     operator new [](unsigned) [libstd15d.so]
>     __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
>     __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
>     __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
>   * This block of memory was obtained using an allocation routine which is
>     not compatible with the routine by which it is being freed.
> Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

Posted by "Travis Vitek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Travis Vitek updated STDCXX-578:
--------------------------------

    Attachment:     (was: stdcxx-578.patch)

> purify reports mismatched new/delete in facet implementation.
> -------------------------------------------------------------
>
>                 Key: STDCXX-578
>                 URL: https://issues.apache.org/jira/browse/STDCXX-578
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.1
>
>         Attachments: stdcxx-578.patch
>
>
> ****  Purify instrumented ./stocks (pid 19642)  ****
> FMM: Freeing mismatched memory:
>   * This is occurring while in thread 19642:
>     operator delete(*) [rtlib.o]
>     __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
>     std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
>     std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
>     __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
>     __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
>   * Attempting to free block at 0x80f3fe0 in the heap.
>   * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
>   * This block was allocated from thread -1207973632:
>     malloc         [rtlib.o]
>     operator new(unsigned) [libstd15d.so]
>     operator new [](unsigned) [libstd15d.so]
>     __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
>     __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
>     __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
>   * This block of memory was obtained using an allocation routine which is
>     not compatible with the routine by which it is being freed.
> Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (STDCXX-578) purify reports mismatched new/delete in facet implementation.

Posted by "Travis Vitek (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Travis Vitek reassigned STDCXX-578:
-----------------------------------

    Assignee: Travis Vitek

> purify reports mismatched new/delete in facet implementation.
> -------------------------------------------------------------
>
>                 Key: STDCXX-578
>                 URL: https://issues.apache.org/jira/browse/STDCXX-578
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 22. Localization
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.1
>
>         Attachments: stdcxx-578.patch
>
>
> ****  Purify instrumented ./stocks (pid 19642)  ****
> FMM: Freeing mismatched memory:
>   * This is occurring while in thread 19642:
>     operator delete(*) [rtlib.o]
>     __rw::__rw_facet::~__rw_facet[not-in-charge]() [facet.cpp:139]
>     std::time_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put[not-in-charge]() [_time_put.h:105]
>     std::time_put_byname<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::~time_put_byname[in-charge deleting]() [ti_time_put.cpp:105]
>     __rw::__rw_facet::_C_manage(__rw::__rw_facet*, __rw::__rw_facet::_C_facet_type, char const*, __rw::__rw_facet*  (*)(unsigned, char const*)) [facet.cpp:427]
>     __rw::__rw_locale::~__rw_locale[in-charge]() [locale_body.cpp:692]
>   * Attempting to free block at 0x80f3fe0 in the heap.
>   * Address 0x80f3fe0 is at the beginning of a malloc'd block of 2452 bytes.
>   * This block was allocated from thread -1207973632:
>     malloc         [rtlib.o]
>     operator new(unsigned) [libstd15d.so]
>     operator new [](unsigned) [libstd15d.so]
>     __rw::__rw_get_timepunct(__rw::__rw_facet const*, int, unsigned) [time_put.cpp:454]
>     __rw::__rw_get_time_put_data(__rw::__rw_time_put_data&, __rw::__rw_facet const*, tm const*, char, char, bool) [time_put.cpp:2115]
>     __rw::__rw_put_time(__rw::__rw_facet const*, char*, unsigned, std::ios_base&, char, tm const*, char, char, int, int) [time_put.cpp:2666]
>   * This block of memory was obtained using an allocation routine which is
>     not compatible with the routine by which it is being freed.
> Memory is allocated with array new, but deallocated with operator delete.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.