Bug 2273497 - snapshot crashes on launch or after taking a picture, console error "thread 'main' has overflowed its stack", backtrace is 4000+ frames and inc "Cannot access memory at address 0xffffffffffffffff" (Logitech C920 camera)
Summary: snapshot crashes on launch or after taking a picture, console error "thread '...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gtk4
Version: 40
Hardware: x86_64
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: GNOME SIG Unassigned
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedBlocker
Depends On:
Blocks: F40FinalBlocker
TreeView+ depends on / blocked
 
Reported: 2024-04-04 19:02 UTC by Adam Williamson
Modified: 2024-04-10 03:12 UTC (History)
12 users (show)

Fixed In Version: gtk4-4.14.2-2.fc40
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2024-04-10 03:12:56 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
GNOME Gitlab GNOME gtk issues 6610 0 None opened Infinite recursion between gsk_gpu_node_processor_create_offscreen() and gsk_gpu_node_processor_add_texture_scale_node() 2024-04-04 20:54:33 UTC

Description Adam Williamson 2024-04-04 19:02:29 UTC
In testing https://bodhi.fedoraproject.org/updates/FEDORA-2024-a18f8e83b4 - snapshot-46.1-1.fc40 - here, I found that it always crashes either on startup or after the first time I take a picture. On the console, I see:

thread 'main' has overflowed its stack
fatal runtime error: stack overflow
Aborted (core dumped)


the backtrace is *huge* - over 4000 frames! The first few are:

===

#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
        tid = <optimized out>
        ret = 0
        pd = <optimized out>
        old_mask = {__val = {0}}
        ret = <optimized out>
#1  0x00007f0a344ff1b3 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:78
No locals.
#2  0x00007f0a344a765e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#3  0x00007f0a3448f902 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20}, sa_mask = {__val = {94463558144092, 139681827353280, 0, 0, 0, 0, 139681827353168, 94463560153024, 32, 3, 139681827353176, 2, 140722073450000, 139681827353232, 0, 140722073449776}}, sa_flags = 47778864, sa_restorer = 0x7f0a35b37290}
#4  0x000055ea02d90d97 in std::sys::pal::unix::abort_internal () at library/std/src/sys/pal/unix/mod.rs:372
No locals.
#5  0x000055ea02d91016 in std::sys::pal::unix::stack_overflow::imp::signal_handler (signum=<optimized out>, info=<optimized out>, _data=<optimized out>) at library/std/src/sys/pal/unix/stack_overflow.rs:97
        addr = <optimized out>
        guard = <optimized out>
#6  <signal handler called>
No locals.
#7  __find_specmb (format=0x7f0a1b0f5964 "glTexImage%dD") at /builddir/build/BUILD/glibc-2.39/stdio-common/printf-parse.h:82
No locals.
#8  __printf_buffer (buf=buf@entry=0x7ffc69333540, format=0x7f0a1b0f5964 "glTexImage%dD", ap=0x7ffc69333610, mode_flags=2) at vfprintf-internal.c:649
        thousands_sep = <optimized out>
        grouping = 0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>
        f = <optimized out>
        lead_str_end = <optimized out>
        end_of_spec = <optimized out>
        work_buffer = '\000' <repeats 56 times>, "(,L4\n\177\000\000\000\000\000\000\000\000\000\000pY\017\033\n\177\000\000\22073i\374\177\000\000\30063i\374\177\000\000\26063i\374\177\000\000\\\270L4\n\177\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000nY\017\033\n\177\000\000dY\017\033\n\177", '\000' <repeats 18 times>, ">\000\000\000\001", '\000' <repeats 11 times>, "d\000\000\000\002\000\000\000w63i\374\177\000\000"...
        workend = <optimized out>
        ap_save = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7ffc693336f0, reg_save_area = 0x7ffc69333630}}
        nspecs_done = 0
        save_errno = <optimized out>
        readonly_format = 0
        do_longlong_number = <optimized out>
