Bug 217241 - x11/xfce4-taskmanager 1.2.0 crashes
Summary: x11/xfce4-taskmanager 1.2.0 crashes
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Olivier Duchateau
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-19 22:46 UTC by rozhuk.im
Modified: 2017-02-21 20:45 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (xfce)


Attachments
patch to fix crash and mem usage display (2.56 KB, patch)
2017-02-19 23:38 UTC, rozhuk.im
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description rozhuk.im 2017-02-19 22:46:10 UTC
If I kill any app/proccess then taskmanager crashes.

#0  0x0000000801b3d8f4 in gtk_tree_view_get_selection () from /usr/local/lib/libgtk-3.so.0
#1  0x0000000000410c4d in ?? ()
#2  0x0000000803737020 in g_cclosure_marshal_VOID__VOID (closure=0x80d4d1500, return_value=0x0, n_param_values=1, 
    param_values=0x7fffffffd640, invocation_hint=0x7fffffffd5e0, marshal_data=0x0) at gmarshal.c:875
#3  0x00000008037336e6 in g_closure_invoke (closure=0x80d4d1500, return_value=0x0, n_param_values=1, param_values=0x7fffffffd640, 
    invocation_hint=0x7fffffffd5e0) at gclosure.c:801
#4  0x00000008037544a7 in signal_emit_unlocked_R (node=0x80d3dd1e0, detail=0, instance=0x80e248c50, emission_return=0x0, 
    instance_and_params=0x7fffffffd640) at gsignal.c:3627
#5  0x0000000803755e55 in g_signal_emit_valist (instance=0x80e248c50, signal_id=100, detail=0, var_args=0x7fffffffdd60)
    at gsignal.c:3383
#6  0x000000080375667f in g_signal_emit (instance=0x80e248c50, signal_id=100, detail=0) at gsignal.c:3439
#7  0x0000000801b5dbfc in gtk_widget_activate () from /usr/local/lib/libgtk-3.so.0
#8  0x0000000801a5ddcc in gtk_menu_shell_activate_item () from /usr/local/lib/libgtk-3.so.0
#9  0x0000000801a5ec7a in gtk_menu_shell_bind_model () from /usr/local/lib/libgtk-3.so.0
#10 0x0000000801a46151 in _gtk_marshal_BOOLEAN__BOXEDv () from /usr/local/lib/libgtk-3.so.0
#11 0x0000000803734592 in g_type_class_meta_marshalv (closure=0x80d21b920, return_value=0x7fffffffe500, instance=0x80e2355c0, 
    args=0x7fffffffe730, marshal_data=0x188, n_params=1, param_types=0x80d21c2f8) at gclosure.c:1021
#12 0x0000000803733ac8 in _g_closure_invoke_va (closure=0x80d21b920, return_value=0x7fffffffe500, instance=0x80e2355c0, 
    args=0x7fffffffe730, n_params=1, param_types=0x80d21c2f8) at gclosure.c:864
#13 0x00000008037550b7 in g_signal_emit_valist (instance=0x80e2355c0, signal_id=50, detail=0, var_args=0x7fffffffe730)
    at gsignal.c:3292
#14 0x000000080375667f in g_signal_emit (instance=0x80e2355c0, signal_id=50, detail=0) at gsignal.c:3439
#15 0x0000000801b5d773 in gtk_widget_event () from /usr/local/lib/libgtk-3.so.0
#16 0x0000000801a45160 in gtk_get_current_event_device () from /usr/local/lib/libgtk-3.so.0
---Type <return> to continue, or q <return> to quit---
#17 0x0000000801a44a9b in gtk_main_do_event () from /usr/local/lib/libgtk-3.so.0
#18 0x00000008020f54a7 in _gdk_x11_display_queue_events () from /usr/local/lib/libgdk-3.so.0
#19 0x00000008039e5243 in g_main_dispatch (context=0x80d240540) at gmain.c:3154
#20 0x00000008039e5090 in g_main_context_dispatch (context=0x80d240540) at gmain.c:3769
#21 0x00000008039e55de in g_main_context_iterate (context=0x80d240540, block=1, dispatch=1, self=0x80d412810) at gmain.c:3840
#22 0x00000008039e5a9e in g_main_loop_run (loop=0x80e221600) at gmain.c:4034
#23 0x0000000801a441ca in gtk_main () from /usr/local/lib/libgtk-3.so.0
#24 0x0000000000409f84 in ?? ()
#25 0x0000000000409b8f in ?? ()
#26 0x0000000800641000 in ?? ()
#27 0x0000000000000000 in ?? ()

After restart taskmanager show that I have 16EiB memory (16Gb and 8Gb - real).
On i386 memory size show OK.
Comment 1 rozhuk.im 2017-02-19 23:38:43 UTC
Created attachment 180154 [details]
patch to fix crash and mem usage display
Comment 2 Olivier Duchateau freebsd_committer 2017-02-20 17:42:23 UTC
Unfortunately your patch is not working. If xfce4-taskmanager is build against Gtk3 it crashes (already reported by OpenBSD users), with Gtk2 everything is fine.

Memory usage is fine, I will commit it.
Comment 3 commit-hook freebsd_committer 2017-02-20 17:59:43 UTC
A commit references this bug:

Author: olivierd
Date: Mon Feb 20 17:59:02 UTC 2017
New revision: 434478
URL: https://svnweb.freebsd.org/changeset/ports/434478

Log:
  - Switch to Gtk2 (otherwise xfce4-taskmanager crashes when it kills
    an application)
  - Fix memory usage [1]
  - Remove unneeded patch
  - Bump PORTREVISION

  PR:		217241
  Submitted by:	<rozhuk.im@gmail.com> [1]

Changes:
  head/x11/xfce4-taskmanager/Makefile
  head/x11/xfce4-taskmanager/files/patch-src__task-manager-freebsd.c
  head/x11/xfce4-taskmanager/files/patch-src_process-window.c
Comment 4 rozhuk.im 2017-02-20 19:36:19 UTC
I know that with GTK2.0 no crash.
Patch should work, I test it.

Crash was on line:
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
because treeview was null on KILL command.
First I add check:
if (NULL == treeview)
	return;
to prevent crash.
Then I see that some one missed set "treeview" for context menu item and add:
g_object_set_data (G_OBJECT (mi), "treeview", treeview);

Please, re test patch.
Comment 5 Olivier Duchateau freebsd_committer 2017-02-20 23:13:20 UTC
(In reply to rozhuk.im from comment #4)

Yes, you're right, your patch works fine (I don't know why in my previous test it failed).

We still use Gtk2, for the next major release (2.x) Gtk3 will be the default toolkit (it's developers whish).
Comment 6 rozhuk.im 2017-02-21 06:53:33 UTC
Good.
For GTK2 patch should fix deselection after kill.

Can you commit whole patch to ports and to upstream?
Comment 7 rozhuk.im 2017-02-21 20:45:41 UTC
Also, make makepatch generates files without "__".