Bug 2079657 - crash happens everytime when I scroll down/up to find a video
Summary: crash happens everytime when I scroll down/up to find a video
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: totem
Version: 36
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Bastien Nocera
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedFreezeException RejectedBlocker
Depends On:
Blocks: F36FinalFreezeException
TreeView+ depends on / blocked
 
Reported: 2022-04-28 03:17 UTC by lnie
Modified: 2022-05-03 15:16 UTC (History)
12 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2022-05-03 15:16:53 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
journal (91.19 KB, text/plain)
2022-04-28 03:17 UTC, lnie
no flags Details
screencast (297.29 KB, video/webm)
2022-04-28 03:20 UTC, lnie
no flags Details
backtrace (67.64 KB, text/plain)
2022-04-28 03:23 UTC, lnie
no flags Details
better backtrace (30.27 KB, text/plain)
2022-04-28 16:05 UTC, Adam Williamson
no flags Details

Description lnie 2022-04-28 03:17:44 UTC
Created attachment 1875542 [details]
journal

Description of problem:
Because of 2079654,I have to scroll down to find a video,but totem crashed everytime.

Version-Release number of selected component (if applicable):
totem-42.0-1.fc36.x86_64
gnome-shell-42.0-3.fc36.x86_64

How reproducible:
always

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 lnie 2022-04-28 03:20:20 UTC
Created attachment 1875544 [details]
screencast

Comment 2 Fedora Blocker Bugs Application 2022-04-28 03:21:13 UTC
Proposed as a Blocker for 36-final by Fedora user lnie using the blocker tracking app because:

 https://fedoraproject.org/wiki/Fedora_36_Final_Release_Criteria#Default_application_functionality

Comment 3 lnie 2022-04-28 03:23:20 UTC
Created attachment 1875545 [details]
backtrace

unable to report this bug using Abrt,it is claiming low-information

Comment 4 Lukas Ruzicka 2022-04-28 08:57:44 UTC
I cannot reproduce this problem in a virtual machine where scrolling and playing videos work normally. 
Totem keeps crashing on my bare metal with Nvidia card and no Videos can be played, but this is a different story connected to the specific hardware and I am going to report it separately.

Comment 5 lnie 2022-04-28 10:01:35 UTC
Please note you need to search first(or just open the search bar) and then try to scroll down to find the video,I can reproduce this every time,even on bare metal.

Comment 6 Adam Williamson 2022-04-28 16:05:14 UTC
Created attachment 1875718 [details]
better backtrace

I was actually able to reproduce this on my system. coredumpctl provided a more useful backtrace, attached.

Comment 7 Adam Williamson 2022-04-28 16:06:21 UTC
Also note I get these two errors on the console when running totem on console and hitting the bug:

(totem:291313): GLib-GObject-CRITICAL **: 08:53:15.333: g_param_values_cmp: assertion 'G_IS_VALUE (value1)' failed

(totem:291313): GLib-GObject-CRITICAL **: 08:53:15.333: g_param_values_cmp: assertion 'G_IS_VALUE (value1)' failed

Comment 8 Adam Williamson 2022-04-28 16:18:50 UTC
From the backtrace it looks like the problem is that, when totem-grilo.c `get_search_options` does this:

grl_source_get_caps (GRL_SOURCE (self->search_source), GRL_OP_SEARCH),

the source it uses - `GRL_SOURCE (self->search_source)` - is coming out as NULL. Not sure why that would be.

We seem to be on the path where `search_more` is called from the `adjustment_value_changed_cb` callback. `self->search_source` is set at the start of `search`, and there's another callback - `source_removed_cb` - which can do `self->search_source = NULL;`. So I guess the two possibilities are that the `adjustment_value_changed_cb` callback can get called before `search` has set `self->search_source` at all, or that it can get called after the `source_removed_cb` has been called and decided to set it back to NULL?

Comment 9 Ben Cotton 2022-04-28 19:22:52 UTC
In today's Go/No-Go meeting, we agreed to reject this as a blocker but grant a freeze exception. This bug falls outside "basic functionality" but is worth fixing if possible.
https://meetbot.fedoraproject.org/fedora-meeting/2022-04-28/f36-final-go_no_go-meeting.2022-04-28-17.01.log.html#l-579

Comment 10 Bastien Nocera 2022-04-28 19:39:31 UTC
(In reply to Adam Williamson from comment #8)
> From the backtrace it looks like the problem is that, when totem-grilo.c
> `get_search_options` does this:
> 
> grl_source_get_caps (GRL_SOURCE (self->search_source), GRL_OP_SEARCH),
> 
> the source it uses - `GRL_SOURCE (self->search_source)` - is coming out as
> NULL. Not sure why that would be.
> 
> We seem to be on the path where `search_more` is called from the
> `adjustment_value_changed_cb` callback. `self->search_source` is set at the
> start of `search`, and there's another callback - `source_removed_cb` -
> which can do `self->search_source = NULL;`. So I guess the two possibilities
> are that the `adjustment_value_changed_cb` callback can get called before
> `search` has set `self->search_source` at all, or that it can get called
> after the `source_removed_cb` has been called and decided to set it back to
> NULL?

Going from what I remember, without looking at the code, it's likely that the fact that a search wasn't already performed before the "scroll more" signal was received was the problem.

I'm absolutely positive that this problem probably exists since the redesign that took place in around 2013, so not a new bug.

Comment 11 Bastien Nocera 2022-05-03 15:16:53 UTC
(In reply to Bastien Nocera from comment #10)
> I'm absolutely positive that this problem probably exists since the redesign
> that took place in around 2013, so not a new bug.

Bug was there since 2014.

Fixed upstream in https://gitlab.gnome.org/GNOME/totem/-/merge_requests/277


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