#9  0x00007f0a344f1773 in __vsnprintf_internal (string=<optimized out>, maxlen=maxlen@entry=20, format=<optimized out>, args=args@entry=0x7ffc69333610, mode_flags=mode_flags@entry=2) at vsnprintf.c:96
        buf = {base = {write_base = 0x7ffc69333710 "", write_ptr = 0x7ffc69333710 "", write_end = 0x7ffc69333724 "", written = 0, mode = __printf_buffer_mode_snprintf}, discard = "\20053i\002\000\000\000\001\024\000\000\b\031\000\000\370\253\230\005\352U\000\000wU\000\000\000\000\000\000\000 *o\001\000\000\000\002\000\000\000\000\000\000\000\006\000\000\000\000\000\000\000\000`\000\000\000\000\000\000\017\000\000\000\t\000\000\000\000\000\001\000\000\000\000\000\204)\247\031\n\177\000\000\220\210\006\200\000\000\000\000\000\301X\242\323q\332\335p63i\374\177\000\000\300\021\023\n\352U\000\000\207\000\000\000\000\000\000"}
#10 0x00007f0a3458c66c in ___snprintf_chk (s=s@entry=0x7ffc69333710 "", maxlen=maxlen@entry=20, flag=flag@entry=2, slen=slen@entry=20, format=format@entry=0x7f0a1b0f5964 "glTexImage%dD") at snprintf_chk.c:38
        mode = 2
        ap = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7ffc693336f0, reg_save_area = 0x7ffc69333630}}
        ret = <optimized out>
#11 0x00007f0a19ac9559 in snprintf (__s=0x7ffc69333710 "", __n=20, __fmt=0x7f0a1b0f5964 "glTexImage%dD") at /usr/include/bits/stdio2.h:54
No locals.
#12 texture_error_check (ctx=ctx@entry=0x55ea05959a40, dimensions=dimensions@entry=2, target=target@entry=3553, texObj=texObj@entry=0x55ea0a131670, level=level@entry=0, internalFormat=internalFormat@entry=32856, format=6408, type=5121, width=15, height=9, depth=1, border=0, pixels=0x0) at ../src/mesa/main/teximage.c:2010
        err = <optimized out>
        bufCallerName = '\000' <repeats 19 times>
#13 0x00007f0a19ac9b63 in teximage (ctx=0x55ea05959a40, compressed=0 '\000', dims=2, texObj=0x55ea0a131670, target=3553, level=0, internalFormat=32856, width=<optimized out>, height=<optimized out>, depth=<optimized out>, border=0, format=6408, type=5121, imageSize=0, pixels=0x0, no_error=false) at ../src/mesa/main/teximage.c:3168
        func = 0x7f0a1b0f5972 "glTexImage"
        unpack = 0x55ea0598abf8
        unpack_no_border = {Alignment = 22097, RowLength = 0, SkipPixels = 22097, SkipRows = 22097, ImageHeight = 169023088, SkipImages = 21994, SwapBytes = 140 '\214', LsbFirst = 112 'p', Invert = 79 'O', CompressedBlockWidth = 21994, CompressedBlockHeight = 22097, CompressedBlockDepth = 0, CompressedBlockSize = 89092224, BufferObj = 0x0}
        texFormat = <optimized out>
        dimensionsOK = true
        sizeOK = true
        func = <optimized out>
        unpack_no_border = <optimized out>
        unpack = <optimized out>
        texFormat = <optimized out>
        dimensionsOK = <optimized out>
        sizeOK = <optimized out>
        __func__ = <optimized out>
        texImage = <optimized out>
        face = <optimized out>
        texImage = <optimized out>
        depth_mode = <optimized out>
#14 teximage_err (ctx=0x55ea05959a40, compressed=compressed@entry=0 '\000', dims=dims@entry=2, target=3553, level=0, internalFormat=32856, width=15, height=9, depth=1, border=0, format=6408, type=5121, imageSize=0, pixels=0x0) at ../src/mesa/main/teximage.c:3340
No locals.
#15 0x00007f0a19acc6d1 in _mesa_TexImage2D (target=<optimized out>, level=<optimized out>, internalFormat=<optimized out>, width=<optimized out>, height=<optimized out>, border=<optimized out>, format=6408, type=5121, pixels=0x0) at ../src/mesa/main/teximage.c:3411
        ctx = <optimized out>
