Bug 1507290 - crash inside libepoxy with spice GL + nvidia drivers
Summary: crash inside libepoxy with spice GL + nvidia drivers
Keywords:
Status: CLOSED DUPLICATE of bug 1496766
Alias: None
Product: Fedora
Classification: Fedora
Component: spice-gtk
Version: 26
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Marc-Andre Lureau
QA Contact: Fedora Extras Quality Assurance
URL: https://retrace.fedoraproject.org/faf...
Whiteboard: abrt_hash:88ea54b3d2e3932cc3de9e4f4a7...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-10-29 11:03 UTC by Michael
Modified: 2018-02-25 22:25 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-02-25 22:25:30 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: backtrace (239.79 KB, text/plain)
2017-10-29 11:03 UTC, Michael
no flags Details
File: cgroup (289 bytes, text/plain)
2017-10-29 11:03 UTC, Michael
no flags Details
File: core_backtrace (74.98 KB, text/plain)
2017-10-29 11:03 UTC, Michael
no flags Details
File: cpuinfo (1.08 KB, text/plain)
2017-10-29 11:03 UTC, Michael
no flags Details
File: dso_list (25.35 KB, text/plain)
2017-10-29 11:03 UTC, Michael
no flags Details
File: environ (1.60 KB, text/plain)
2017-10-29 11:03 UTC, Michael
no flags Details
File: limits (1.29 KB, text/plain)
2017-10-29 11:03 UTC, Michael
no flags Details
File: maps (120.17 KB, text/plain)
2017-10-29 11:03 UTC, Michael
no flags Details
File: open_fds (3.31 KB, text/plain)
2017-10-29 11:03 UTC, Michael
no flags Details
File: proc_pid_status (1.27 KB, text/plain)
2017-10-29 11:03 UTC, Michael
no flags Details
File: var_log_messages (28 bytes, text/plain)
2017-10-29 11:03 UTC, Michael
no flags Details

Description Michael 2017-10-29 11:03:28 UTC
Description of problem:
Host: Fedora 26 x86_64 with latest updates, NVIDIA proprietary driver 384.90
Guest: qemu Fedora 26 x86_64 with latest updates (domain "fedora-testing")

Using Virt-Manager enabled "spice gl acceleration" by:
1. changing "Video" "Model" from "qxl" to "Virtio"
2. changing "Display Spice" "Listen type" to "None", enabling "OpenGL"
3. because of Bug 1460804 :
3a. selecting explicitly a render node (NVIDIA graphics adapter GTX 780 Ti)
3b. chmod 777 /dev/dri/renderD128

Started the VM using Virt-Manager and from a shell being root executed "virt-viewer --attach fedora-testing".
Shell outputs:
(gst-plugin-scanner:9519): GStreamer-WARNING **: Failed to load plugin '/usr/lib64/gstreamer-1.0/libgstnvenc.so': /usr/lib64/gstreamer-1.0/libgstnvenc.so: undefined symbol: cuMemAllocPitch_v2
No provider of glEGLImageTargetTexture2DOES found.  Requires one of:
    GL extension "GL_OES_EGL_image"
[1]    9353 abort (core dumped)  virt-viewer --attach fedora-testing



Version-Release number of selected component:
virt-manager-1.4.3-1.fc26

Additional info:
reporter:       libreport-2.9.1
backtrace_rating: 4
cmdline:        /usr/bin/python2 /usr/share/virt-manager/virt-manager
crash_function: gl_provider_resolver
executable:     /usr/bin/python2.7
journald_cursor: s=ba7570f482594414909ae6d3d79fd29d;i=36c550;b=23a7e2de73fd47feb04ddecca5f245d8;m=83044720;t=55cad2dd67efe;x=524072b24e4a7366
kernel:         4.13.9-200.fc26.x86_64
rootdir:        /
runlevel:       N 5
type:           CCpp
uid:            1000

Comment 1 Michael 2017-10-29 11:03:36 UTC
Created attachment 1344981 [details]
File: backtrace

Comment 2 Michael 2017-10-29 11:03:38 UTC
Created attachment 1344982 [details]
File: cgroup

Comment 3 Michael 2017-10-29 11:03:40 UTC
Created attachment 1344983 [details]
File: core_backtrace

Comment 4 Michael 2017-10-29 11:03:41 UTC
Created attachment 1344984 [details]
File: cpuinfo

Comment 5 Michael 2017-10-29 11:03:43 UTC
Created attachment 1344985 [details]
File: dso_list

Comment 6 Michael 2017-10-29 11:03:45 UTC
Created attachment 1344986 [details]
File: environ

Comment 7 Michael 2017-10-29 11:03:46 UTC
Created attachment 1344987 [details]
File: limits

Comment 8 Michael 2017-10-29 11:03:49 UTC
Created attachment 1344988 [details]
File: maps

Comment 9 Michael 2017-10-29 11:03:50 UTC
Created attachment 1344989 [details]
File: open_fds

