mpv: symbol lookup error: /usr/lib/x86_64-linux-gnu/libopencv_core.so.3.2: undefined symbol: _ZN3tbb10interface78internal15task_arena_base21internal_current_slotEv

Bug #1811702 reported by Hans109h
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
mpv (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

mpv is set as the default video player. When double clicking on a video file in either Nautilus or Nemo the action fails with the following error:

mpv: symbol lookup error: /usr/lib/x86_64-linux-gnu/libopencv_core.so.3.2: undefined symbol: _ZN3tbb10interface78internal15task_arena_base21internal_current_slotEv

In the past this same action has resulted in mpv opening and playing the video.

To recreate this error I open a file manager and double click a video file.

opening mpv from the command line using "mpv nameofvideo.avi" works without failure.

ProblemType: Bug
DistroRelease: Ubuntu 18.10
Package: mpv 0.29.0-1ubuntu2
ProcVersionSignature: Ubuntu 4.18.0-13.14-generic 4.18.17
Uname: Linux 4.18.0-13-generic x86_64
ApportVersion: 2.20.10-0ubuntu13.1
Architecture: amd64
CurrentDesktop: X-Cinnamon
Date: Mon Jan 14 09:42:24 2019
ProcEnviron:
 LD_LIBRARY_PATH=<set>
 TERM=xterm-256color
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: mpv
UpgradeStatus: Upgraded to cosmic on 2018-11-02 (72 days ago)
modified.conffile..etc.logrotate.d.apport: [modified]
mtime.conffile..etc.logrotate.d.apport: 2015-11-23T13:57:38

Revision history for this message
Hans109h (hans109h) wrote :
Revision history for this message
Hans109h (hans109h) wrote :

I upgraded to the latest version of mpv by building from source and the problem has gone away. It appears that the mpv version in the Ubuntu repos needs some updating.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I've just installed 18.10 from scratch and can't reproduce the problem at all.

Investigating further, I can however confirm that the symbol:

   /usr/lib/x86_64-linux-gnu/libopencv_core.so.3.2: undefined symbol: _ZN3tbb10interface78internal15task_arena_base21internal_current_slotEv

is undefined. But that's also not a bug because the symbol exists in:

  /usr/lib/x86_x64-linux-gnu/libtbb.so.2

Do you have that file?
If not then try installing package 'libtbb2'.
If so then try running:

  nm -CD /usr/lib/x86_x64-linux-gnu/libtbb.so.2 | greo task_arena

and tell us what output you see.

Changed in mpv (Ubuntu):
status: New → Incomplete
Revision history for this message
Hans109h (hans109h) wrote :

Based on your response this is probably not a bug, but is rather a result of things I had to do to build gdal with MrSID support for use in qgis. I say this because when you asked if libtbb.so.2 exists I did a locate and found that that file was included in the the build files for that specific SDK. I don't fully understand this but my assumption is that some wires got crossed.

Since building mpv from source has fixed my problem, I'm fine if this bug report is closed.

Regardless, the output of nm is as follows:

000000000001fda0 T tbb::interface7::internal::task_arena_base::internal_attach()
00000000000205a0 T tbb::interface7::internal::task_arena_base::internal_terminate()
00000000000203e0 T tbb::interface7::internal::task_arena_base::internal_initialize()
000000000001fe20 T tbb::interface7::internal::task_arena_base::internal_current_slot()
000000000001fe50 T tbb::interface7::internal::task_arena_base::internal_max_concurrency(tbb::interface7::task_arena const*)
0000000000020a10 T tbb::interface7::internal::task_arena_base::internal_wait() const
00000000000209d0 T tbb::interface7::internal::task_arena_base::internal_enqueue(tbb::task&, long) const
0000000000020cf0 T tbb::interface7::internal::task_arena_base::internal_execute(tbb::interface7::internal::delegate_base&) const

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

It sounds like your system is finding the secondary copy of libtbb.so.2, so that's a function of the dynamic loader. Run 'man ld.so' for more information about how to configure it (to ensure /usr/lib/x86_64-linux-gnu is searched first).

It also appears your Ubuntu-supplied copy of libtbb.so.2 has the required symbol:

000000000001fe20 T tbb::interface7::internal::task_arena_base::internal_current_slot()

So yeah, probably not an Ubuntu bug.

Changed in mpv (Ubuntu):
status: Incomplete → Invalid
Revision history for this message
Hans109h (hans109h) wrote :

Thank you for the additional information and review, it helps educate me.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.