#16 0x00007f0a34ebb353 in gsk_gl_image_new (device=<optimized out>, format=<optimized out>, required_flags=<optimized out>, width=15, height=9) at ../gsk/gpu/gskglimage.c:153
        self = 0x55ea0a131630
        swizzle = {6403, 6404, 6405, 6406}
        flags = (GSK_GPU_IMAGE_CAN_MIPMAP | GSK_GPU_IMAGE_FILTERABLE | GSK_GPU_IMAGE_RENDERABLE)
        max_size = <optimized out>
#17 0x00007f0a34ec8715 in gsk_gpu_device_create_offscreen_image (self=<optimized out>, with_mipmap=0, depth=GDK_MEMORY_U8, width=<optimized out>, height=<optimized out>) at ../gsk/gpu/gskgpudevice.c:695
No locals.
#18 gsk_gpu_node_processor_init_draw (self=self@entry=0x7ffc69333a60, frame=0x55ea04f9e180, depth=GDK_MEMORY_U8, scale=0x7f0a356a51b0 <static_vec2+16>, viewport=0x7ffc69333b80) at ../gsk/gpu/gskgpunodeprocessor.c:351
        image = <optimized out>
        area = {x = 0, y = 0, width = 15, height = 9}
#19 0x00007f0a34ec88b5 in gsk_gpu_node_processor_create_offscreen (frame=<optimized out>, scale=<optimized out>, viewport=<optimized out>, node=0x55ea0507b780) at ../gsk/gpu/gskgpunodeprocessor.c:751
        self = {frame = 0x7ffc69333a90, desc = 0x55ea0a130ce0, scissor = {x = 15, y = 0, width = 9, height = 0}, blend = (unknown: 0x33c2fb98), offset = {x = 4.55730287e-41, y = 4.32777625e-07}, projection = {__graphene_private_value = {x = {1.35422344e+25, 4.59121429e-41, 7.08021406e-33, 3.08201584e-41}, y = {1.40129846e-45, 0, 9.91420848e-07, 4.55730287e-41}, z = {7.08021406e-33, 3.08201584e-41, 1.40129846e-45, 0}, w = {1.35423267e+25, 4.59121429e-41, 9.91458251e-07, 4.55730287e-41}}}, scale = {__graphene_private_value = {1.35428616e+25, 4.59121429e-41, 7.08022288e-33, 3.08201584e-41}}, modelview = 0x55ea0a130ce8, clip = {type = 887933153, rect = {bounds = {origin = {x = 4.55730287e-41, y = 0}, size = {width = 0, height = 1.35425296e+25}}, corner = {{width = 4.59121429e-41, height = 0}, {width = 0, height = 8.69301914e-07}, {width = 4.55730287e-41, height = 1.35423267e+25}, {width = 4.59121429e-41, height = -0.5}}}}, opacity = -0.5, pending_globals = (unknown: 0xbf000000)}
        image = <optimized out>
#20 0x00007f0a34ed3fc7 in gsk_gpu_node_processor_add_texture_scale_node (self=0x7ffc69333be0, node=0x55ea0507b780) at ../gsk/gpu/gskgpunodeprocessor.c:2080
        offscreen = <optimized out>
        clip_bounds = {origin = {x = 14.5515842, y = 17.8102665}, size = {width = 14.8968296, height = 8.37946701}}
        device = <optimized out>
        image = <optimized out>
        texture = <optimized out>
        scaling_filter = <optimized out>
        timestamp = <optimized out>
        descriptor = <optimized out>
        need_mipmap = <optimized out>
        need_offscreen = 1
