Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Jarvis] partly backport of PR 9231 to fix segfault #9388

Merged
merged 1 commit into from Mar 27, 2016
Merged

[Jarvis] partly backport of PR 9231 to fix segfault #9388

merged 1 commit into from Mar 27, 2016

Conversation

bkuhls
Copy link
Contributor

@bkuhls bkuhls commented Mar 19, 2016

This patch is a backport of
a81208e
to fix a segfault during playback of vaapi-accelerated mpeg2 content:

terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_S_construct null not valid
[New LWP 3743]

Program received signal SIGABRT, Aborted.
[Switching to LWP 3743]
0xb5664a9b in raise () from /lib/libc.so.0
(gdb) bt full
No symbol table info available.
No symbol table info available.
No symbol table info available.
No symbol table info available.
No symbol table info available.
No symbol table info available.
No symbol table info available.
No symbol table info available.
No symbol table info available.
at DVDVideoCodec.cpp:75
index =
surfaces=6) at VAAPI.cpp:503
gpuvendor = {static npos = ,
_M_dataplus = {std::allocator = {<__gnu_cxx::new_allocator> = {}, }, _M_p = 0xceb267c "intel open source technology center"}}
profile =
dec = 0xd09e5e8
ctx =
cur = 0x986d9c0

@Paxxi
Copy link
Member

Paxxi commented Mar 19, 2016

Solution looks good and clean, leaving decision to someone familiar with this part of the project

@fritsch
Copy link
Member

fritsch commented Mar 19, 2016

Fine thanks!

This patch is a backport of
a81208e
to fix a segfault during playback of vaapi-accelerated mpeg2 content:

terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct null not valid
[New LWP 3743]

Program received signal SIGABRT, Aborted.
[Switching to LWP 3743]
0xb5664a9b in raise () from /lib/libc.so.0
(gdb) bt full
#0  0xb5664a9b in raise () from /lib/libc.so.0
No symbol table info available.
#1  0xb5660520 in abort () from /lib/libc.so.0
No symbol table info available.
#2  0xb56e6536 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
No symbol table info available.
#3  0xb56e4a1c in ?? () from /usr/lib/libstdc++.so.6
No symbol table info available.
#4  0xb56e4a80 in std::terminate() () from /usr/lib/libstdc++.so.6
No symbol table info available.
#5  0xb56e4cc9 in __cxa_throw () from /usr/lib/libstdc++.so.6
No symbol table info available.
#6  0xb5719d79 in std::__throw_logic_error(char const*) () from /usr/lib/libstdc++.so.6
No symbol table info available.
#7  0xb5722c41 in char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) () from /usr/lib/libstdc++.so.6
No symbol table info available.
#8  0xb5722cc7 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) () from /usr/lib/libstdc++.so.6
No symbol table info available.
#9  0x0848fea3 in CDVDVideoCodec::IsCodecDisabled (map=0x9130420 <g_vaapi_available>, size=5, id=AV_CODEC_ID_MPEG4)
    at DVDVideoCodec.cpp:75
        index = <optimized out>
#10 0x08499d04 in VAAPI::CDecoder::Open (this=0xd09e5e8, avctx=0xd6a2ec0, mainctx=0xd6a2ec0, fmt=AV_PIX_FMT_VAAPI_VLD,
    surfaces=6) at VAAPI.cpp:503
        gpuvendor = {static npos = <optimized out>,
          _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xceb267c "intel open source technology center"}}
        profile = <optimized out>
#11 0x08491bda in CDVDVideoCodecFFmpeg::GetFormat (avctx=0xd6a2ec0, fmt=0x986d9c0) at DVDVideoCodecFFmpeg.cpp:143
        dec = 0xd09e5e8
        ctx = <optimized out>
        cur = 0x986d9c0
#12 0xb61c8ced in ?? () from /usr/lib/libavcodec.so.56
@bkuhls
Copy link
Contributor Author

bkuhls commented Mar 19, 2016

I forced-pushed to my jarvis_pr9231 branch in order to provide a complete gdb backtrace, lines starting with a hash char were removed in the first version of my PR. No code changes took place.

@MartijnKaijser
Copy link
Member

jenkins build this please

@MartijnKaijser MartijnKaijser added this to the Jarvis 16.1-rc2 milestone Mar 27, 2016
@MartijnKaijser
Copy link
Member

jenkins build this please

@MartijnKaijser
Copy link
Member

@bkuhls it fails on windows

@sevenrock
Copy link

@MartijnKaijser: I never build Kodi for Windows nor did I analyze a Windows build log but I fail to see the connection between my PR and the build error which seems to be triggered while building a local copy of ffmpeg:

c:\jenkins\slave\workspace\win-32\lib\win32\ffmpeg\libavutil\common.h(44): fatal error C1083:
 Cannot open include file: 'libavutil/avconfig.h': No such file or directory
 (..\..\xbmc\addons\AddonCallbacksAudioEngine.cpp)
 [c:\jenkins\slave\workspace\WIN-32\project\VS2010Express\XBMC.vcxproj]

@MartijnKaijser MartijnKaijser merged commit 3ee62f7 into xbmc:Jarvis Mar 27, 2016
@afedchin
Copy link
Member

@sevenrock build mingw libs (tools/buildsteps/win32/make-mingwlibs.bat) before compiling Kodi.

@bkuhls bkuhls deleted the jarvis_pr9231 branch April 24, 2016 06:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants