FD- / RPiPlay

An open-source AirPlay mirroring server for the Raspberry Pi. Supports iOS 9 and up.
GNU General Public License v3.0
4.93k stars 353 forks source link

make: dns_sd.h: No such file or directory #210

Open drscotthawley opened 3 years ago

drscotthawley commented 3 years ago

Same issues as I reported in https://github.com/antimof/UxPlay/issues/30: Make produces an error message about not being able to find dns_sh.h, on Ubuntu 20.10:

RPiPlay/lib/dnssd.c:38:10: fatal error: dns_sd.h: No such file or directory
   38 | #include <dns_sd.h>

A common fix for this seen around the internet is to install libavahi-compat-libdnssd-dev, however as this was already the latest version on my system, doing this had no effect.

---- Here is where the original Issue ends, but after the workaround (below), it still doesn't work ----

A fix I came up with for this was to manually download dns_sd.h from Apple, put it in RPIplay/lib, and change the angle-brackets to quotes in the include statement on line 38 of lib/dnssd.c

After that, build occurs without errors. However, one sees errors from gstreamer, and the iPad says "Unable to connect to RPiPlay"

Log shows...

$ ./rpiplay 
Initialized server socket(s)
*** WARNING *** The program 'rpiplay' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/blog/projects/avahi-compat.html>

(rpiplay:652076): GStreamer-WARNING **: 12:55:59.586: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstlibav.so': /lib/x86_64-linux-gnu/librsvg-2.so.2: undefined symbol: cairo_tag_end

(rpiplay:652076): GStreamer-WARNING **: 12:55:59.613: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstlibav.so': /lib/x86_64-linux-gnu/librsvg-2.so.2: undefined symbol: cairo_tag_end

^CStopping...
drscotthawley commented 3 years ago

Fixed the 'Failed to load plugin' errors by removing parts of LDFLAGS environment variable that had been set by Anaconda (oops!), and did a clean rebuild. Only warnings now are the generic Apple-Avahi warnings (the first 3 warnings above).

'Still getting "Unable to connect to "RPiPlay"' from iPad (iOS 13.5.1)

drscotthawley commented 3 years ago

After modifying code to use static ports as per https://github.com/FD-/RPiPlay/pull/196, rebuilding, and opening firewall, I now get a connection and then immediate seg fault:

$ ./rpiplay 
Initialized server socket(s)
*** WARNING *** The program 'rpiplay' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/blog/projects/avahi-compat.html>
Accepted IPv4 client on socket 24
Local: 10.0.1.8
Remote: 10.0.1.3
Accepted IPv4 client on socket 26
Local: 10.0.1.8
Remote: 10.0.1.3
raop_rtp_mirror starting mirroring
Segmentation fault (core dumped)

Will try to rebuild with debug and share a stack trace later. Could be a gstreamer issue.

drscotthawley commented 3 years ago

After following the debug instructions in https://github.com/FD-/RPiPlay/issues/193, here's the output when it core dumps:

~/Downloads/RPiPlay/build$ ../gdb-bt.sh ./rpiplay -d param
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff674b640 (LWP 618870)]
[Thread 0x7ffff674b640 (LWP 618870) exited]
[New Thread 0x7ffff674b640 (LWP 618871)]
[New Thread 0x7ffff5f4a640 (LWP 618872)]
[New Thread 0x7ffff5749640 (LWP 618873)]
[New Thread 0x7ffff4a51640 (LWP 618874)]
[Thread 0x7ffff4a51640 (LWP 618874) exited]
[New Thread 0x7ffff40be640 (LWP 618875)]
[Thread 0x7ffff40be640 (LWP 618875) exited]
[New Thread 0x7ffff40be640 (LWP 618876)]
[Thread 0x7ffff40be640 (LWP 618876) exited]
[New Thread 0x7ffff4a51640 (LWP 618877)]
[Thread 0x7ffff4a51640 (LWP 618877) exited]
[New Thread 0x7ffff4a51640 (LWP 618878)]
[New Thread 0x7fffe7d68640 (LWP 618879)]
Initialized server socket(s)
[New Thread 0x7fffe7567640 (LWP 618880)]
[New Thread 0x7fffe6d66640 (LWP 618881)]
[New Thread 0x7fffe6565640 (LWP 618882)]
Accepted IPv4 client on socket 19
Local: 10.0.1.8
Remote: 10.0.1.4
httpd receiving on socket 19
conn_request
Handling request GET with URL /info
INFO len = -413767624
httpd receiving on socket 19
conn_request
Handling request POST with URL /pair-setup
httpd receiving on socket 19
conn_request
Handling request POST with URL /pair-verify
httpd receiving on socket 19
conn_request
Handling request POST with URL /pair-verify
httpd receiving on socket 19
conn_request
Handling request POST with URL /fp-setup
httpd receiving on socket 19
conn_request
Handling request POST with URL /fp-setup
httpd receiving on socket 19
conn_request
Handling request SETUP with URL rtsp://10.0.1.8/16212339756134452781
DACP-ID: 356710904C1AE806
Active-Remote: 3249272385
Transport: null
SETUP 1
eiv_len = 16
ekey_len = 72
fairplay_decrypt ret = 0
timing_rport = 61072
raop_ntp parse remote ip = 10.0.1.4
raop_ntp starting time
[New Thread 0x7fffd18dc640 (LWP 618884)]
raop_rtp parse remote ip = 10.0.1.4
raop_rtp_mirror parse remote ip = 10.0.1.4
eport = 7000, tport = 7011
raop_ntp send_len = 32
raop_ntp receive time type_t packetlen = 32
raop_ntp sync correction = -1607595106364430
Accepted IPv4 client on socket 21
Local: 10.0.1.8
Remote: 10.0.1.4
httpd receiving on socket 19
conn_request
Handling request GET with URL /info
INFO len = -413767624
httpd receiving on socket 19
conn_request
Handling request GET_PARAMETER with URL rtsp://10.0.1.8/16212339756134452781
httpd receiving on socket 19
conn_request
Handling request RECORD with URL rtsp://10.0.1.8/16212339756134452781
raop_handler_record
httpd receiving on socket 19
conn_request
Handling request SET_PARAMETER with URL rtsp://10.0.1.8/16212339756134452781
httpd receiving on socket 19
conn_request
Handling request SETUP with URL rtsp://10.0.1.8/16212339756134452781
DACP-ID: 356710904C1AE806
Active-Remote: 3249272385
Transport: null
type = 110
streamConnectionID = 12114145307514193041
raop_rtp_mirror starting mirroring
[New Thread 0x7fffd10db640 (LWP 618885)]
Mirroring initialized successfully
raop_rtp_mirror accepting client
raop_rtp_mirror width_source = 450.000000 height_source = 972.000000 width = 470.000000 height = 1016.000000
raop_rtp_mirror sps size = 17
raop_rtp_mirror pps size = 4
raop_rtp_mirror video ntp = 1610615219412290, now = 1610615219376313, latency = -35977
raop_rtp_mirror video ntp = 1610615219462287, now = 1610615219386483, latency = -75804
raop_rtp_mirror video ntp = 1610615219478953, now = 1610615219404800, latency = -74153
raop_rtp_mirror video ntp = 1610615219495618, now = 1610615219419040, latency = -76578
raop_rtp_mirror video ntp = 1610615219512284, now = 1610615219435684, latency = -76600
raop_rtp_mirror video ntp = 1610615219528950, now = 1610615219454327, latency = -74623
raop_rtp_mirror video ntp = 1610615219545615, now = 1610615219471783, latency = -73832
[New Thread 0x7fffcb916640 (LWP 618886)]
[Thread 0x7fffcb916640 (LWP 618886) exited]
[New Thread 0x7fffcb916640 (LWP 618887)]
[New Thread 0x7fffcb115640 (LWP 618888)]
raop_rtp_mirror video ntp = 1610615219562281, now = 1610615219488644, latency = -73637
raop_rtp_mirror video ntp = 1610615219578946, now = 1610615219503829, latency = -75117
raop_rtp_mirror video ntp = 1610615219595612, now = 1610615219522923, latency = -72689
raop_rtp_mirror video ntp = 1610615219612278, now = 1610615219532610, latency = -79668
raop_rtp_mirror video ntp = 1610615219628943, now = 1610615219551007, latency = -77936
raop_rtp_mirror video ntp = 1610615219645609, now = 1610615219566753, latency = -78856
[New Thread 0x7fffc9175640 (LWP 618889)]
[New Thread 0x7fffc8974640 (LWP 618890)]
[New Thread 0x7fffb305b640 (LWP 618891)]
[New Thread 0x7fffb285a640 (LWP 618892)]
raop_rtp_mirror video ntp = 1610615219662275, now = 1610615219683765, latency = 21490
raop_rtp_mirror video ntp = 1610615219678940, now = 1610615219687884, latency = 8944
raop_rtp_mirror video ntp = 1610615219695606, now = 1610615219693080, latency = -2526
raop_rtp_mirror video ntp = 1610615219712271, now = 1610615219693527, latency = -18744
raop_rtp_mirror video ntp = 1610615219728937, now = 1610615219695440, latency = -33497
raop_rtp_mirror video ntp = 1610615219745603, now = 1610615219695465, latency = -50138
raop_rtp_mirror video ntp = 1610615219762268, now = 1610615219699218, latency = -63050
raop_rtp_mirror video ntp = 1610615219778934, now = 1610615219704574, latency = -74360
[New Thread 0x7fffb2059640 (LWP 618893)]
raop_rtp_mirror video ntp = 1610615219795600, now = 1610615219718780, latency = -76820

