I added some more information I extracted from gdb.

Note the following:
$ grep -c "visible = 1" model-nodes-array.txt  
41

That is the same number as n_visible_rows.

I'm not sure I understand 100% what gtk_file_system_model_sort() is trying to 
do, but it seems a bit fishy that r is incremented for each time in the loop, 
even if the node is not visible. My intuition is that r will end up being the 
total number of nodes, not the number of visible nodes, and that this might 
very well be larger than the number of visible nodes. (As I believe it in fact 
is in my crash.) But I'm not sure about the origin of the n_visible_rows; it 
comes from:
  n_visible_rows = node_get_tree_row (model, model->files->len - 1) + 1;
so depending on how the model data structure should look, it might very well be 
correct.

Also, I also noted that the call to this function reads:

  /* FIXME: improve */
  gtk_file_system_model_sort (model);

In my experience, finding a "FIXME" close to a place where a
crash/assert happened is a prime suspect.

This is probably how far I can take this; I don't have anymore gtk
experience and not much more time debugging it either, unfortunately. If
you need more info, I can probably re-create the situation quite easily,
though. (Happens far too often when i run ogmrip. :-()

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/862665

Title:
  ogmrip crash with "gtk_file_system_model_sort: assertion failed: (r ==
  n_visible_rows)"

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ogmrip/+bug/862665/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to