Bug 104216

Summary: Firefox quirks (black and/or white squares)
Product: Mesa Reporter: Germano Massullo <germano.massullo>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTOURBUG QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium CC: gabriele.svelto, mirh, vedran
Version: 17.3   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: screenshot 1
screenshot 2
screenshot 3
LIBGL_DEBUG=verbose firefox
Xorg.0.log
dnf output when trying to downgrade mesa
lsof on Firefox

Description Germano Massullo 2017-12-11 23:04:53 UTC
Created attachment 136090 [details]
screenshot 1

Firefox has several quirks showing black and/or white squares. The bug is actually reproducible, but not in a deterministic way. I mean, if I will reboot the system or restart Firefox, I am not sure when it will happen again.

This bugreport is probably a duplicated of
https://bugs.freedesktop.org/show_bug.cgi?id=103699

but the important thing is that the affected VGA is an AMD RX480 (AMDGPU driver) rather than an Intel.
I decided to open a separate bugreport once #radeon fredrikh user noticed that the patch
https://lists.x.org/archives/xorg-devel/2017-November/055344.html
that should fix
https://bugs.freedesktop.org/show_bug.cgi?id=103699
is for Intel only.

OS: Fedora 27
xorg-x11-server-Xorg-1.19.5-1.fc27.x86_64
kernel 4.13.16-302.fc27.x86_64
Mesa 17.2.4

# lspci -k | grep -iA 3 vga
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/580] (rev c7)
        Subsystem: XFX Pine Group Inc. Radeon RX 480
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu

Attached screenshots from my Firefox bugreport https://bugzilla.mozilla.org/show_bug.cgi?id=1421353
Comment 1 Germano Massullo 2017-12-11 23:05:03 UTC
Created attachment 136091 [details]
screenshot 2
Comment 2 Germano Massullo 2017-12-11 23:05:16 UTC
Created attachment 136092 [details]
screenshot 3
Comment 3 Michel Dänzer 2017-12-12 10:57:57 UTC
Unless this doesn't happen with the modesetting driver, it's more likely a Mesa issue than a Xorg driver one.
Comment 4 Germano Massullo 2017-12-12 11:08:02 UTC
(In reply to Michel Dänzer from comment #3)
> Unless this doesn't happen with the modesetting driver, it's more likely a
> Mesa issue than a Xorg driver one.

dmesg says that kernel modesetting is enabled


# dmesg | grep amdgpu
[    1.841902] [drm] amdgpu kernel modesetting enabled.
[    1.878816] amdgpu 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
[    1.879313] amdgpu 0000:01:00.0: VRAM: 8192M 0x0000000000000000 - 0x00000001FFFFFFFF (8192M used)
[    1.879315] amdgpu 0000:01:00.0: GTT: 8192M 0x0000000200000000 - 0x00000003FFFFFFFF
[    1.879657] [drm] amdgpu: 8192M of VRAM memory ready
[    1.879658] [drm] amdgpu: 8192M of GTT memory ready.
[    1.880899] amdgpu 0000:01:00.0: amdgpu: using MSI.
[    1.880915] [drm] amdgpu: irq initialized.
[    2.037947] amdgpu: [powerplay] amdgpu: powerplay sw initialized
[    2.038628] amdgpu 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000200000008, cpu addr 0xffff8f75269ff008
[    2.038678] amdgpu 0000:01:00.0: fence driver on ring 1 use gpu addr 0x0000000200000018, cpu addr 0xffff8f75269ff018
[    2.038712] amdgpu 0000:01:00.0: fence driver on ring 2 use gpu addr 0x0000000200000028, cpu addr 0xffff8f75269ff028
[    2.038751] amdgpu 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000200000038, cpu addr 0xffff8f75269ff038
[    2.038785] amdgpu 0000:01:00.0: fence driver on ring 4 use gpu addr 0x0000000200000048, cpu addr 0xffff8f75269ff048
[    2.038821] amdgpu 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000200000058, cpu addr 0xffff8f75269ff058
[    2.038855] amdgpu 0000:01:00.0: fence driver on ring 6 use gpu addr 0x0000000200000068, cpu addr 0xffff8f75269ff068
[    2.038892] amdgpu 0000:01:00.0: fence driver on ring 7 use gpu addr 0x0000000200000078, cpu addr 0xffff8f75269ff078
[    2.038926] amdgpu 0000:01:00.0: fence driver on ring 8 use gpu addr 0x0000000200000088, cpu addr 0xffff8f75269ff088
[    2.038946] amdgpu 0000:01:00.0: fence driver on ring 9 use gpu addr 0x000000020000009c, cpu addr 0xffff8f75269ff09c
[    2.039097] amdgpu 0000:01:00.0: fence driver on ring 10 use gpu addr 0x00000002000000ac, cpu addr 0xffff8f75269ff0ac
[    2.039139] amdgpu 0000:01:00.0: fence driver on ring 11 use gpu addr 0x00000002000000bc, cpu addr 0xffff8f75269ff0bc
[    2.039657] amdgpu 0000:01:00.0: fence driver on ring 12 use gpu addr 0x000000000122d420, cpu addr 0xffffbab80285a420
[    2.039830] amdgpu 0000:01:00.0: fence driver on ring 13 use gpu addr 0x00000002000000dc, cpu addr 0xffff8f75269ff0dc
[    2.039864] amdgpu 0000:01:00.0: fence driver on ring 14 use gpu addr 0x00000002000000ec, cpu addr 0xffff8f75269ff0ec
[    2.079285] amdgpu: [powerplay] [AVFS] Something is broken. See log!
[    2.081178] amdgpu: [powerplay] Can't find requested voltage id in vdd_dep_on_sclk table!
[    2.907923] fbcon: amdgpudrmfb (fb0) is primary device
[    3.211243] amdgpu 0000:01:00.0: fb0: amdgpudrmfb frame buffer device
[    3.219422] [drm] Initialized amdgpu 3.18.0 20150101 for 0000:01:00.0 on minor 0


# cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-4.13.16-302.fc27.x86_64 root=UUID=*removed* ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True KEYTABLE=it LANG=en_US.UTF-8 rhgb quiet

# lsmod 
Module                  Size  Used by
bnep                   20480  2
xfs                  1187840  0
btrfs                1101824  0
xor                    24576  1 btrfs
raid6_pq              118784  1 btrfs
vfat                   20480  0
fat                    65536  1 vfat
bluetooth             516096  7 bnep
ecdh_generic           24576  1 bluetooth
rfkill                 28672  4 bluetooth
fuse                  102400  3
dm_crypt               36864  2
uas                    24576  0
usb_storage            69632  1 uas
xt_CHECKSUM            16384  1
ipt_MASQUERADE         16384  3
nf_nat_masquerade_ipv4    16384  1 ipt_MASQUERADE
tun                    32768  1
ip6t_rpfilter          16384  1
ip6t_REJECT            16384  2
nf_reject_ipv6         16384  1 ip6t_REJECT
xt_conntrack           16384  40
ip_set                 36864  0
nfnetlink              16384  1 ip_set
ebtable_nat            16384  1
ebtable_broute         16384  1
bridge                143360  1 ebtable_broute
stp                    16384  1 bridge
llc                    16384  2 bridge,stp
ip6table_nat           16384  1
nf_conntrack_ipv6      20480  21
nf_defrag_ipv6         36864  1 nf_conntrack_ipv6
nf_nat_ipv6            16384  1 ip6table_nat
ip6table_mangle        16384  1
ip6table_raw           16384  1
ip6table_security      16384  1
iptable_nat            16384  1
nf_conntrack_ipv4      16384  24
nf_defrag_ipv4         16384  1 nf_conntrack_ipv4
nf_nat_ipv4            16384  1 iptable_nat
nf_nat                 28672  3 nf_nat_ipv6,nf_nat_masquerade_ipv4,nf_nat_ipv4
nf_conntrack          131072  8 nf_conntrack_ipv6,nf_conntrack_ipv4,ipt_MASQUERADE,nf_nat_ipv6,nf_nat_masquerade_ipv4,xt_conntrack,nf_nat_ipv4,nf_nat
libcrc32c              16384  3 nf_conntrack,xfs,nf_nat
iptable_mangle         16384  1
iptable_raw            16384  1
iptable_security       16384  1
ebtable_filter         16384  1
ebtables               32768  3 ebtable_filter,ebtable_nat,ebtable_broute
ip6table_filter        16384  1
ip6_tables             28672  5 ip6table_mangle,ip6table_filter,ip6table_security,ip6table_raw,ip6table_nat
joydev                 20480  0
edac_mce_amd           28672  0
kvm_amd              2179072  0
kvm                   585728  1 kvm_amd
wmi_bmof               16384  0
ppdev                  20480  0
irqbypass              16384  1 kvm
k10temp                16384  0
snd_hda_codec_hdmi     49152  1
snd_virtuoso           49152  4
snd_hda_intel          40960  2
snd_oxygen_lib         40960  1 snd_virtuoso
snd_mpu401_uart        16384  1 snd_oxygen_lib
snd_hda_codec         126976  2 snd_hda_intel,snd_hda_codec_hdmi
snd_rawmidi            32768  1 snd_mpu401_uart
snd_hda_core           81920  3 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi
snd_hwdep              20480  1 snd_hda_codec
snd_seq                65536  0
snd_seq_device         16384  2 snd_seq,snd_rawmidi
snd_pcm                98304  6 snd_oxygen_lib,snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hda_codec_hdmi
snd_timer              32768  2 snd_seq,snd_pcm
snd                    81920  23 snd_oxygen_lib,snd_hda_intel,snd_hwdep,snd_seq,snd_hda_codec,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_hda_codec_hdmi,snd_seq_device,snd_virtuoso,snd_pcm
soundcore              16384  1 snd
sp5100_tco             16384  0
wmi                    24576  1 wmi_bmof
shpchp                 36864  0
parport_pc             28672  0
parport                49152  2 parport_pc,ppdev
i2c_piix4              24576  0
acpi_cpufreq           20480  0
binfmt_misc            20480  1
amdkfd                184320  1
amd_iommu_v2           20480  1 amdkfd
amdgpu               1810432  117
serio_raw              16384  0
firewire_ohci          40960  0
firewire_core          65536  1 firewire_ohci
i2c_algo_bit           16384  1 amdgpu
crc_itu_t              16384  1 firewire_core
drm_kms_helper        159744  1 amdgpu
ttm                    94208  1 amdgpu
ata_generic            16384  0
pata_acpi              16384  0
drm                   352256  33 amdgpu,ttm,drm_kms_helper
r8169                  81920  0
pata_jmicron           16384  0
mii                    16384  1 r8169



# glxinfo
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample, 
    GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_import_context, GLX_EXT_libglvnd, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, 
    GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGIS_multisample, 
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, 
    GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile, 
    GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, 
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
    GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
    GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, 
    GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile, 
    GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float, 
    GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, 
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, 
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
    GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, 
    GLX_SGI_swap_control, GLX_SGI_video_sync
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: X.Org (0x1002)
    Device: AMD Radeon (TM) RX 480 Graphics (AMD POLARIS10 / DRM 3.18.0 / 4.13.16-302.fc27.x86_64, LLVM 4.0.1) (0x67df)
    Version: 17.2.4
    Accelerated: yes
    Video memory: 8165MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 8165 MB, largest block: 8165 MB
    VBO free aux. memory - total: 8189 MB, largest block: 8189 MB
    Texture free memory - total: 8165 MB, largest block: 8165 MB
    Texture free aux. memory - total: 8189 MB, largest block: 8189 MB
    Renderbuffer free memory - total: 8165 MB, largest block: 8165 MB
    Renderbuffer free aux. memory - total: 8189 MB, largest block: 8189 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 8165 MB
    Total available memory: 16355 MB
    Currently available dedicated video memory: 8165 MB
OpenGL vendor string: X.Org
OpenGL renderer string: AMD Radeon (TM) RX 480 Graphics (AMD POLARIS10 / DRM 3.18.0 / 4.13.16-302.fc27.x86_64, LLVM 4.0.1)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.2.4
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
    GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend, 
    GL_AMD_performance_monitor, GL_AMD_pinned_memory, 
    GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_stencil_export, 
    GL_AMD_shader_trinary_minmax, GL_AMD_vertex_shader_layer, 
    GL_AMD_vertex_shader_viewport_index, GL_ANGLE_texture_compression_dxt3, 
    GL_ANGLE_texture_compression_dxt5, GL_ARB_ES2_compatibility, 
    GL_ARB_ES3_1_compatibility, GL_ARB_ES3_2_compatibility, 
    GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance, 
    GL_ARB_bindless_texture, GL_ARB_blend_func_extended, 
    GL_ARB_buffer_storage, GL_ARB_clear_buffer_object, GL_ARB_clear_texture, 
    GL_ARB_clip_control, GL_ARB_color_buffer_float, 
    GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader, 
    GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, 
    GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image, 
    GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float, 
    GL_ARB_depth_clamp, GL_ARB_derivative_control, GL_ARB_direct_state_access, 
    GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, 
    GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, 
    GL_ARB_draw_instanced, GL_ARB_enhanced_layouts, 
    GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, 
    GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport, 
    GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments, 
    GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, 
    GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, 
    GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64, 
    GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, 
    GL_ARB_indirect_parameters, GL_ARB_instanced_arrays, 
    GL_ARB_internalformat_query, GL_ARB_internalformat_query2, 
    GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, 
    GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect, 
    GL_ARB_occlusion_query2, GL_ARB_pipeline_statistics_query, 
    GL_ARB_pixel_buffer_object, GL_ARB_point_sprite, 
    GL_ARB_program_interface_query, GL_ARB_provoking_vertex, 
    GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, 
    GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects, 
    GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, 
    GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops, 
    GL_ARB_shader_atomic_counters, GL_ARB_shader_bit_encoding, 
    GL_ARB_shader_clock, GL_ARB_shader_draw_parameters, 
    GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store, 
    GL_ARB_shader_image_size, GL_ARB_shader_objects, GL_ARB_shader_precision, 
    GL_ARB_shader_stencil_export, GL_ARB_shader_storage_buffer_object, 
    GL_ARB_shader_subroutine, GL_ARB_shader_texture_image_samples, 
    GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array, 
    GL_ARB_shading_language_420pack, GL_ARB_shading_language_packing, 
    GL_ARB_sparse_buffer, GL_ARB_stencil_texturing, GL_ARB_sync, 
    GL_ARB_tessellation_shader, GL_ARB_texture_barrier, 
    GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, 
    GL_ARB_texture_buffer_range, GL_ARB_texture_compression_bptc, 
    GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map_array, 
    GL_ARB_texture_float, GL_ARB_texture_gather, 
    GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_multisample, 
    GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, 
    GL_ARB_texture_query_lod, GL_ARB_texture_rectangle, GL_ARB_texture_rg, 
    GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8, 
    GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, 
    GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, 
    GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, 
    GL_ARB_transform_feedback_instanced, GL_ARB_uniform_buffer_object, 
    GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, 
    GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_binding, 
    GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, 
    GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array, 
    GL_ATI_blend_equation_separate, GL_ATI_meminfo, GL_ATI_texture_float, 
    GL_ATI_texture_mirror_once, GL_EXT_abgr, GL_EXT_blend_equation_separate, 
    GL_EXT_depth_bounds_test, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, 
    GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, 
    GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_sRGB, 
    GL_EXT_packed_depth_stencil, GL_EXT_packed_float, 
    GL_EXT_pixel_buffer_object, GL_EXT_polygon_offset_clamp, 
    GL_EXT_provoking_vertex, GL_EXT_shader_integer_mix, GL_EXT_texture_array, 
    GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_rgtc, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_integer, GL_EXT_texture_mirror_clamp, GL_EXT_texture_sRGB, 
    GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent, 
    GL_EXT_texture_snorm, GL_EXT_texture_swizzle, GL_EXT_timer_query, 
    GL_EXT_transform_feedback, GL_EXT_vertex_array_bgra, 
    GL_IBM_multimode_draw_arrays, GL_KHR_context_flush_control, GL_KHR_debug, 
    GL_KHR_no_error, GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, 
    GL_MESA_pack_invert, GL_MESA_shader_integer_functions, 
    GL_MESA_texture_signed_rgba, GL_NVX_gpu_memory_info, 
    GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_packed_depth_stencil, 
    GL_NV_texture_barrier, GL_NV_vdpau_interop, GL_OES_EGL_image, GL_S3_s3tc

OpenGL version string: 3.0 Mesa 17.2.4
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
    GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend, 
    GL_AMD_performance_monitor, GL_AMD_pinned_memory, 
    GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_stencil_export, 
    GL_AMD_shader_trinary_minmax, GL_ANGLE_texture_compression_dxt3, 
    GL_ANGLE_texture_compression_dxt5, GL_APPLE_packed_pixels, 
    GL_ARB_ES2_compatibility, GL_ARB_ES3_compatibility, 
    GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture, 
    GL_ARB_blend_func_extended, GL_ARB_buffer_storage, 
    GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, 
    GL_ARB_color_buffer_float, GL_ARB_compressed_texture_pixel_storage, 
    GL_ARB_compute_shader, GL_ARB_compute_variable_group_size, 
    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, 
    GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_cull_distance, 
    GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, 
    GL_ARB_depth_texture, GL_ARB_derivative_control, GL_ARB_draw_buffers, 
    GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, 
    GL_ARB_draw_instanced, GL_ARB_explicit_attrib_location, 
    GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions, 
    GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, 
    GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments, 
    GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, 
    GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, 
    GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, 
    GL_ARB_instanced_arrays, GL_ARB_internalformat_query, 
    GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata, 
    GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_multi_bind, 
    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, 
    GL_ARB_occlusion_query2, GL_ARB_pipeline_statistics_query, 
    GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, 
    GL_ARB_program_interface_query, GL_ARB_provoking_vertex, 
    GL_ARB_query_buffer_object, GL_ARB_robust_buffer_access_behavior, 
    GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects, 
    GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, 
    GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops, 
    GL_ARB_shader_atomic_counters, GL_ARB_shader_bit_encoding, 
    GL_ARB_shader_clock, GL_ARB_shader_draw_parameters, 
    GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store, 
    GL_ARB_shader_image_size, GL_ARB_shader_objects, GL_ARB_shader_precision, 
    GL_ARB_shader_stencil_export, GL_ARB_shader_storage_buffer_object, 
    GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod, 
    GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, 
    GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_sparse_buffer, 
    GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_texture_barrier, 
    GL_ARB_texture_border_clamp, GL_ARB_texture_compression, 
    GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, 
    GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, 
    GL_ARB_texture_env_add, GL_ARB_texture_env_combine, 
    GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, 
    GL_ARB_texture_float, GL_ARB_texture_gather, 
    GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, 
    GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, 
    GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, 
    GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, 
    GL_ARB_texture_stencil8, GL_ARB_texture_storage, 
    GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, 
    GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2, 
    GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, 
    GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, 
    GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, 
    GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object, 
    GL_ARB_vertex_program, GL_ARB_vertex_shader, 
    GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, 
    GL_ARB_window_pos, GL_ATI_blend_equation_separate, GL_ATI_draw_buffers, 
    GL_ATI_fragment_shader, GL_ATI_meminfo, GL_ATI_separate_stencil, 
    GL_ATI_texture_compression_3dc, GL_ATI_texture_env_combine3, 
    GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_EXT_abgr, 
    GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate, 
    GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract, 
    GL_EXT_compiled_vertex_array, GL_EXT_copy_texture, 
    GL_EXT_depth_bounds_test, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, 
    GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, 
    GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled, 
    GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, 
    GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays, 
    GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels, 
    GL_EXT_pixel_buffer_object, GL_EXT_point_parameters, 
    GL_EXT_polygon_offset, GL_EXT_polygon_offset_clamp, 
    GL_EXT_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, 
    GL_EXT_separate_specular_color, GL_EXT_shader_integer_mix, 
    GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, 
    GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, 
    GL_EXT_texture_array, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, 
    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, 
    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, 
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer, 
    GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, 
    GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, 
    GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent, 
    GL_EXT_texture_snorm, GL_EXT_texture_swizzle, GL_EXT_timer_query, 
    GL_EXT_transform_feedback, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, 
    GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, 
    GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, 
    GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error, 
    GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, 
    GL_MESA_pack_invert, GL_MESA_shader_integer_functions, 
    GL_MESA_texture_signed_rgba, GL_MESA_window_pos, GL_NVX_gpu_memory_info, 
    GL_NV_blend_square, GL_NV_conditional_render, GL_NV_depth_clamp, 
    GL_NV_fog_distance, GL_NV_light_max_exponent, GL_NV_packed_depth_stencil, 
    GL_NV_primitive_restart, GL_NV_texgen_reflection, GL_NV_texture_barrier, 
    GL_NV_texture_env_combine4, GL_NV_texture_rectangle, GL_NV_vdpau_interop, 
    GL_OES_EGL_image, GL_OES_read_format, GL_S3_s3tc, 
    GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, 
    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays

OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.2.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
    GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5, 
    GL_APPLE_texture_max_level, GL_EXT_base_instance, 
    GL_EXT_blend_func_extended, GL_EXT_blend_minmax, GL_EXT_buffer_storage, 
    GL_EXT_clip_cull_distance, GL_EXT_color_buffer_float, 
    GL_EXT_compressed_ETC1_RGB8_sub_texture, GL_EXT_copy_image, 
    GL_EXT_discard_framebuffer, GL_EXT_draw_buffers, 
    GL_EXT_draw_buffers_indexed, GL_EXT_draw_elements_base_vertex, 
    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_arrays, 
    GL_EXT_polygon_offset_clamp, GL_EXT_primitive_bounding_box, 
    GL_EXT_read_format_bgra, GL_EXT_robustness, 
    GL_EXT_separate_shader_objects, GL_EXT_shader_integer_mix, 
    GL_EXT_shader_io_blocks, GL_EXT_tessellation_point_size, 
    GL_EXT_tessellation_shader, GL_EXT_texture_border_clamp, 
    GL_EXT_texture_buffer, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_cube_map_array, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_format_BGRA8888, GL_EXT_texture_rg, 
    GL_EXT_texture_sRGB_decode, GL_EXT_texture_type_2_10_10_10_REV, 
    GL_EXT_unpack_subimage, GL_KHR_context_flush_control, GL_KHR_debug, 
    GL_KHR_no_error, GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, 
    GL_MESA_shader_integer_functions, GL_NV_draw_buffers, 
    GL_NV_fbo_color_attachments, GL_NV_image_formats, GL_NV_read_buffer, 
    GL_NV_read_depth, GL_NV_read_depth_stencil, GL_NV_read_stencil, 
    GL_OES_EGL_image, GL_OES_EGL_image_external, GL_OES_EGL_sync, 
    GL_OES_compressed_ETC1_RGB8_texture, GL_OES_copy_image, GL_OES_depth24, 
    GL_OES_depth_texture, GL_OES_depth_texture_cube_map, 
    GL_OES_draw_buffers_indexed, GL_OES_draw_elements_base_vertex, 
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, 
    GL_OES_geometry_point_size, GL_OES_geometry_shader, 
    GL_OES_get_program_binary, GL_OES_gpu_shader5, GL_OES_mapbuffer, 
    GL_OES_packed_depth_stencil, GL_OES_primitive_bounding_box, 
    GL_OES_rgb8_rgba8, GL_OES_sample_shading, GL_OES_sample_variables, 
    GL_OES_shader_image_atomic, GL_OES_shader_io_blocks, 
    GL_OES_shader_multisample_interpolation, GL_OES_standard_derivatives, 
    GL_OES_stencil8, GL_OES_surfaceless_context, 
    GL_OES_tessellation_point_size, GL_OES_tessellation_shader, 
    GL_OES_texture_3D, GL_OES_texture_border_clamp, GL_OES_texture_buffer, 
    GL_OES_texture_cube_map_array, GL_OES_texture_float, 
    GL_OES_texture_float_linear, GL_OES_texture_half_float, 
    GL_OES_texture_half_float_linear, GL_OES_texture_npot, 
    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
Comment 5 Marek Olšák 2018-01-04 00:40:38 UTC
The patch is not for Intel only. It's for all Mesa drivers.
Comment 6 Marek Olšák 2018-01-04 00:41:00 UTC
Have you tested the patch you linked?
Comment 7 Germano Massullo 2018-01-06 00:09:38 UTC
(In reply to Marek Olšák from comment #6)
> Have you tested the patch you linked?

Not yet
Comment 8 Germano Massullo 2018-01-09 15:33:53 UTC
(In reply to Marek Olšák from comment #6)
> Have you tested the patch you linked?

I applied the patch into a personal Fedora Copr repo
https://copr.fedorainfracloud.org/coprs/germano/xorg_sRGB_patch_test/
and updated the affected system, but unfortunately the patch has no effect on this bug I am experiencing
Comment 9 Germano Massullo 2018-01-19 14:35:41 UTC
Created attachment 136846 [details]
LIBGL_DEBUG=verbose firefox
Comment 10 Germano Massullo 2018-01-19 14:57:35 UTC
Created attachment 136847 [details]
Xorg.0.log
Comment 11 Germano Massullo 2018-01-19 15:24:04 UTC
Disabling Firefox hardware acceleration seems to work as bug workaround
https://support.mozilla.org/en-US/kb/upgrade-graphics-drivers-use-hardware-acceleration#w_turning-off-hardware-acceleration
Comment 12 Germano Massullo 2018-02-05 11:46:39 UTC
Is there anything else I can do to retrieve useful informations?
Thank you
Comment 13 Emil Velikov 2018-02-05 16:11:43 UTC
(In reply to Germano Massullo from comment #12)
> Is there anything else I can do to retrieve useful informations?
> Thank you


You can track (git bisect) which version of Mesa, ideally which commit, caused the regression. You will need to rebuild mesa a few times, so ensure you use the exact same build options as in your distro packaging.
Comment 14 Germano Massullo 2018-02-05 18:07:30 UTC
(In reply to Emil Velikov from comment #13)
> (In reply to Germano Massullo from comment #12)
> > Is there anything else I can do to retrieve useful informations?
> > Thank you
> 
> 
> You can track (git bisect) which version of Mesa, ideally which commit,
> caused the regression. You will need to rebuild mesa a few times, so ensure
> you use the exact same build options as in your distro packaging.

Ok I will try and let you know as soon as possible
Comment 15 Germano Massullo 2018-02-06 23:45:50 UTC
I am trying to build Mesa 17.0.5 but I had no success, even passing the older llvm to the old compiler. I had not the time to go deeper and check what happened to the build
https://copr.fedorainfracloud.org/coprs/germano/mesa_test_regression/builds/

but meanwhile I manage to record a video of the bug https://youtu.be/Tt44jJ1KDdI
Comment 16 Michel Dänzer 2018-02-07 08:10:42 UTC
(In reply to Germano Massullo from comment #15)
> https://copr.fedorainfracloud.org/coprs/germano/mesa_test_regression/builds/

/usr/bin/llvm-config is from LLVM 5.0.1, which isn't supported by Mesa 17.0. You'd have to make sure it picks up llvm-config from LLVM 4.0, either via the --with-llvm-prefix parameter to Mesa's configure or via $PATH.
Comment 17 Germano Massullo 2018-02-27 11:12:24 UTC
Created attachment 137642 [details]
dnf output when trying to downgrade mesa

I definitely cannot downgrade Mesa to 17.0.5 because ABI change it will trigger the removal of the entire KDE Plasma plus other stuff

Fedora copr repo where I compiled Mesa 17.0.5
https://copr.fedorainfracloud.org/coprs/germano/mesa_test_regression/
Comment 18 Germano Massullo 2018-02-27 11:13:25 UTC
Anyway, I confirm the bug on 17.3.5 too
Comment 19 Germano Massullo 2018-02-27 12:01:32 UTC
Concerning 17.0, on second half of March when I will have some free time, I will try a local build, so I should not experience all of those ABI breaks
Comment 20 Germano Massullo 2018-03-13 10:50:26 UTC
As suggested in message
https://lists.freedesktop.org/archives/mesa-dev/2018-March/187773.html

I tested various Mesa versions with command

$ LD_LIBRARY_PATH='foo/mesa_n_version/usr/$LIB/' LIBGL_DRIVERS_PATH='foo/mesa_n_version/usr/$LIB/dri' firefox


17.0.5
which packages have been made in build
https://copr.fedorainfracloud.org/coprs/germano/mesa_test_regression/build/720909/


18.0.0
which packages have been made in builds
https://copr.fedorainfracloud.org/coprs/germano/mesa_18/build/720272/
https://copr.fedorainfracloud.org/coprs/germano/mesa_18/build/720216/

I experienced the problem with both of them.
Now I will proceed in testing Mesa 16.x
Comment 21 Michel Dänzer 2018-03-13 11:05:14 UTC
(In reply to Germano Massullo from comment #20)
> I experienced the problem with both of them.

Did you check in Firefox about:support (look for "Driver Version") that it was actually using your self-built Mesa?


BTW, I notice a lot of messages like

 [GFX1-]: ClientLayerManager::BeginTransaction with IPC channel down. GPU process may have died.

in the Firefox output you attached. Have you contacted Firefox folks about whether those are harmless, or how to get more information about them?
Comment 22 Germano Massullo 2018-03-13 17:37:43 UTC
(In reply to Michel Dänzer from comment #21)
> (In reply to Germano Massullo from comment #20)
> > I experienced the problem with both of them.
> 
> Did you check in Firefox about:support (look for "Driver Version") that it
> was actually using your self-built Mesa?
> 
> 
> BTW, I notice a lot of messages like
> 
>  [GFX1-]: ClientLayerManager::BeginTransaction with IPC channel down. GPU
> process may have died.
> 
> in the Firefox output you attached. Have you contacted Firefox folks about
> whether those are harmless, or how to get more information about them?


You are right. There were a ton of such messages, plus other messages concerning load failures of radeonsi, and other libraries.
about:support contained so many errors, that I was surprised I even had the opportunity to use Firefox for many days.

Since the libraries were available in the LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH, I tried to run

$ LD_LIBRARY_PATH='foo/mesa_n_version/usr/lib64/' LIBGL_DRIVERS_PATH='foo/mesa_n_version/usr/lib64/dri' firefox

instead of

$ LD_LIBRARY_PATH='foo/mesa_n_version/usr/$LIB/' LIBGL_DRIVERS_PATH='foo/mesa_n_version/usr/$LIB/dri' firefox

and I got no errors except for those few lines.

============
(/usr/lib64/firefox/firefox:8582): dconf-WARNING **: Unable to open /var/lib/flatpak/exports/share/dconf/profile/user: Permission denied
ATTENTION: default value of option force_s3tc_enable overridden by environment.
WebGL(0x7f9488ce7800)::ForceLoseContext
WebGL(0x7f945e1b8000)::ForceLoseContext
[Child 8509, MediaPlayback #5] WARNING: Decoder=7fa5623cf400 state=DECODING_METADATA Decode metadata failed, shutting down decoder: file /builddir/build/BUILD/firefox-58.0.2/dom/media/MediaDecoderStateMachine.cpp, line 372
[Child 8509, MediaPlayback #5] WARNING: Decoder=7fa5623cf400 Decode error: NS_ERROR_DOM_MEDIA_METADATA_ERR (0x806e0006): file /builddir/build/BUILD/firefox-58.0.2/dom/media/MediaDecoderStateMachine.cpp, line 3365
============

about:support is fine too.

I don't know why $LIB caused such problems to Firefox in Fedora 27.
I am actually testing again both Mesa 17.0.5 and 18.0.0
Comment 23 Germano Massullo 2018-04-09 22:05:59 UTC
Trying to get some answers from Mozilla developers

https://bugzilla.mozilla.org/show_bug.cgi?id=1421353#c17

https://bugzilla.mozilla.org/show_bug.cgi?id=1421353#c18
Comment 24 Germano Massullo 2018-04-11 15:50:33 UTC
Just got a burst of very interesting comments in Firefox bugreport
from
https://bugzilla.mozilla.org/show_bug.cgi?id=1421353#c19
to comment number 21
Comment 25 Germano Massullo 2018-04-12 10:24:51 UTC
Some very good news
https://bugzilla.mozilla.org/show_bug.cgi?id=1421353#c22
Comment 26 Michel Dänzer 2018-04-12 10:41:59 UTC
The question remains where all the file descriptors are coming from. Maybe there's a leak somewhere.

FWIW, I've never noticed such issues with the default limit of 1024. My main firefox process (which has been running for days, with lots of activity in a large number of tabs) currently has 222 open file descriptors, the helper processes less than 60 each.
Comment 27 Germano Massullo 2018-04-12 12:50:36 UTC
Created attachment 138784 [details]
lsof on Firefox

(In reply to Michel Dänzer from comment #26)
> FWIW, I've never noticed such issues with the default limit of 1024. My main
> firefox process (which has been running for days, with lots of activity in a
> large number of tabs) currently has 222 open file descriptors, the helper
> processes less than 60 each.

I attach output of lsof runned against Firefox PIDs (even if it does not describe exactly Firefox file descriptors).
If you have any suggestion about retrieving useful infos about file descriptors used by Firefox, please let me know
Comment 28 Michel Dänzer 2018-04-12 14:21:14 UTC
PID 22401 has 781 /dev/shm/org.chromium.* files open. This looks like a Firefox issue.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.