Thread 4 "queue0:src" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5f4a640 (LWP 618872)]
0x00007fffcba8abc5 in ?? () from /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#0  0x00007fffcba8abc5 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#1  0x00007fffcba7bbf4 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#2  0x00007fffcba6261a in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#3  0x00007fffcbc705e3 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#4  0x00007fffcbc74016 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#5  0x00007fffcbc7429a in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#6  0x00007fffcbc41f92 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#7  0x00007fffda7612b0 in vaPutImage () at /lib/x86_64-linux-gnu/libva.so.2
#8  0x00007fffd0730a14 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
#9  0x00007fffd06ee9c6 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
#10 0x00007fffd06f5cce in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
#11 0x00007ffff741cc33 in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#12 0x00007ffff742064d in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#13 0x00007ffff7ec7208 in gst_pad_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#14 0x00007ffff7ec796b in gst_pad_peer_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#15 0x00007ffff7f073c8 in gst_pad_peer_query_caps () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#16 0x00007ffff742032f in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#17 0x00007ffff7ec7208 in gst_pad_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#18 0x00007ffff7ec796b in gst_pad_peer_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#19 0x00007ffff7f015fc in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#20 0x00007ffff7ec5b5e in gst_pad_forward () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#21 0x00007ffff7f0429a in gst_pad_proxy_query_caps () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#22 0x00007ffff7ec5d88 in gst_pad_query_default () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#23 0x00007ffff7ec7208 in gst_pad_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#24 0x00007ffff7ec796b in gst_pad_peer_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#25 0x00007ffff7f073c8 in gst_pad_peer_query_caps () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#26 0x00007ffff6c76631 in  () at /lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
#27 0x00007fffd06e84f8 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
#28 0x00007ffff6c64a66 in  () at /lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
#29 0x00007ffff7ec7208 in gst_pad_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#30 0x00007ffff7f04b38 in gst_pad_query_caps () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#31 0x00007ffff6c64cd1 in  () at /lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
#32 0x00007ffff7ec7208 in gst_pad_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#33 0x00007ffff7ec796b in gst_pad_peer_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#34 0x00007ffff7f01594 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#35 0x00007ffff7ec5b5e in gst_pad_forward () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#36 0x00007ffff7f040ce in gst_pad_proxy_query_accept_caps () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#37 0x00007ffff7ec635b in gst_pad_query_default () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#38 0x00007ffff7ec7208 in gst_pad_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#39 0x00007ffff7f075a8 in gst_pad_query_accept_caps () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#40 0x00007ffff7ebfb4a in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#41 0x00007ffff7ec9ba9 in gst_pad_send_event () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#42 0x00007ffff6da111c in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#43 0x00007ffff7ebe6dc in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#44 0x00007ffff7ebdef0 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#45 0x00007ffff7eca7bc in gst_pad_sticky_events_foreach () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#46 0x00007ffff6daca2f in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#47 0x00007ffff6daa625 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#48 0x00007ffff6dab17c in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#49 0x00007ffff6dab41e in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#50 0x00007ffff7df08fa in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#51 0x00007ffff7e034b3 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#52 0x00007ffff7e09c41 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#53 0x00007ffff7e09da3 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#54 0x00007ffff7df5464 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#55 0x00007ffff7e75e88 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#56 0x00007ffff7df749a in g_object_notify_by_pspec () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#57 0x00007ffff7ebe5e7 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#58 0x00007ffff7ec9820 in gst_pad_push_event () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#59 0x00007ffff741fbf8 in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#60 0x00007ffff742122a in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#61 0x00007ffff6e34e96 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#62 0x00007ffff7ebfa7c in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#63 0x00007ffff7ec00fe in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#64 0x00007ffff7ec05b8 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#65 0x00007ffff7ebdef0 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#66 0x00007ffff7ec9530 in gst_pad_push_event () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#67 0x00007fffd0893ef0 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideoparsersbad.so
#68 0x00007fffd0895f9e in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideoparsersbad.so
#69 0x00007fffd08982da in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideoparsersbad.so
#70 0x00007ffff73f7620 in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#71 0x00007ffff73fd37e in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#72 0x00007ffff7ebec0d in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#73 0x00007ffff7ec0e89 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#74 0x00007ffff7ec8492 in gst_pad_push () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#75 0x00007ffff7ebec0d in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#76 0x00007ffff7ec0e89 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#77 0x00007ffff7ec8492 in gst_pad_push () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#78 0x00007ffff7eabbf3 in gst_proxy_pad_chain_default () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#79 0x00007ffff7ebec0d in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#80 0x00007ffff7ec0e89 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#81 0x00007ffff7ec8492 in gst_pad_push () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#82 0x00007ffff6e6cdb3 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#83 0x00007ffff7ef81c7 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#84 0x00007ffff7d27ac4 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#85 0x00007ffff7d271b1 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#86 0x00007ffff7c91590 in start_thread (arg=0x7ffff5f4a640) at pthread_create.c:463
#87 0x00007ffff756f223 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Any insights would be appreciated! Thanks!