Comment 10 Michael 2017-10-29 11:03:52 UTC
Created attachment 1344990 [details]
File: proc_pid_status

Comment 11 Michael 2017-10-29 11:03:53 UTC
Created attachment 1344991 [details]
File: var_log_messages

Comment 12 Cole Robinson 2017-11-07 14:52:08 UTC
The crash is happening inside libepoxy, but maybe spice is doing something wrong. Wouldn't be surprised if this is related to nvidia drivers though

Comment 13 Christophe Fergeau 2017-11-08 13:46:58 UTC
spice-gtk tries to call glEGLImageTargetTexture2DOES(), which libepoxy fails to resolve: "No provider of glEGLImageTargetTexture2DOES found.  Requires one of: GL extension "GL_OES_EGL_image"
When this happens, this triggers an abort() within libepoxy.
I guess this function is not provided by the proprietary driver indeed. No idea if there is any good fallback available when using it.

Comment 14 Michael 2017-11-14 23:08:48 UTC
I tried the akmod-nvidia driver from rpmfusion repository with the same result.

$ dnf info akmod-nvidia |grep Source
Source       : nvidia-kmod-387.22-1.fc26.src.rpm

Comment 15 leigh scott 2017-11-26 08:56:41 UTC
GL_OES_EGL_image is present in the nvidia driver


leigh  ~  es2_info
EGL_VERSION: 1.4
EGL_VENDOR: NVIDIA
EGL_EXTENSIONS:
    EGL_EXT_buffer_age, EGL_EXT_create_context_robustness, 
    EGL_EXT_output_base, EGL_EXT_stream_acquire_mode, 
    EGL_IMG_context_priority, EGL_KHR_config_attribs, 
    EGL_KHR_create_context_no_error, EGL_KHR_create_context, 
    EGL_KHR_display_reference, EGL_KHR_fence_sync, 
    EGL_KHR_get_all_proc_addresses, EGL_KHR_partial_update, 
    EGL_KHR_swap_buffers_with_damage, EGL_KHR_gl_colorspace, 
    EGL_KHR_gl_renderbuffer_image, EGL_KHR_gl_texture_2D_image, 
    EGL_KHR_gl_texture_3D_image, EGL_KHR_gl_texture_cubemap_image, 
    EGL_KHR_image, EGL_KHR_image_base, EGL_KHR_image_pixmap, 
    EGL_KHR_reusable_sync, EGL_KHR_stream, EGL_KHR_stream_consumer_gltexture, 
    EGL_KHR_stream_cross_process_fd, EGL_KHR_stream_fifo, 
    EGL_KHR_stream_producer_eglsurface, EGL_KHR_surfaceless_context, 
    EGL_NV_nvrm_fence_sync, EGL_NV_post_sub_buffer, EGL_NV_stream_metadata, 
    EGL_NV_stream_reset, EGL_NV_stream_sync, 
    EGL_NV_stream_consumer_gltexture_yuv, EGL_NV_stream_attrib, EGL_NV_sync, 
    EGL_NV_system_time, EGL_NV_output_drm_flip_event, 
    EGL_WL_bind_wayland_display, EGL_WL_wayland_eglstream