#21 0x00007f0a34ec88cc in gsk_gpu_node_processor_create_offscreen (frame=<optimized out>, scale=<optimized out>, viewport=<optimized out>, node=0x55ea0507b780) at ../gsk/gpu/gskgpunodeprocessor.c:759
        self = {frame = 0x55ea04f9e180, desc = 0x0, scissor = {x = 0, y = 0, width = 15, height = 9}, blend = GSK_GPU_BLEND_OVER, offset = {x = -14.5515842, y = -17.8102665}, projection = {__graphene_private_value = {x = {0.13333334, 0, 0, 0}, y = {0, 0.222222224, 0, 0}, z = {0, 0, -9.99999975e-05, 0}, w = {-1, -1, -0, 1}}}, scale = {__graphene_private_value = {1.0069257, 1.074054, 0, 0}}, modelview = 0x0, clip = {type = GSK_GPU_CLIP_NONE, rect = {bounds = {origin = {x = 0, y = 0}, size = {width = 14.8968296, height = 8.37946701}}, corner = {{width = 0, height = 0}, {width = 0, height = 0}, {width = 0, height = 0}, {width = 0, height = 0}}}}, opacity = 1, pending_globals = 0}
        image = 0x55ea0a130ce0
#22 0x00007f0a34ed3fc7 in gsk_gpu_node_processor_add_texture_scale_node (self=0x7ffc69333d60, node=0x55ea0507b780) at ../gsk/gpu/gskgpunodeprocessor.c:2080
        offscreen = <optimized out>
        clip_bounds = {origin = {x = 14.5515842, y = 17.8102665}, size = {width = 14.8968296, height = 8.37946701}}
        device = <optimized out>
        image = <optimized out>
        texture = <optimized out>
        scaling_filter = <optimized out>
        timestamp = <optimized out>
        descriptor = <optimized out>
        need_mipmap = <optimized out>
        need_offscreen = 1
#23 0x00007f0a34ec88cc in gsk_gpu_node_processor_create_offscreen (frame=<optimized out>, scale=<optimized out>, viewport=<optimized out>, node=0x55ea0507b780) at ../gsk/gpu/gskgpunodeprocessor.c:759
        self = {frame = 0x55ea04f9e180, desc = 0x0, scissor = {x = 0, y = 0, width = 15, height = 9}, blend = GSK_GPU_BLEND_OVER, offset = {x = -14.5515842, y = -17.8102665}, projection = {__graphene_private_value = {x = {0.13333334, 0, 0, 0}, y = {0, 0.222222224, 0, 0}, z = {0, 0, -9.99999975e-05, 0}, w = {-1, -1, -0, 1}}}, scale = {__graphene_private_value = {1.0069257, 1.074054, 0, 0}}, modelview = 0x0, clip = {type = GSK_GPU_CLIP_NONE, rect = {bounds = {origin = {x = 0, y = 0}, size = {width = 14.8968296, height = 8.37946701}}, corner = {{width = 0, height = 0}, {width = 0, height = 0}, {width = 0, height = 0}, {width = 0, height = 0}}}}, opacity = 1, pending_globals = 0}
        image = 0x55ea0a130390

===

You can see frames 20 and 21 are repeated as frames 22 and 23. It seems like that continues forever: the same two frames are repeated as 24 and 25, 26 and 27, 28 and 29 and so on up to 4000+ frames before I ctrl-c'ed it. I'm not sure what that indicates.

Reporting downstream first in case this is somehow related to the big stack of bits snapshot sits on and maybe not an upstream bug necessarily. Proposing as a Final blocker as a violation of "Additionally, for Fedora Workstation on the x86_64 architecture, all applications installed by default which can be launched from the Activities menu must [start successfully and withstand a basic functionality test]" - https://fedoraproject.org/wiki/Fedora_40_Final_Release_Criteria#Default_application_functionality

Comment 1 Adam Williamson 2024-04-04 19:05:25 UTC
I think https://retrace.fedoraproject.org/faf/problems/bthash/?bth=3abf01d239c53a7c493bead5126b161db4831dd0&bth=298bb63f91ff2f310762f6002368c0e9050f4fe8 is the FAF problem for this issue (note the same looping pair of frames in the backtrace, which is cut off at 256 frames). It has 31 reports so far, indicating this is fairly widespread, I think.