After following the debug instructions in https://github.com/FD-/RPiPlay/issues/193, here's the output when it core dumps:

~/Downloads/RPiPlay/build$ ./gdb-bt.sh ./rpiplay 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff674b640 (LWP 1264010)]
[Thread 0x7ffff674b640 (LWP 1264010) exited]
[New Thread 0x7ffff674b640 (LWP 1264011)]
[New Thread 0x7ffff5f4a640 (LWP 1264012)]
[New Thread 0x7ffff5749640 (LWP 1264013)]
[New Thread 0x7ffff4a51640 (LWP 1264014)]
[Thread 0x7ffff4a51640 (LWP 1264014) exited]
[New Thread 0x7ffff4a51640 (LWP 1264015)]
[New Thread 0x7fffd3fff640 (LWP 1264016)]
[New Thread 0x7fffd37fe640 (LWP 1264017)]
Initialized server socket(s)
[New Thread 0x7fffd2ffd640 (LWP 1264018)]
[New Thread 0x7fffd27fc640 (LWP 1264019)]
[New Thread 0x7fffd1ffb640 (LWP 1264020)]
Accepted IPv4 client on socket 24
Local: 10.0.1.8
Remote: 10.0.1.2
[New Thread 0x7fffbd4c4640 (LWP 1264022)]
Accepted IPv4 client on socket 26
Local: 10.0.1.8
Remote: 10.0.1.2
raop_rtp_mirror starting mirroring
[New Thread 0x7fffbccc3640 (LWP 1264023)]
[New Thread 0x7fffb789c640 (LWP 1264024)]
[Thread 0x7fffb789c640 (LWP 1264024) exited]
[New Thread 0x7fffb789c640 (LWP 1264025)]
[New Thread 0x7fffb709b640 (LWP 1264026)]
[New Thread 0x7fffb5e9d640 (LWP 1264027)]

