-
-
Notifications
You must be signed in to change notification settings - Fork 56.4k
Closed
Labels
Milestone
Description
System Information
OpenCV version: 4.x ( bc95f27 )
Operating System / Platform: Ubuntu 24.04
Compiler & compiler version: GCC 13.2
-- GUI: Wayland
-- Wayland: (Experimental) YES
-- Wayland Client: YES (ver 1.22.0)
-- Wayland Cursor: YES (ver 1.22.0)
-- Wayland Protocols: YES (ver 1.34)
-- Xkbcommon: YES (ver 1.6.0)
-- Wayland EGL(Option): YES (ver 18.1.0)
Detailed description
opencv_test_highgui with wayland fails.
- (A) it requires to support CV_8S/16S/32F/64F support (When debug build, there are some exceptions)
- (B) it requires to initlize slider position with value in user pointer.
- (C) it requires to update slider value and call update user function, but now if window condition is not ready, it will not.
- (D) it requires to call getWindowImageRect(), but wayland backend is not supported by protocol limitation.
- (E) it requires to get "1" if createTrackbar() is succeeded, but wayland backend returns 0.
kmtr@kmtr-VMware-Virtual-Platform:~/work/build4-main$ ./bin/opencv_test_highgui
CTEST_FULL_OUTPUT
OpenCV version: 4.9.0-dev
OpenCV VCS version: 4.9.0-423-gbc95f27e56
Build type: Debug
Compiler: /usr/bin/c++ (ver 13.2.0)
[ INFO:[email protected]] global registry_parallel.impl.hpp:96 ParallelBackendRegistry core(parallel): Enabled backends(3, sorted by priority): ONETBB(1000); TBB(990); OPENMP(980)
Parallel framework: pthreads (nthreads=8)
CPU features: SSE SSE2 SSE3 *SSE4.1 *SSE4.2 *FP16 *AVX *AVX2 *AVX512-SKX?
Intel(R) IPP version: ippIP AVX2 (l9) 2021.11.0 (-) Feb 1 2024
Intel(R) IPP features code: 0x8000
[ INFO:[email protected]] global ocl.cpp:1185 haveOpenCL Initialize OpenCL runtime...
[ INFO:[email protected]] global ocl.cpp:1191 haveOpenCL OpenCL: found 0 platforms
OpenCL is disabled
TEST: Skip tests with tags: 'mem_6gb', 'verylong', 'debug_verylong'
[==========] Running 4 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 4 tests from Highgui_GUI
[ RUN ] Highgui_GUI.regression
[ INFO:[email protected]] global registry.impl.hpp:114 UIBackendRegistry UI: Enabled backends(3, sorted by priority): GTK(1000); GTK3(990); GTK2(980) + BUILTIN(Wayland)
[*] DEBUG: handle_toplevel_configure: maximized=0 fullscreen=0 resizing=0 focused=0 size=[0 x 0]
[*] DEBUG: handle_toplevel_configure: maximized=0 fullscreen=0 resizing=0 focused=1 size=[800 x 624]
/home/kmtr/work/opencv4/modules/highgui/test/test_gui.cpp:53: Failure //////////////// (D)
Expected equality of these values:
rc.size()
Which is: -1x-1
img.size()
Which is: 800x600
Google Test trace:
/home/kmtr/work/opencv4/modules/highgui/test/test_gui.cpp:80: 0
Exception message: OpenCV(4.9.0-dev) /home/kmtr/work/opencv4/modules/core/include/opencv2/core/mat.inl.hpp:910: error: (-215:Assertion failed) (unsigned)(i1 * DataType<_Tp>::channels) < (unsigned)(size.p[1] * channels()) in function 'at'
/home/kmtr/work/opencv4/modules/highgui/test/test_gui.cpp:49: Failure /////////////////(A)
Expected: imshow(nm, img) doesn't throw an exception.
Actual: it throws.
Google Test trace:
/home/kmtr/work/opencv4/modules/highgui/test/test_gui.cpp:80: 1
:
:
:
[ FAILED ] Highgui_GUI.regression (8729 ms)
[ RUN ] Highgui_GUI.trackbar_unsafe
[ WARN:[email protected]] global window.cpp:701 createTrackbar UI/Trackbar(trackbar@trackbar_test_window): Using 'value' pointer is unsafe and deprecated. Use NULL as value pointer. To fetch trackbar value setup callback.
/home/kmtr/work/opencv4/modules/highgui/test/test_gui.cpp:154: Failure //////////////// (E)
Expected equality of these values:
(int)1
Which is: 1
createTrackbar(trackbar_name, window_name, &value, 100, Foo, &callback_count)
Which is: 0
/home/kmtr/work/opencv4/modules/highgui/test/test_gui.cpp:155: Failure ////////////////////////// (B)
Expected equality of these values:
value
Which is: 50
getTrackbarPos(trackbar_name, window_name)
Which is: 0
/home/kmtr/work/opencv4/modules/highgui/test/test_gui.cpp:160: Failure ////////////////////// (C)
Expected equality of these values:
callback_count_base + 1
Which is: 1
callback_count
Which is: 0
/home/kmtr/work/opencv4/modules/highgui/test/test_gui.cpp:161: Failure /////////////////////////////// (C)
Expected equality of these values:
90
value
Which is: 50
[ FAILED ] Highgui_GUI.trackbar_unsafe (44 ms)
:
:
[ RUN ] Highgui_GUI.currentUIFramework
UI framework: "WAYLAND"
[ OK ] Highgui_GUI.currentUIFramework (0 ms)
[----------] 4 tests from Highgui_GUI (8793 ms total)
[----------] Global test environment tear-down
[==========] 4 tests from 1 test case ran. (8793 ms total)
[ PASSED ] 1 test.
[ FAILED ] 3 tests, listed below:
[ FAILED ] Highgui_GUI.regression
[ FAILED ] Highgui_GUI.trackbar_unsafe
[ FAILED ] Highgui_GUI.trackbar
3 FAILED TESTS
kmtr@kmtr-VMware-Virtual-Platform:~/work/build4-main$
Steps to reproduce
build opencv and run ./bin/opencv_test_highgui
Issue submission checklist
- I report the issue, it's not a question
- I checked the problem with documentation, FAQ, open issues, forum.opencv.org, Stack Overflow, etc and have not found any solution
- I updated to the latest OpenCV version and the issue is still there
- There is reproducer code and related data files (videos, images, onnx, etc)