TagLib 1.9.1 crash using C++11

Stephen F. Booth me at sbooth.org
Sun May 31 12:46:51 UTC 2015


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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/taglib-devel/attachments/20150531/dffeefc5/attachment.html>


More information about the taglib-devel mailing list