Thread 5 "queue0:src" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5749640 (LWP 1264013)]
0x00007fffb7a8abc5 in ?? () from /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#0  0x00007fffb7a8abc5 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#1  0x00007fffb7a7bbf4 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#2  0x00007fffb7a6261a in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#3  0x00007fffb7c705e3 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#4  0x00007fffb7c74016 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#5  0x00007fffb7c7429a in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#6  0x00007fffb7c41f92 in  () at /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
#7  0x00007fffd00532b0 in vaPutImage () at /lib/x86_64-linux-gnu/libva.so.2
#8  0x00007fffbc318a14 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
#9  0x00007fffbc2d69c6 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
#10 0x00007fffbc2ddcce in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
#11 0x00007ffff741cc33 in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#12 0x00007ffff742064d in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#13 0x00007ffff7ec7208 in gst_pad_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#14 0x00007ffff7ec796b in gst_pad_peer_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#15 0x00007ffff7f073c8 in gst_pad_peer_query_caps () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#16 0x00007ffff742032f in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#17 0x00007ffff7ec7208 in gst_pad_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#18 0x00007ffff7ec796b in gst_pad_peer_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#19 0x00007ffff7f015fc in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#20 0x00007ffff7ec5b5e in gst_pad_forward () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#21 0x00007ffff7f0429a in gst_pad_proxy_query_caps () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#22 0x00007ffff7ec5d88 in gst_pad_query_default () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#23 0x00007ffff7ec7208 in gst_pad_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#24 0x00007ffff7ec796b in gst_pad_peer_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#25 0x00007ffff7f073c8 in gst_pad_peer_query_caps () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#26 0x00007ffff6c76631 in  () at /lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
#27 0x00007fffbc2d04f8 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
#28 0x00007ffff6c64a66 in  () at /lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
#29 0x00007ffff7ec7208 in gst_pad_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#30 0x00007ffff7f04b38 in gst_pad_query_caps () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#31 0x00007ffff6c64cd1 in  () at /lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
#32 0x00007ffff7ec7208 in gst_pad_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#33 0x00007ffff7ec796b in gst_pad_peer_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#34 0x00007ffff7f01594 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#35 0x00007ffff7ec5b5e in gst_pad_forward () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#36 0x00007ffff7f040ce in gst_pad_proxy_query_accept_caps () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#37 0x00007ffff7ec635b in gst_pad_query_default () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#38 0x00007ffff7ec7208 in gst_pad_query () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#39 0x00007ffff7f075a8 in gst_pad_query_accept_caps () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#40 0x00007ffff7ebfb4a in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#41 0x00007ffff7ec9ba9 in gst_pad_send_event () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#42 0x00007ffff6da111c in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#43 0x00007ffff7ebe6dc in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#44 0x00007ffff7ebdef0 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#45 0x00007ffff7eca7bc in gst_pad_sticky_events_foreach () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#46 0x00007ffff6daca2f in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#47 0x00007ffff6daa625 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#48 0x00007ffff6dab17c in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#49 0x00007ffff6dab41e in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#50 0x00007ffff7df08fa in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#51 0x00007ffff7e034b3 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#52 0x00007ffff7e09c41 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#53 0x00007ffff7e09da3 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#54 0x00007ffff7df5464 in  () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#55 0x00007ffff7e75e88 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#56 0x00007ffff7df749a in g_object_notify_by_pspec () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#57 0x00007ffff7ebe5e7 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#58 0x00007ffff7ec9820 in gst_pad_push_event () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#59 0x00007ffff741fbf8 in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#60 0x00007ffff742122a in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#61 0x00007ffff6e34e96 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#62 0x00007ffff7ebfa7c in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#63 0x00007ffff7ec00fe in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#64 0x00007ffff7ec05b8 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#65 0x00007ffff7ebdef0 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#66 0x00007ffff7ec9530 in gst_pad_push_event () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#67 0x00007fffbc47bef0 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideoparsersbad.so
#68 0x00007fffbc47df9e in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideoparsersbad.so
#69 0x00007fffbc4802da in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideoparsersbad.so
#70 0x00007ffff73f7620 in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#71 0x00007ffff73fd37e in  () at /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#72 0x00007ffff7ebec0d in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#73 0x00007ffff7ec0e89 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#74 0x00007ffff7ec8492 in gst_pad_push () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#75 0x00007ffff7ebec0d in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#76 0x00007ffff7ec0e89 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#77 0x00007ffff7ec8492 in gst_pad_push () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#78 0x00007ffff7eabbf3 in gst_proxy_pad_chain_default () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#79 0x00007ffff7ebec0d in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#80 0x00007ffff7ec0e89 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#81 0x00007ffff7ec8492 in gst_pad_push () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#82 0x00007ffff6e6cdb3 in  () at /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#83 0x00007ffff7ef81c7 in  () at /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#84 0x00007ffff7d27ac4 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#85 0x00007ffff7d271b1 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#86 0x00007ffff7c91590 in start_thread (arg=0x7ffff5749640) at pthread_create.c:463
#87 0x00007ffff756f223 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Any insights would be appreciated! Thanks!

PS- Tried this in three different graphics modes: Full NVIDIA graphics, Hybrid Graphics, and Intel Graphics (rebooted each time I switched modes). All 3 yielded seg faults. (I was hoping the Intel Graphics version would work!)

freiheitsnetz commented 3 years ago

Hi. Don'know whether it's related but in some other case the segmentation fault was related to gstreamer1.0-vaapi. https://github.com/FD-/RPiPlay/issues/195#issuecomment-765556823 https://github.com/antimof/UxPlay/issues/32 Could be a try to remove that one.

kod3000 commented 3 years ago

I was having the same problem "segmentation fault (core dumped)", with 3 different graphics modes.. Using the solution provided by @freiheitsnetz and rebuilding rpiplay the problem was solved. 👍🏽

ryota2425-murakami commented 2 years ago
sudo apt-get install libavahi-compat-libdnssd-dev

this helps me!