Comment 2 Michael Catanzaro 2024-04-04 20:51:30 UTC
Looks like a regression from https://gitlab.gnome.org/GNOME/gtk/-/commit/cfaddb5d47d8d49d8846d5b21c21275fb62790c2

Comment 3 Geraldo Simião 2024-04-05 03:06:06 UTC
I can't reproduce this bug with snapshot-46.1-1.fc40

Setup:
Updated F40 Workstation on KVM virt-manager (F40 KDE host)
Chipset Q35 / UEFI / CPU host-passthrough)
HD WEBCAM - host acer notebook integrated - passthrough

Comment 4 Fabio Valentini 2024-04-05 08:40:48 UTC
I can reproduce with snapshot-46.1-1.fc40.x86_64 and a Logi(tech) C920 HD Pro Webcam.

Launching from the gnome-shell launcher:

This gives me an empty window with "No camera found".
I suspect the "who's faster? rendering the window or asking for camera permission (which is only granted for apps with windows)?" race condition is back.

Launching "snapshot" from a terminal:

2024-04-05T08:35:06.147248Z  INFO snapshot::application::imp: Snapshot (org.gnome.Snapshot)    
2024-04-05T08:35:06.147267Z  INFO snapshot::application::imp: Version: 46.1    
2024-04-05T08:35:06.147270Z  INFO snapshot::application::imp: Datadir: /usr/share/snapshot    
2024-04-05T08:35:06.338168Z  INFO ashpd::desktop::request: Creating a org.freedesktop.portal.Request /org/freedesktop/portal/desktop/request/1_106/ashpd_jyhANXXPZw
2024-04-05T08:35:06.339340Z  INFO ashpd::desktop::request: Received signal 'Response' on 'org.freedesktop.portal.Request'
2024-04-05T08:35:06.339361Z  INFO ashpd::proxy: Calling method org.freedesktop.portal.Camera:OpenPipeWireRemote

thread 'main' has overflowed its stack
fatal runtime error: stack overflow
Aborted (core dumped)

Comment 5 Adam Williamson 2024-04-05 15:17:55 UTC
aha. indeed, my camera is also a C920. Not sure why that matters, but apparently it does.

Does launching Snapshot from the overview not cause the "no camera found" problem like it does for me and Fabio?

Comment 6 Geraldo Simião 2024-04-06 03:45:23 UTC
If we had more testing with other buildin webcam and/or camera models, that would be great.

Comment 7 Kevin Fenzi 2024-04-06 16:23:06 UTC
snapshot-46.1-2.fc41 here does not crash, but also... doesn't work. ;) 
snapshot-46.1-1.fc41 same

framework laptop here. If it would help, can boot on a f40 live to see what happens there.

Comment 8 Adam Williamson 2024-04-06 16:57:40 UTC
Did you run it from the overview? Did it say it couldn't find a camera? If you run it from a console, does it work?

Comment 9 Kevin Fenzi 2024-04-06 17:18:25 UTC
The interface comes up from either cli or overview, it just says "could not play camera stream" in a little dialog at the bottom, and of course the interface with no camera shows no camera images. Command line it outputs:

2024-04-06T17:17:03.265709Z ERROR aperture::viewfinder: Could not start camerabin: Element failed to change its state    
2024-04-06T17:17:03.290614Z ERROR aperture::viewfinder: Could not start camerabin: Element failed to change its state    
2024-04-06T17:17:03.292174Z ERROR aperture::viewfinder: Bus Error from Some("/GstCameraBin:camerabin0/GstWrapperCameraBinSrc:camerasrc/GstAutoVideoSrc:camerasrc-real-src/GstPipeWireSrc:camerasrc-real-src-actual-src-pipewir")
stream error: error output enum formats: Invalid argument
Some("../src/gst/gstpipewiresrc.c(689): on_state_changed (): /GstCameraBin:camerabin0/GstWrapperCameraBinSrc:camerasrc/GstAutoVideoSrc:camerasrc-real-src/GstPipeWireSrc:camerasrc-real-src-actual-src-pipewir")    
2024-04-06T17:17:03.292256Z ERROR aperture::viewfinder: Bus Error from Some("/GstCameraBin:camerabin0/GstWrapperCameraBinSrc:camerasrc/GstAutoVideoSrc:camerasrc-real-src/GstPipeWireSrc:camerasrc-real-src-actual-src-pipewir")
Internal data stream error.