EGL_CLIENT_APIS: OpenGL_ES OpenGL
GL_VERSION: OpenGL ES 3.2 NVIDIA 387.22
GL_RENDERER: GeForce GTX 660/PCIe/SSE2
GL_EXTENSIONS:
    GL_EXT_base_instance, GL_EXT_blend_func_extended, GL_EXT_blend_minmax, 
    GL_EXT_buffer_storage, GL_EXT_clear_texture, GL_EXT_clip_cull_distance, 
    GL_EXT_color_buffer_float, GL_EXT_color_buffer_half_float, 
    GL_EXT_conservative_depth, GL_EXT_copy_image, GL_EXT_debug_label, 
    GL_EXT_discard_framebuffer, GL_EXT_disjoint_timer_query, 
    GL_EXT_draw_buffers_indexed, GL_EXT_draw_elements_base_vertex, 
    GL_EXT_float_blend, GL_EXT_frag_depth, GL_EXT_geometry_point_size, 
    GL_EXT_geometry_shader, GL_EXT_gpu_shader5, GL_EXT_map_buffer_range, 
    GL_EXT_multi_draw_indirect, GL_EXT_multisample_compatibility, 
    GL_EXT_occlusion_query_boolean, GL_EXT_polygon_offset_clamp, 
    GL_EXT_primitive_bounding_box, GL_EXT_render_snorm, GL_EXT_robustness, 
    GL_EXT_separate_shader_objects, GL_EXT_shader_group_vote, 
    GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix, 
    GL_EXT_shader_io_blocks, GL_EXT_shader_non_constant_global_initializers, 
    GL_EXT_shader_texture_lod, GL_EXT_shadow_samplers, GL_EXT_sparse_texture, 
    GL_EXT_sRGB, GL_EXT_sRGB_write_control, GL_EXT_tessellation_point_size, 
    GL_EXT_tessellation_shader, GL_EXT_texture_border_clamp, 
    GL_EXT_texture_buffer, GL_EXT_texture_compression_bptc, 
    GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_rgtc, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map_array, 
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_format_BGRA8888, 
    GL_EXT_texture_norm16, GL_EXT_texture_rg, GL_EXT_texture_sRGB_R8, 
    GL_EXT_texture_sRGB_decode, GL_EXT_texture_storage, GL_EXT_texture_view, 
    GL_EXT_draw_transform_feedback, GL_EXT_unpack_subimage, 
    GL_EXT_window_rectangles, GL_KHR_context_flush_control, GL_KHR_debug, 
    GL_EXT_memory_object, GL_EXT_memory_object_fd, 
    GL_KHR_parallel_shader_compile, GL_KHR_no_error, 
    GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, GL_EXT_semaphore, 
    GL_EXT_semaphore_fd, GL_NV_bgr, GL_NV_bindless_texture, 
    GL_NV_blend_equation_advanced, GL_NV_conditional_render, 
    GL_NV_copy_buffer, GL_NV_copy_image, GL_NV_draw_buffers, 
    GL_NV_draw_instanced, GL_NV_draw_texture, GL_NV_draw_vulkan_image, 
    GL_NV_EGL_stream_consumer_external, GL_NV_explicit_attrib_location, 
    GL_NV_fbo_color_attachments, GL_NV_framebuffer_blit, 
    GL_NV_framebuffer_multisample, GL_NV_generate_mipmap_sRGB, 
    GL_NV_instanced_arrays, GL_NV_internalformat_sample_query, 
    GL_NV_gpu_shader5, GL_NV_image_formats, GL_NV_occlusion_query_samples, 
    GL_NV_non_square_matrices, GL_NV_pack_subimage, GL_NV_packed_float, 
    GL_NV_packed_float_linear, GL_NV_path_rendering, 
    GL_NV_pixel_buffer_object, GL_NV_polygon_mode, GL_NV_read_buffer, 
    GL_NV_read_depth, GL_NV_read_depth_stencil, GL_NV_read_stencil, 
    GL_NV_shader_noperspective_interpolation, GL_NV_shadow_samplers_array, 
    GL_NV_shadow_samplers_cube, GL_NV_sRGB_formats, GL_NV_texture_array, 
    GL_NV_texture_barrier, GL_NV_texture_border_clamp, 
    GL_NV_texture_compression_latc, GL_NV_texture_compression_s3tc, 
    GL_NV_texture_compression_s3tc_update, GL_NV_timer_query, 
    GL_NV_viewport_array, GL_KHR_blend_equation_advanced, 
    GL_OES_compressed_ETC1_RGB8_texture, 
    GL_EXT_compressed_ETC1_RGB8_sub_texture, GL_OES_depth24, GL_OES_depth32, 
    GL_OES_depth_texture, GL_OES_depth_texture_cube_map, GL_OES_copy_image, 
    GL_OES_draw_buffers_indexed, GL_OES_draw_elements_base_vertex, 
    GL_OES_texture_border_clamp, GL_OES_tessellation_point_size, 
    GL_OES_tessellation_shader, GL_OES_texture_buffer, 
    GL_OES_geometry_point_size, GL_OES_geometry_shader, GL_OES_gpu_shader5, 
    GL_OES_shader_io_blocks, GL_OES_texture_view, 
    GL_OES_primitive_bounding_box, GL_OES_EGL_image, 
    GL_OES_EGL_image_external, GL_OES_EGL_image_external_essl3, 
    GL_OES_EGL_sync, GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, 
    GL_OES_get_program_binary, GL_OES_mapbuffer, GL_OES_packed_depth_stencil, 
    GL_OES_rgb8_rgba8, GL_OES_sample_shading, GL_OES_sample_variables, 
    GL_OES_shader_image_atomic, GL_OES_shader_multisample_interpolation, 
    GL_OES_standard_derivatives, GL_OES_surfaceless_context, 
    GL_OES_texture_cube_map_array, GL_OES_texture_npot, GL_OES_texture_float, 
    GL_OES_texture_float_linear, GL_OES_texture_half_float, 
    GL_OES_texture_half_float_linear, GL_OES_texture_stencil8, 
    GL_OES_texture_storage_multisample_2d_array, GL_OES_vertex_array_object, 
    GL_OES_vertex_half_float, GL_OES_viewport_array, 
    GL_ANDROID_extension_pack_es31a
 leigh  ~ 

Comment 16 Marc-Andre Lureau 2018-02-25 22:25:30 UTC
looks like a dup

*** This bug has been marked as a duplicate of bug 1496766 ***


Note You need to log in before you can comment on or make changes to this bug.