Menu

#901 Crash in zenlib when setting option on RHEL Server 6.5

Crash
open
None
2
2015-04-06
2015-03-24
No

While executing below code

m_MI.Option(__T("Complete"), __T("1"));

Backtrace from gdb

(gdb) bt
#0 0x00007f37b303983d in std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::assign(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) () from /usr/lib64/libstdc++.so.6
#1 0x00007f37b253f60e in ZenLib::ZtringListList::push_back(ZenLib::ZtringList const&) () from /usr/lib64/libzen.so.0
#2 0x00007f37b253fa8b in ZenLib::ZtringListList::Write(ZenLib::ZtringList const&, unsigned long) () from /usr/lib64/libzen.so.0
#3 0x00007f37b254000d in ZenLib::ZtringListList::Write(ZenLib::Ztring const&, unsigned long, unsigned long) () from /usr/lib64/libzen.so.0
#4 0x00007f37b25401ad in ZenLib::ZtringListList::operator()(ZenLib::Ztring const&, unsigned long, unsigned long) () from /usr/lib64/libzen.so.0
#5 0x00007f37b3dd0e50 in ?? () from /usr/lib64/libmediainfo.so.0
#6 0x00007f37b3df75e2 in ?? () from /usr/lib64/libmediainfo.so.0
#7 0x00007f37b3dc6fbc in MediaInfoLib::MediaInfo::Option(std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) ()
from /usr/lib64/libmediainfo.so.0

Environment:

RHEL Server 6.5

-DV

Discussion

  • Jerome Martinez

    Jerome Martinez - 2015-03-24

    I use CentOS 6.5 very often, and I can not reproduce this issue.
    Which source code for your test app do you use?
    Which version of MediaInfo.

    please try with the latest CLI version (0.7.71):
    mediainfo -f /usr/bin/mediainfo
    (for example)
    -f forces m_MI.Option(__T("Complete"), __T("1")); in the CLI.

     
  • Max Pozdeev

    Max Pozdeev - 2015-03-31

    I have similar crash in Mac OS X while calling MediaInfo_Option.
    It seems that the issue was introduced in [r6737], because [r6736] has no error.

     

    Related

    Commit: [r6736]
    Commit: [r6737]


    Last edit: Max Pozdeev 2015-03-31
    • Jerome Martinez

      Jerome Martinez - 2015-04-02

      Max, it is another issue, not related (Divyang is using the official release, not trunk). Thanks for pointing it out.
      another problem, and I just fixed it. patch.

       
      • Max Pozdeev

        Max Pozdeev - 2015-04-02

        Ok, thank you.

         
  • Divyang Patel

    Divyang Patel - 2015-04-01

    Error

    ~~~~~~~~~~~~~~~~~~~

    *** glibc detected *** ./xyz-exe: double free or corruption (fasttop): 0x00007f1f865b1d60 ***
    ======= Backtrace: =========
    /lib64/libc.so.6(+0x750c6)[0x7f249af670c6]
    /usr/lib64/libstdc++.so.6(ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2+0x85)[0x7f249b7e1875]
    /usr/lib64/libmediainfo.so.0(+0xbae5b)[0x7f249c575e5b]
    /usr/lib64/libmediainfo.so.0(+0xe15e2)[0x7f249c59c5e2]
    /usr/lib64/libmediainfo.so.0(ZN12MediaInfoLib9MediaInfo6OptionERKSbIwSt11char_traitsIwESaIwEES6+0xc)[0x7f249c56bfbc]
    ...
    ...

    ~~~~~~~~~~~~~~~~~~~~~

    Below is library info

    $ rpm -qai libmediainfo
    Name : libmediainfo Relocations: (not relocatable)
    Version : 0.7.71 Vendor: Fedora Project
    Release : 1.el6 Build Date: Thu 13 Nov 2014 21:50:54 EST
    Install Date: Mon 09 Mar 2015 20:13:47 EST Build Host: buildvm-11.phx2.fedoraproject.org
    Group : System Environment/Libraries Source RPM: libmediainfo-0.7.71-1.el6.src.rpm
    Size : 5517550 License: BSD

     
  • Divyang Patel

    Divyang Patel - 2015-04-01

    If this can be of any help. From gdb
    I built static library from source code of version 0.7.72

    ~~~~~~~~~~~~~~~~~~~~~~~~

    4 0x00007f3dd0874875 in std::basic_string<wchar_t, std::char_traits\<wchar_t="">, std::allocator\<wchar_t> >::assign(std::basic_string<wchar_t, std::char_traits\<wchar_t="">, std::allocator\<wchar_t> > const&) () from /usr/lib64/libstdc++.so.6</wchar_t></wchar_t,></wchar_t></wchar_t,>

    5 0x00000000008aa1af in ZenLib::Ztring::operator= (this=0x7f3dbcb658c8) at ../../../../ZenLib/Source/ZenLib/Ztring.h:50

    6 0x000000000089ee55 in MediaInfoLib::MediaInfo_Config::Option (this=0x1364560, Option=L"Complete", Value_Raw=L"1") at ../../../Source/MediaInfo/MediaInfo_Config.cpp:161

    7 0x00000000008d2d6f in MediaInfoLib::MediaInfo_Internal::Option (this=0x7f38ca241e50, Option=L"Complete", Value=L"1") at ../../../Source/MediaInfo/MediaInfo_Internal.cpp:1325

    8 0x000000000089e67e in MediaInfoLib::MediaInfo::Option (this=0x7f3aa60dc468, Option=L"Complete", Value=L"1") at ../../../Source/MediaInfo/MediaInfo.cpp:200

    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    Frame data

    (gdb) f 6
    #6  0x000000000089ee55 in MediaInfoLib::MediaInfo_Config::Option (this=0x1364560, Option=L"Complete", Value_Raw=L"1") at ../../../Source/MediaInfo/MediaInfo_Config.cpp:161
    161 ../../../Source/MediaInfo/MediaInfo_Config.cpp: No such file or directory.
        in ../../../Source/MediaInfo/MediaInfo_Config.cpp
    (gdb) p Value_Raw
    $1 = L"1"
    (gdb) print Option
    $2 = L"Complete"
    (gdb) p SubFile_Config
    $3 = {<std::vector<ZenLib::ZtringList, std::allocator<ZenLib::ZtringList> >> = std::vector of length 1, capacity 1 = {{<std::vector<ZenLib::Ztring, std::allocator<ZenLib::Ztring> >> = std::vector of length 2, capacity 2 = {
            {<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >> = L"Complete", <No data fields>}, {<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >> = L"1", <No data fields>}}, 
          Separator = {{<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >> = L";", <No data fields>}}, Quote = {<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >> = 
        L"\"", <No data fields>}, Max = {18446744073709551615}}}, Separator = {{<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >> = L"\n", <No data fields>}, 
        {<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >> = L";", <No data fields>}}, Quote = {<std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >> = L"\"", <No data fields>}, Max = {
        18446744073709551615, 18446744073709551615}}
    
     

    Last edit: Divyang Patel 2015-04-01
    • Jerome Martinez

      Jerome Martinez - 2015-04-01

      Is the command line version with " -f" has the same crash?
      Is it possible to get a simple source code I could use for recreating the crash on my side?

       
    • Jerome Martinez

      Jerome Martinez - 2015-04-01

      Is it used in a multi-threaded environment?

       

Log in to post a comment.

MongoDB Logo MongoDB