I don't know if this is just a different rawhide issue or not. :(

Comment 10 Brian Morrison 2024-04-07 15:26:56 UTC
(In reply to Adam Williamson from comment #8)
> Did you run it from the overview? Did it say it couldn't find a camera? If
> you run it from a console, does it work?

I have the HD920 webcam, currently I can run from the console window and take a picture.

If I try for the overview I get a blank window with a spinning cursor for as long as I care to wait.

snapshot-46.1-1 here on F40 with everything up to date from -testing repos.

Comment 11 Brian Morrison 2024-04-07 15:34:11 UTC
2nd try from overview or application menu and I get "No camera found".

Not sure why the original run just sat with spinning cursor.

Comment 12 Lukas Ruzicka 2024-04-08 11:16:12 UTC
My camera is some Trust piece, reported as `Bus 003 Device 009: ID 1bcf:2701 Sunplus Innovation Technology Inc. HD 720P webcam` and the application works normally for me.

Comment 13 František Zatloukal 2024-04-08 19:56:48 UTC
Discussed during the 2024-04-08 blocker review meeting: [1]

The decision to classify this bug as a AcceptedBlocker (Final) was made:

"Both because a crash on a widely-used camera model (we found three affected people easily) is bad enough to block on its own, and we found other issues in snapshot in testing (for nirik it doesn't crash but never shows anything, and many folks found it shows 'No Camera Found' when run from overview). we recommend that we revert to Cheese again for F40 final "

[1] https://meetbot.fedoraproject.org/blocker-review_matrix_fedoraproject-org/2024-04-08/f40-blocker-review.2024-04-08-16.00.html

Comment 14 Michael Catanzaro 2024-04-08 20:48:05 UTC
We already identified the GTK commit that introduced this crash. There is no need to revert to Cheese. Worst case scenario, we would revert that GTK commit.

> for nirik it doesn't crash but never shows anything, and many folks found it shows 'No Camera Found' when run from overview

Please report new bugs (here if needed for blocker tracking purposes, but most importantly upstream).

Comment 15 Adam Williamson 2024-04-08 22:21:00 UTC
https://bugzilla.redhat.com/show_bug.cgi?id=2274061 for the "No Camera Found" one. There are multiple "no camera found" bugs open upstream, not sure which would be best to link that report to. I've asked nirik to report his framework laptop failure bug separately too. Anyone else hitting anything that's not the C920 crash, not the thing where you get "no camera found" from the overview but it works from a terminal, and not failure with a framework laptop camera, please file another bug and link it here.

Comment 16 Kevin Fenzi 2024-04-09 00:22:20 UTC
Mine seems to be: https://gitlab.gnome.org/GNOME/snapshot/-/issues/134

Comment 17 Adam Williamson 2024-04-09 00:30:11 UTC
Michael: BTW, the last practical day to do a candidate for Thursday's go/no-go is tomorrow, so if we don't have a better fix for this crash and we don't want to drop snapshot, we're gonna need the GTK revert today or early tomorrow I guess. Thanks!

Comment 18 Michael Catanzaro 2024-04-09 12:58:48 UTC
Unfortunately I'm not able to reproduce this crash myself. I am hoping it goes away if you run snapshot with this environment variable:

GSK_RENDERER=gl

Can somebody who can reproduce confirm this please? If so, we can use that as an emergency workaround.

Comment 19 Fabio Valentini 2024-04-09 13:20:02 UTC
Running "GSL_RENDERER=gl snapshot" fixes the crash on both systems where snapshot previously crashed for me.

Comment 20 Adam Williamson 2024-04-09 15:34:14 UTC
With that it doesn't *crash* any more, but I get a "Could not play camera stream" error, and no video. Changing the camera access in Privacy & Security (per the other bug) doesn't change that.

Comment 21 Adam Williamson 2024-04-09 15:34:40 UTC
On the console I get:

[adamw@xps13a os-autoinst-distri-fedora (main %)]$ GSL_RENDERER=gl snapshot
2024-04-09T15:34:18.994303Z  INFO snapshot::application::imp: Snapshot (org.gnome.Snapshot)    
2024-04-09T15:34:18.994330Z  INFO snapshot::application::imp: Version: 46.1    
2024-04-09T15:34:18.994338Z  INFO snapshot::application::imp: Datadir: /usr/share/snapshot    
2024-04-09T15:34:19.218885Z  INFO ashpd::desktop::request: Creating a org.freedesktop.portal.Request /org/freedesktop/portal/desktop/request/1_1105/ashpd_et6RFHPbXF
2024-04-09T15:34:19.221591Z  INFO ashpd::desktop::request: Received signal 'Response' on 'org.freedesktop.portal.Request'
2024-04-09T15:34:19.221650Z  INFO ashpd::proxy: Calling method org.freedesktop.portal.Camera:OpenPipeWireRemote
2024-04-09T15:34:19.310090Z ERROR aperture::viewfinder: Could not start camerabin: Element failed to change its state    
2024-04-09T15:34:19.315716Z ERROR aperture::viewfinder: Could not start camerabin: Element failed to change its state    
2024-04-09T15:34:19.316272Z ERROR aperture::viewfinder: Bus Error from Some("/GstCameraBin:camerabin0/GstWrapperCameraBinSrc:camerasrc/GstAutoVideoSrc:camerasrc-real-src/GstPipeWireSrc:camerasrc-real-src-actual-src-pipewir")
stream error: error output enum formats: No such file or directory
Some("../src/gst/gstpipewiresrc.c(689): on_state_changed (): /GstCameraBin:camerabin0/GstWrapperCameraBinSrc:camerasrc/GstAutoVideoSrc:camerasrc-real-src/GstPipeWireSrc:camerasrc-real-src-actual-src-pipewir")    
2024-04-09T15:34:19.316294Z ERROR aperture::viewfinder: Bus Error from Some("/GstCameraBin:camerabin0/GstWrapperCameraBinSrc:camerasrc/GstAutoVideoSrc:camerasrc-real-src/GstPipeWireSrc:camerasrc-real-src-actual-src-pipewir")
Internal data stream error.
Some("../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstCameraBin:camerabin0/GstWrapperCameraBinSrc:camerasrc/GstAutoVideoSrc:camerasrc-real-src/GstPipeWireSrc:camerasrc-real-src-actual-src-pipewir:\nstreaming stopped, reason not-negotiated (-4)")

Comment 22 Michael Catanzaro 2024-04-09 16:13:56 UTC
Hm, and that is separate from bug #2274061, and you suspect it is caused by the environment variable?

Well, good news: we have a fix in GTK that I am building now, so hopefully we won't even need the environment variable hack.

Comment 23 Adam Williamson 2024-04-09 16:23:46 UTC
oh, no, that actually seems like it was some other temporary blip, cos it also affects snapshot without GSL_RENDERER=gl . unplugging and replugging the camera cleared it, and now I can see the stream with `GSL_RENDERER=gl snapshot`. however, that doesn't fix this crash for me, it still crashes with the stack overflow.

I'll see if the GTK fix helps when it's ready.

Comment 24 Fedora Update System 2024-04-09 17:03:12 UTC
FEDORA-2024-6f3aeca158 (gtk4-4.14.2-2.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-6f3aeca158

Comment 25 Adam Williamson 2024-04-09 17:05:37 UTC
confirmed, that does seem to fix the crash. thanks.

Comment 26 Fedora Update System 2024-04-09 18:23:14 UTC
FEDORA-2024-6f3aeca158 has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-6f3aeca158`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-6f3aeca158

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 27 Fedora Update System 2024-04-10 03:12:56 UTC
FEDORA-2024-6f3aeca158 (gtk4-4.14.2-2.fc40) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.


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