TagLib 1.9.1 crash using C++11

Ibrahim Sha'ath ibrahimshaath at gmail.com
Wed Jun 3 12:45:16 UTC 2015


If no-one has any idea about this issue specifically, has anyone
successfully used C++11 for a TagLib 1.9.1 project?

Please excuse the bump but I've had to retract a release for this segfault.

On 31 May 2015 at 18:03, Ibrahim Sha'ath <ibrahimshaath at gmail.com> wrote:

> Thanks Stephen. Unfortunately that had no further effect on the problem.
>
> Does the top of that stack look familiar to anyone who knows the codebase?
>
> On 31 May 2015 at 13:46, Stephen F. Booth <me at sbooth.org> wrote:
>
>> I experienced problems like this when my app and TagLib were compiled
>> with different C++ standard libraries.  I'm not sure if it matters anymore
>> on Yosemite but since you're using C++11 I would make sure you're passing
>> -stdlib=libc++ to both build processes.
>>
>> Stephen
>>
>> On Sun, May 31, 2015 at 5:16 AM, Ibrahim Sha'ath <ibrahimshaath at gmail.com
>> > wrote:
>>
>>> I have also tried modifying CMakeLists with
>>> set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
>>> to ensure consistency of flags with my app build, but that had no effect.
>>>
>>> Anyone have any ideas?
>>>
>>> On 30 May 2015 at 12:58, Ibrahim Sha'ath <ibrahimshaath at gmail.com>
>>> wrote:
>>>
>>>> Hi there,
>>>>
>>>> I have the following code to write to the Grouping field in an MP4 file:
>>>>
>>>> TagLib::StringList sl(TagLib::String("data", TagLib::String::UTF8));
>>>>
>>>> mp4File->tag()->itemListMap().insert("\251grp", sl);
>>>>
>>>> mp4File->save();
>>>>
>>>>
>>>> Where mp4file is a TagLib::MP4::File. This code was working fine but
>>>> now crashes with a segfault; I've narrowed the change down to when I
>>>> switched my project to C++11 to rid myself of Boost.
>>>>
>>>> The top of the crashed thread's stack (in OSX) reads as follows:
>>>> 0 ... std::__1::__tree<std::__1::__value_type<TagLib::String,
>>>> TagLib::MP4::Item>, std::__1::__map_value_compare<TagLib::String,
>>>> std::__1::__value_type<TagLib::String, TagLib::MP4::Item>,
>>>> std::__1::less<TagLib::String>, true>,
>>>> std::__1::allocator<std::__1::__value_type<TagLib::String,
>>>> TagLib::MP4::Item> >
>>>> >::__insert_node_at(std::__1::__tree_node_base<void*>*,
>>>> std::__1::__tree_node_base<void*>*&, std::__1::__tree_node_base<void*>*) +
>>>> 88
>>>> 1 ... std::__1::map<TagLib::String, TagLib::MP4::Item,
>>>> std::__1::less<TagLib::String>,
>>>> std::__1::allocator<std::__1::pair<TagLib::String const, TagLib::MP4::Item>
>>>> > >::operator[](TagLib::String const&) + 205
>>>> 2 ... TagLib::Map<TagLib::String,
>>>> TagLib::MP4::Item>::insert(TagLib::String const&, TagLib::MP4::Item const&)
>>>> + 71
>>>> 3   ...
>>>>
>>>> Has anyone had a similar experience? Is this expected with C++11, or is
>>>> there some way around it?
>>>>
>>>> Any help appreciated.
>>>> Regards
>>>> Ibrahim
>>>>
>>>
>>>
>>> _______________________________________________
>>> taglib-devel mailing list
>>> taglib-devel at kde.org
>>> https://mail.kde.org/mailman/listinfo/taglib-devel
>>>
>>>
>>
>> _______________________________________________
>> taglib-devel mailing list
>> taglib-devel at kde.org
>> https://mail.kde.org/mailman/listinfo/taglib-devel
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/taglib-devel/attachments/20150603/48c78b06/attachment.html>


More information about the taglib-devel mailing list