Menu

#62 Fixes pending for release 5.3.14.4

git
accepted
None
5
2014-10-30
2014-07-22
No

5.3.14.4:
- Memory leak in background file monitor.
- Optimize scroll down (either removing expose/draw from callback, or holding back background threads which are throwing stuff into the gtk_main thread)

5.3.14.2:
New cairo requirements trigger a race condition on background reload. This will
make icons on initial load behave strangely. FIXED with new GTK3 minimum cairo version requirement.
Gtk 3.10 now is avoided.

wishlist:

  1. pathbar for modules
    2- Update web pages for all apps

Discussion

  • Edscott Wilson Garcia

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,3 +1,9 @@
    +Now ready for release. 
    +
    +Stuff left for next release:
    +1. pathbar for modules
    +2. apt support for rodent-pkg
    +
     1. I'm getting a deadlock on what seems to be the reload thread. Symptoms are that icons do not appear, neither does the popup. But the tab can be closed or opened in a new tab with the (+) icon. I'm now on the lookout for the exact user input which triggers the fault...
       I think it is triggered on page switch callback. This changed from past release.
    
    @@ -44,22 +50,19 @@
     Back to preparing 5.3.12 release (eliminating deprecated stuff and testing).
     -----------------------------------------------------------------------------
     Finally, pending for 5.3.12 release:
    -1- 3.12 compatibility for rodent-pkg and rodent-root
    -2- Add dpkg and emerge methods to rodent-pkg
    +DONE 1- 3.12 compatibility for rodent-pkg and rodent-root
    +DONE 2- Add dpkg and emerge methods to rodent-pkg
     3- Update web pages for all apps
    -4- rodent-pkg in opensuse calls zypper --erase instead of rpm --erase, thus, does not work.
    -5- rodent-pkg in centos 6.5 does not show installed packages with different icon in search results (yum apparently does not have same extent as zypper). Check functionality on Centos-7.0 
    +DONE 4- rodent-pkg in opensuse calls zypper --erase instead of rpm --erase, thus, does not work.
    +DONE 5- rodent-pkg in centos 6.5 does not show installed packages with different icon in search results (yum apparently does not have same extent as zypper). Check functionality on Centos-7.0 
    
    -Completions:
    -1. emerge method now in rodent-pkg
    -2. rodent-root crash fixed and 5.3.12 ready
    
    -for 5.3.13 I might consider a replacement for the filechooser widget (buggy in 3.10-3.13)
    +for 5.3.13 I might consider a replacement for the filechooser widget (buggy in 3.10-3.13) nah, not yet...
    
     More stuff (I've got to draw a line somewhere for release...)
    -1. Fully debug rodent-pkg(emerge) This is almost done
    -2. Add pathbar for modules
    -3. Split rodent-fgr (zypper/yum/rpm) code in emerge fashion for easier maintainance
    -4. Add apt-get support to Rodent-pkg
    +DONE 1. Fully debug rodent-pkg(emerge) This is almost done
    +PENDING 2. Add pathbar for modules
    +DONE 3. Split rodent-fgr (zypper/yum/rpm) code in emerge fashion for easier maintainance
    +PENDING 4. Add apt-get support to Rodent-pkg
    
    -5. (rodent-desk) Still have a race on getting the background pix for desktop when image is defined. Seems I'm getting the bg pix directly from what is mapped on screen instead of a buffer area...
    +PENDING 5. (rodent-desk) Still have a race on getting the background pix for desktop when image is defined. Seems I'm getting the bg pix directly from what is mapped on screen instead of a buffer area...
    
     
  • Edscott Wilson Garcia

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,68 +1,41 @@
    -Now ready for release. 
    
    -Stuff left for next release:
     1. pathbar for modules
     2. apt support for rodent-pkg
    +3. tranlations on yum/zypper query trigger and query differences fedora/centos
    
    -1. I'm getting a deadlock on what seems to be the reload thread. Symptoms are that icons do not appear, neither does the popup. But the tab can be closed or opened in a new tab with the (+) icon. I'm now on the lookout for the exact user input which triggers the fault...
    -  I think it is triggered on page switch callback. This changed from past release.
    -
    -  Observation 1: Deadlock occurred when, immediately following a page switch, a folder is clicked. Status line: "Loading folder..." and load thread is deadlocked. View entry remains in original path (no change). Open new tab works fine despite deadlock. Popup menu does not work. Ls button works. keyboard navigation does not work. Close tab button works.
    -  Observation 2: Deadlock occurred when interrupting a running program via the "interrupt"signal available from the process control button popup menu. Deadlock followed reload action (which deadlocked). Same condition as above.
    -
    -I found and eliminated the deadlock. Now under observation to determine if fix is complete.
    -
    -  Observation 3: Deadlock again. This means more than one deadlock condition exists. Must identify...
    -
    -A second, more obscure, deadlock condition has been removed. This seems to be the moot. We´ll see... If no more problems, release will follow.
    -
    -  Observation 4: Problems followed. Deadlock now allows popup menu, so that much is OK. Now I can reproduce deadlock at will on a particular box by doing a "sudo make install" of latest gdk-pixbuf and when command completes, click the "up" icon. Deadlock follows. I've eliminated unnecessary population-serial mutex, but that did not seem to be the problem, and indeed was not.... testing further...
    -apparently the goto callback is waiting for deadlocked thread.
    -
    -  I think I got it solved (not yet fixed). Issue is that touched by first fix. Seems that mutex on the view list are spread throughout the code in unnecessary places. I'll clean this mess up tomorrow, and that should complete the fix.
    -
    -Observation 5: Item 1 is *not* fixed. This now looks like a glib bug. I've switched the read lock at deadlock point for a try read lock, which should *not* deadlock. But it does, apparently. I'm now going to directly use a pthread_mutex with PTHREAD_MUTEX_ERRORCHECK.
    -
    -2. rodent-pkg in opensuse calls zypper --erase instead of rpm --erase, thus, does not work.
    -
    -3. rodent-pkg in centos 6.5 does not show installed packages with different icon in search results (yum apparently does not have same extent as zypper). Check functionality on Centos-7.0
    -
    -4. crash on pending thread action on closed tab (invalid view):
    -Program terminated with signal 11, Segmentation fault.
    - at ../../primary/primary-misc.c:1968
    -1968        if (!GTK_IS_TEXT_VIEW(widgets_p->diagnostics)) return;
    +tooltip crash: apparently a race between gtk doing things with tooltip and widget being destroyed and a new one created on change of tooltip content by rodent (me thinks). We could probably keep these tooltip widgets around until view path is changed. That would make things faster now that we have more and more RAM
    
    -Observation 6: Deadlock happens when monitor not running. Occurs when update_f requests the 
    -write lock... readlock is most probably set by motion callback.
    -
    -Deadlock fixed. Actually some sloppy code while fixing deadlock condition introduced a different deadlock. That is why it was so hard to find. It was not the same deadlock
    -condition.
    -
    -Now, back to business. Make this thing work with gtk-3.12
    -
    -Expose/draw is now working correctly in gtk+-3.12. Just need to test backward compatibility to gtk+-3.8. gtk+-2.24 expose method is unchanged.
    -
    -Observation 7: Still getting a deadlock, but very sporadically. Must hunt down with lock log file (-DLOCK_TRACE in librfm CFLAGS)
    -
    -Identified deadlock happening in iconview_key. Was due to new feature of switching to lp terminal with up arrow, which was not releasing the readlock.
    -
    -Back to preparing 5.3.12 release (eliminating deprecated stuff and testing).
    ------------------------------------------------------------------------------
    -Finally, pending for 5.3.12 release:
    -DONE 1- 3.12 compatibility for rodent-pkg and rodent-root
    -DONE 2- Add dpkg and emerge methods to rodent-pkg
    -3- Update web pages for all apps
    -DONE 4- rodent-pkg in opensuse calls zypper --erase instead of rpm --erase, thus, does not work.
    -DONE 5- rodent-pkg in centos 6.5 does not show installed packages with different icon in search results (yum apparently does not have same extent as zypper). Check functionality on Centos-7.0 
    +#0  0x00007ffd1d7f39e4 in gtk_widget_get_visible (widget=0x7ffcec003830)
    +    at gtkwidget.c:9008
    +9008      g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
    +(gdb) bt
    +#0  0x00007ffd1d7f39e4 in gtk_widget_get_visible (widget=0x7ffcec003830)
    +    at gtkwidget.c:9008
    +#1  0x00007ffd1d7952ec in _gtk_tooltip_handle_event (event=0xd58070)
    +    at gtktooltip.c:1622
    +#2  0x00007ffd1d64fc77 in gtk_main_do_event (event=0xd58070) at gtkmain.c:1785
    +#3  0x00007ffd1d122f62 in _gdk_event_emit (event=0xd58070) at gdkevents.c:69
    +#4  0x00007ffd1d15896a in gdk_event_source_dispatch (source=0x6856b0, 
    +    callback=0x0, user_data=0x0) at gdkeventsource.c:364
    +#5  0x00007ffd1a180ec0 in g_main_dispatch (context=0x6534b0) at gmain.c:3064
    +#6  0x00007ffd1a181c1d in g_main_context_dispatch (context=0x6534b0)
    +    at gmain.c:3663
    +#7  0x00007ffd1a181e0d in g_main_context_iterate (context=0x6534b0, block=1, 
    +    dispatch=1, self=0x614a00) at gmain.c:3734
    +#8  0x00007ffd1a182236 in g_main_loop_run (loop=0x6820f0) at gmain.c:3928
    +#9  0x00007ffd1ec72fc4 in rodent_main_loop ()
    +    at ../../rodent/rodent_population.c:37
    +#10 0x00000000004048ab in main (argc=1, argv=0x615330)
    +    at ../../src/rodent.c:709
    
    -for 5.3.13 I might consider a replacement for the filechooser widget (buggy in 3.10-3.13) nah, not yet...
    
    -More stuff (I've got to draw a line somewhere for release...)
    -DONE 1. Fully debug rodent-pkg(emerge) This is almost done
    -PENDING 2. Add pathbar for modules
    -DONE 3. Split rodent-fgr (zypper/yum/rpm) code in emerge fashion for easier maintainance
    +3- Update web pages for all apps
    +
    +for 5.3.14.1 I might consider a replacement for the filechooser widget (buggy in 3.10-3.13) nah, not yet...
    +
    +
     PENDING 4. Add apt-get support to Rodent-pkg
    
    -PENDING 5. (rodent-desk) Still have a race on getting the background pix for desktop when image is defined. Seems I'm getting the bg pix directly from what is mapped on screen instead of a buffer area...
    +This seems fixed after removing deprecated double buffering: PENDING 5. (rodent-desk) Still have a race on getting the background pix for desktop when image is defined. Seems I'm getting the bg pix directly from what is mapped on screen instead of a buffer area...
    
     
  • Edscott Wilson Garcia

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,4 +1,3 @@
    -
     1. pathbar for modules
     2. apt support for rodent-pkg
     3. tranlations on yum/zypper query trigger and query differences fedora/centos
    @@ -6,27 +5,27 @@
     tooltip crash: apparently a race between gtk doing things with tooltip and widget being destroyed and a new one created on change of tooltip content by rodent (me thinks). We could probably keep these tooltip widgets around until view path is changed. That would make things faster now that we have more and more RAM
    
    -#0  0x00007ffd1d7f39e4 in gtk_widget_get_visible (widget=0x7ffcec003830)
    +>0  0x00007ffd1d7f39e4 in gtk_widget_get_visible (widget=0x7ffcec003830)
         at gtkwidget.c:9008
     9008      g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
     (gdb) bt
    -#0  0x00007ffd1d7f39e4 in gtk_widget_get_visible (widget=0x7ffcec003830)
    +0  0x00007ffd1d7f39e4 in gtk_widget_get_visible (widget=0x7ffcec003830)
         at gtkwidget.c:9008
    -#1  0x00007ffd1d7952ec in _gtk_tooltip_handle_event (event=0xd58070)
    +1  0x00007ffd1d7952ec in _gtk_tooltip_handle_event (event=0xd58070)
         at gtktooltip.c:1622
    -#2  0x00007ffd1d64fc77 in gtk_main_do_event (event=0xd58070) at gtkmain.c:1785
    -#3  0x00007ffd1d122f62 in _gdk_event_emit (event=0xd58070) at gdkevents.c:69
    -#4  0x00007ffd1d15896a in gdk_event_source_dispatch (source=0x6856b0, 
    +2  0x00007ffd1d64fc77 in gtk_main_do_event (event=0xd58070) at gtkmain.c:1785
    +3  0x00007ffd1d122f62 in _gdk_event_emit (event=0xd58070) at gdkevents.c:69
    +4  0x00007ffd1d15896a in gdk_event_source_dispatch (source=0x6856b0, 
         callback=0x0, user_data=0x0) at gdkeventsource.c:364
    -#5  0x00007ffd1a180ec0 in g_main_dispatch (context=0x6534b0) at gmain.c:3064
    -#6  0x00007ffd1a181c1d in g_main_context_dispatch (context=0x6534b0)
    +5  0x00007ffd1a180ec0 in g_main_dispatch (context=0x6534b0) at gmain.c:3064
    +6  0x00007ffd1a181c1d in g_main_context_dispatch (context=0x6534b0)
         at gmain.c:3663
    -#7  0x00007ffd1a181e0d in g_main_context_iterate (context=0x6534b0, block=1, 
    +7  0x00007ffd1a181e0d in g_main_context_iterate (context=0x6534b0, block=1, 
         dispatch=1, self=0x614a00) at gmain.c:3734
    -#8  0x00007ffd1a182236 in g_main_loop_run (loop=0x6820f0) at gmain.c:3928
    -#9  0x00007ffd1ec72fc4 in rodent_main_loop ()
    +8  0x00007ffd1a182236 in g_main_loop_run (loop=0x6820f0) at gmain.c:3928
    +9  0x00007ffd1ec72fc4 in rodent_main_loop ()
         at ../../rodent/rodent_population.c:37
    -#10 0x00000000004048ab in main (argc=1, argv=0x615330)
    +10 0x00000000004048ab in main (argc=1, argv=0x615330)
         at ../../src/rodent.c:709
    
     
  • Edscott Wilson Garcia

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,3 +1,10 @@
    +5.3.14.1: 
    +make rpm fails for rodent-fgr on fedora-21
    +.deb for debian 7.6
    +
    +
    +5.3.14.2:
    +
     1. pathbar for modules
     2. apt support for rodent-pkg
     3. tranlations on yum/zypper query trigger and query differences fedora/centos
    
     
  • Edscott Wilson Garcia

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,47 +1,11 @@
    -5.3.14.1: 
    -make rpm fails for rodent-fgr on fedora-21
    -.deb for debian 7.6
    +5.3.14.2: 
    +New cairo requirements trigger a race condition on background reload. This will
    +make icons on initial load behave strangely.
    
    -
    -5.3.14.2:
    +wishlist:
    
     1. pathbar for modules
    -2. apt support for rodent-pkg
    -3. tranlations on yum/zypper query trigger and query differences fedora/centos
    +2- Update web pages for all apps
    
    -tooltip crash: apparently a race between gtk doing things with tooltip and widget being destroyed and a new one created on change of tooltip content by rodent (me thinks). We could probably keep these tooltip widgets around until view path is changed. That would make things faster now that we have more and more RAM
    +for 5.3.14.1 I might consider a replacement for the filechooser widget (buggy in 3.10-3.13) nah, not yet... Seems it was a bug in gtk 3.14.1 which was noted as fixed in 3.14.2...
    
    -
    ->0  0x00007ffd1d7f39e4 in gtk_widget_get_visible (widget=0x7ffcec003830)
    -    at gtkwidget.c:9008
    -9008      g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
    -(gdb) bt
    -0  0x00007ffd1d7f39e4 in gtk_widget_get_visible (widget=0x7ffcec003830)
    -    at gtkwidget.c:9008
    -1  0x00007ffd1d7952ec in _gtk_tooltip_handle_event (event=0xd58070)
    -    at gtktooltip.c:1622
    -2  0x00007ffd1d64fc77 in gtk_main_do_event (event=0xd58070) at gtkmain.c:1785
    -3  0x00007ffd1d122f62 in _gdk_event_emit (event=0xd58070) at gdkevents.c:69
    -4  0x00007ffd1d15896a in gdk_event_source_dispatch (source=0x6856b0, 
    -    callback=0x0, user_data=0x0) at gdkeventsource.c:364
    -5  0x00007ffd1a180ec0 in g_main_dispatch (context=0x6534b0) at gmain.c:3064
    -6  0x00007ffd1a181c1d in g_main_context_dispatch (context=0x6534b0)
    -    at gmain.c:3663
    -7  0x00007ffd1a181e0d in g_main_context_iterate (context=0x6534b0, block=1, 
    -    dispatch=1, self=0x614a00) at gmain.c:3734
    -8  0x00007ffd1a182236 in g_main_loop_run (loop=0x6820f0) at gmain.c:3928
    -9  0x00007ffd1ec72fc4 in rodent_main_loop ()
    -    at ../../rodent/rodent_population.c:37
    -10 0x00000000004048ab in main (argc=1, argv=0x615330)
    -    at ../../src/rodent.c:709
    -
    -
    -
    -3- Update web pages for all apps
    -
    -for 5.3.14.1 I might consider a replacement for the filechooser widget (buggy in 3.10-3.13) nah, not yet...
    -
    -
    -PENDING 4. Add apt-get support to Rodent-pkg
    -
    -This seems fixed after removing deprecated double buffering: PENDING 5. (rodent-desk) Still have a race on getting the background pix for desktop when image is defined. Seems I'm getting the bg pix directly from what is mapped on screen instead of a buffer area...
    
     
  • Edscott Wilson Garcia

    • summary: Fixes pending for next release --> Fixes pending for release 5.3.14.2
     
  • Edscott Wilson Garcia

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,11 +1,16 @@
    +5.3.14.3:
    +- Optimize scroll down (either removing expose/draw from callback, or holding back background threads which are throwing stuff into the gtk_main thread)
    +
     5.3.14.2: 
     New cairo requirements trigger a race condition on background reload. This will
    -make icons on initial load behave strangely.
    +make icons on initial load behave strangely. FIXED with new GTK3 minimum cairo version requirement.
    +Gtk 3.10 now is avoided.
    +
    
     wishlist:
    
     1. pathbar for modules
     2- Update web pages for all apps
    
    -for 5.3.14.1 I might consider a replacement for the filechooser widget (buggy in 3.10-3.13) nah, not yet... Seems it was a bug in gtk 3.14.1 which was noted as fixed in 3.14.2...
    
    +
    
     
  • Edscott Wilson Garcia

    • summary: Fixes pending for release 5.3.14.2 --> Fixes pending for release 5.3.14.4
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,4 +1,5 @@
    -5.3.14.3:
    +5.3.14.4:
    +- Memory leak in background file monitor.
     - Optimize scroll down (either removing expose/draw from callback, or holding back background threads which are throwing stuff into the gtk_main thread)
    
     5.3.14.2: 
    
     

Log in to post a comment.