Thank you for taking the time to report this bug and helping to make Ubuntu better. Please execute the following command only once, as it will automatically gather debugging information, in a terminal: apport-collect 1906091
When reporting bugs in the future please use apport by using 'ubuntu- bug' and the name of the package affected. You can learn more about this functionality at https://wiki.ubuntu.com/ReportingBugs. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to x264 in Ubuntu. https://bugs.launchpad.net/bugs/1906091 Title: libx264-148 libx264-152 conflict segmentation fault SIGSEGV Status in x264 package in Ubuntu: New Bug description: In my app I have segfault due to conflict of libx264-148 vs libx264-152. I use gstreamer and libopencv_videoio in my project. System is Ubuntu 18.04.5 The problem is that versions of libx264 get mixed due to implicit linking. Libraries are linked like this: gstreamer -> x264enc -> libx264-152 libopencv_videoio -> libavcodec-ffmpeg.so.56 -> libx264-148 Both opencv-based code and gstreamer-based code works well if used separately. At the top of backtrace I see: Thread 13 (Thread 0x7f28e2066700 (LWP 26012)): #0 0x00007f290181c853 in x264_add8x8_idct_avx2.skip_prologue () at /usr/lib/x86_64-linux-gnu/libx264.so.152 //!!!! 152 #1 0x00007f2927a93f55 in x264_nal_encode () at /usr/lib/x86_64-linux-gnu/libx264.so.148 //!!!! 148 #2 0x00007f2927af866c in () at /usr/lib/x86_64-linux-gnu/libx264.so.148 #3 0x00007f2927b0143b in x264_encoder_headers () at /usr/lib/x86_64-linux-gnu/libx264.so.148 If I use objdump I can find x264_add8x8_idct_avx2.skip_prologue in both libx264-148 and libx264-152 Here is example code which fails (C++ needed): int main (int argc, char *argv[]) { App *app = &s_app; GError *error = NULL; GstBus *bus; GstCaps *caps; gst_init (&argc, &argv); auto cap = cv::VideoCapture("videoplayback.mp4"); cv::Mat f; cap.read(f); cv::imshow("f", f); GST_DEBUG_CATEGORY_INIT (appsrc_pipeline_debug, "appsrc-pipeline", 0, "appsrc pipeline example"); app->loop = g_main_loop_new (NULL, TRUE); app->timer = g_timer_new(); app->pipeline = gst_parse_launch(R"(filesrc location=videoplayback.mp4 ! decodebin ! videoconvert ! x264enc byte-stream=true threads=1 tune=zerolatency bitrate=4000000 key- int-max=50 option-string="force-cfr=1" ! video/x-h264,profile=baseline,stream-format="byte-stream" ! h264parse ! mpegtsmux ! hlssink location="/tmp/data%06d.ts" max-files=100 playlist-length=10 playlist-location="/tmp/kek" target-duration=10 playlist-root=".")", NULL); g_assert (app->pipeline); bus = gst_pipeline_get_bus (GST_PIPELINE (app->pipeline)); g_assert(bus); gst_bus_add_watch (bus, (GstBusFunc) bus_message, app); caps = gst_caps_new_simple ("video/x-raw-rgb", "bpp",G_TYPE_INT,8, "depth",G_TYPE_INT,8, "width", G_TYPE_INT, 640, "height", G_TYPE_INT, 480, NULL); gst_element_set_state (app->pipeline, GST_STATE_PLAYING); g_main_loop_run (app->loop); GST_DEBUG ("stopping"); gst_element_set_state (app->pipeline, GST_STATE_NULL); gst_object_unref (bus); g_main_loop_unref (app->loop); return 0; } How can I solve this? PLease help! To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/x264/+bug/1906091/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp