TagLib 1.9.1 crash using C++11

Ibrahim Sha'ath ibrahimshaath at gmail.com
Sun May 31 17:03:15 UTC 2015


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/20150531/96f69d8d/attachment.html>


More information about the taglib-devel mailing list