Closed rbuj closed 3 years ago
Confirmed, switching from default device to my wire-card device in GtkComboBox crashes the applet and gives me a abrt
alarm.
Hmm, applet crashes for me in f32 when
Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/libexec/mate-applets/mate-netspeed-applet'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 on_network_device_combo_changed (combo=<optimized out>, preferences=0x5596d2c64620 [NetspeedPreferences]) at netspeed-preferences.c:137
137 if (g_str_equal (devices->data, current_device_name))
[Current thread is 1 (Thread 0x7f55a2204a40 (LWP 178272))]
Thread 1 (Thread 0x7f55a2204a40 (LWP 178272)):
#0 on_network_device_combo_changed (combo=<optimized out>, preferences=0x5596d2c64620 [NetspeedPreferences]) at netspeed-preferences.c:137
current_device_name = 0x5596d2caaea0 "tun0"
devices = 0x0
i = <optimized out>
active = 1
old_auto_change_device = 0
auto_change_device = 0
__func__ = "on_network_device_combo_changed"
#1 0x00007f55a33baae6 in _g_closure_invoke_va (closure=closure@entry=0x5596d2c84a30, return_value=return_value@entry=0x0, instance=instance@entry=0x5596d2c82530, args=args@entry=0x7ffd49d12f60, n_params=0, param_types=0x0) at ../gobject/gclosure.c:873
marshal = 0x7f55a33bcc20 <g_cclosure_marshal_VOID__VOIDv>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x5596d2c84a10
__func__ = "_g_closure_invoke_va"
#2 0x00007f55a33d36e9 in g_signal_emit_valist (instance=0x5596d2c82530, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffd49d12f60) at ../gobject/gsignal.c:3407
return_accu = 0x0
accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
accumulator = 0x0
emission = {next = 0x7ffd49d13220, instance = 0x5596d2c82530, ihint = {signal_id = 240, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 0x5596d2c7c5b0 [GtkComboBoxText/GtkComboBox/GtkBin/GtkContainer/GtkWidget/GInitiallyUnowned]}
signal_id = 240
instance_type = 0x5596d2c7c5b0 [GtkComboBoxText/GtkComboBox/GtkBin/GtkContainer/GtkWidget/GInitiallyUnowned]
emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = 0x4 [void]
static_scope = 0
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = 1
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#3 0x00007f55a33d3c63 in g_signal_emit (instance=instance@entry=0x5596d2c82530, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffd49d13040, reg_save_area = 0x7ffd49d12f80}}
#4 0x00007f55a39dc111 in gtk_combo_box_set_active_internal (combo_box=0x5596d2c82530 [GtkComboBoxText], path=<optimized out>) at gtkcombobox.c:3855
priv = 0x5596d2c82340
active_path = <optimized out>
path_cmp = <optimized out>
is_valid_row_reference = <optimized out>
#5 0x00007f55a39de7c3 in gtk_combo_box_set_active (combo_box=0x5596d2c82530 [GtkComboBoxText], index_=<optimized out>) at gtkcombobox.c:3779
priv = <optimized out>
path = 0x5596d2ad13c0
__func__ = "gtk_combo_box_set_active"
#6 0x00005596d207dd9c in fill_device_combo (settings=0x5596d2b0fcd0 [GSettings], preferences=0x5596d2c64620 [NetspeedPreferences]) at netspeed-preferences.c:219
devices = 0x5596d2865c40 = {0x5596d2c7b700, 0x5596d28f09e0, 0x5596d2b0f840, 0x5596d2c41ce0, 0x5596d2c78f70, 0x5596d2ce83e0}
i = <optimized out>
active = 1
ptr = <optimized out>
current_device_name = 0x5596d2caaea0 "tun0"
auto_change_device = 0
preferences = 0x5596d2c64620 [NetspeedPreferences]
settings = 0x5596d2b0fcd0 [GSettings]
#7 netspeed_preferences_new (netspeed=<optimized out>) at netspeed-preferences.c:236
preferences = 0x5596d2c64620 [NetspeedPreferences]
settings = 0x5596d2b0fcd0 [GSettings]
#8 0x00005596d2079f78 in settings_cb (action=<optimized out>, netspeed=0x5596d271e5c0 [NetspeedApplet]) at netspeed.c:1097
__func__ = "settings_cb"
#12 0x00007f55a33d3c63 in <emit signal ??? on instance 0x5596d2ae2510 [GtkAction]> (instance=instance@entry=0x5596d2ae2510, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffd49d13510, reg_save_area = 0x7ffd49d13450}}
#9 0x00007f55a33ba88a in g_closure_invoke (closure=0x5596d2b01e70, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7ffd49d132b0, invocation_hint=invocation_hint@entry=0x7ffd49d13230) at ../gobject/gclosure.c:810
marshal = 0x7f55a33bcb90 <g_cclosure_marshal_VOID__VOID>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x5596d2b01e50
__func__ = "g_closure_invoke"
#10 0x00007f55a33cd423 in signal_emit_unlocked_R (node=node@entry=0x5596d27ed070, detail=detail@entry=0, instance=instance@entry=0x5596d2ae2510, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd49d132b0) at ../gobject/gsignal.c:3742
tmp = <optimized out>
handler = 0x5596d2b18380
accumulator = 0x0
emission = {next = 0x7ffd49d13620, instance = 0x5596d2ae2510, ihint = {signal_id = 194, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 0x4 [void]}
hlist = <optimized out>
handler_list = 0x5596d2b18380
return_accu = 0x0
accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 194
max_sequential_handler_number = 2258
return_value_altered = <optimized out>
#11 0x00007f55a33d3af9 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd49d13430) at ../gobject/gsignal.c:3498
instance_and_params = 0x7ffd49d132b0
signal_return_type = <optimized out>
param_values = 0x7ffd49d132c8
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#13 0x00007f55a3920a35 in _gtk_action_emit_activate (action=0x5596d2ae2510 [GtkAction]) at deprecated/gtkaction.c:909
group = 0x5596d2ab8f40 [GtkActionGroup]
#14 0x00007f55a33baae6 in _g_closure_invoke_va (closure=closure@entry=0x5596d26e4b40, return_value=return_value@entry=0x0, instance=instance@entry=0x5596d2afe840, args=args@entry=0x7ffd49d13720, n_params=0, param_types=0x0) at ../gobject/gclosure.c:873
marshal = 0x7f55a33b8d00 <g_type_class_meta_marshalv>
marshal_data = 0x3f8
in_marshal = 0
real_closure = 0x5596d26e4b20
__func__ = "_g_closure_invoke_va"
#15 0x00007f55a33d36e9 in g_signal_emit_valist (instance=0x5596d2afe840, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffd49d13720) at ../gobject/gsignal.c:3407
return_accu = 0x0
accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
accumulator = 0x0
emission = {next = 0x7ffd49d139f0, instance = 0x5596d2afe840, ihint = {signal_id = 111, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 0x5596d2827b10 [GtkImageMenuItem/GtkMenuItem/GtkBin/GtkContainer/GtkWidget/GInitiallyUnowned]}
signal_id = 111
instance_type = 0x5596d2827b10 [GtkImageMenuItem/GtkMenuItem/GtkBin/GtkContainer/GtkWidget/GInitiallyUnowned]
emission_return = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = 0x4 [void]
static_scope = 0
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = 1
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#16 0x00007f55a33d3c63 in g_signal_emit (instance=instance@entry=0x5596d2afe840, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffd49d13800, reg_save_area = 0x7ffd49d13740}}
#17 0x00007f55a3c14b2c in gtk_widget_activate (widget=widget@entry=0x5596d2afe840 [GtkImageMenuItem]) at gtkwidget.c:7841
__func__ = "gtk_widget_activate"
#18 0x00007f55a3ad6a0e in gtk_menu_shell_activate_item (menu_shell=0x5596d2afc2c0 [GtkMenu], menu_item=0x5596d2afe840 [GtkImageMenuItem], force_deactivate=<optimized out>) at gtkmenushell.c:1375
slist = <optimized out>
shells = 0x5596d2ad7350 = {0x5596d2afc2c0}
deactivate = <optimized out>
__func__ = "gtk_menu_shell_activate_item"
#19 0x00007f55a3ad6ce3 in gtk_menu_shell_button_release (widget=0x5596d2afc2c0 [GtkMenu], event=<optimized out>) at gtkmenushell.c:791
submenu = 0x0
menu_item = 0x5596d2afe840 [GtkImageMenuItem]
deactivate = 1
menu_shell = 0x5596d2afc2c0 [GtkMenu]
priv = 0x5596d2afc160
#20 0x00007f55a3c6938c in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x5596d26d53d0, return_value=0x7ffd49d13a20, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x5596d26d5400) at gtkmarshalers.c:129
data1 = 0x5596d2afc2c0
data2 = <optimized out>
callback = 0x7f55a3ac8bf0 <gtk_menu_button_release>
v_return = <optimized out>
arg0 = 0x5596d26bfda0
args_copy = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffd49d13bd0, reg_save_area = 0x7ffd49d13b10}}
__func__ = "_gtk_marshal_BOOLEAN__BOXEDv"
#21 0x00007f55a33baae6 in _g_closure_invoke_va (closure=closure@entry=0x5596d26d53d0, return_value=return_value@entry=0x7ffd49d13a20, instance=instance@entry=0x5596d2afc2c0, args=args@entry=0x7ffd49d13af0, n_params=1, param_types=0x5596d26d5400) at ../gobject/gclosure.c:873
marshal = 0x7f55a33b8d00 <g_type_class_meta_marshalv>
marshal_data = 0x188
in_marshal = 0
real_closure = 0x5596d26d53b0
__func__ = "_g_closure_invoke_va"
#22 0x00007f55a33d2e4b in g_signal_emit_valist (instance=0x5596d2afc2c0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7ffd49d13af0) at ../gobject/gsignal.c:3407
return_accu = 0x7ffd49d13a20
accu = {g_type = 0x14 [gboolean], data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
accumulator = 0x5596d26d5690
emission = {next = 0x0, instance = 0x5596d2afc2c0, ihint = {signal_id = 61, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 0x5596d26e6780 [GtkMenu/GtkMenuShell/GtkContainer/GtkWidget/GInitiallyUnowned]}
signal_id = 61
instance_type = 0x5596d26e6780 [GtkMenu/GtkMenuShell/GtkContainer/GtkWidget/GInitiallyUnowned]
emission_return = {g_type = 0x14 [gboolean], data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
rtype = 0x14 [gboolean]
static_scope = 0
fastpath_handler = <optimized out>
closure = <optimized out>
run_type = <optimized out>
hlist = <optimized out>
l = <optimized out>
fastpath = 1
instance_and_params = <optimized out>
signal_return_type = <optimized out>
param_values = <optimized out>
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#23 0x00007f55a33d3c63 in g_signal_emit (instance=instance@entry=0x5596d2afc2c0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3554
var_args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffd49d13bd0, reg_save_area = 0x7ffd49d13b10}}
#24 0x00007f55a3c12474 in gtk_widget_event_internal (widget=0x5596d2afc2c0 [GtkMenu], event=0x5596d26bfda0) at gtkwidget.c:7808
signal_num = <optimized out>
return_val = <optimized out>
handled = 0
__func__ = "gtk_widget_event_internal"
#25 0x00007f55a3c146e2 in gtk_widget_event_internal (event=<optimized out>, widget=<optimized out>) at gtkwidget.c:7687
return_val = 0
__func__ = "gtk_widget_event_internal"
__func__ = "gtk_widget_event"
#26 gtk_widget_event (widget=<optimized out>, event=<optimized out>) at gtkwidget.c:7378
__func__ = "gtk_widget_event"
#27 0x00005596d2afc2c0 in ()
#28 0x00007f5588003530 in ()
#29 0x00005596d26bfda0 in ()
#30 0x00005596d2afe840 in ()
#31 0x00005596d2afc2c0 in ()
#32 0x00005596d26c1800 in ()
#33 0x0000000000000000 in ()
full backtrace at https://www.dropbox.com/s/2h6vpfwyoll6jfy/backtrace-mate-netspeed-applet?dl=0
I am building mate-applets RPM from 1.25.2 tarball + this patch list:
# https://github.com/mate-desktop/mate-applets/pull/562
Patch1: mate-applets_0001-multiload-load-menu-from-resource-bundle.patch
# https://github.com/mate-desktop/mate-applets/commit/fb15e10
Patch2: mate-applets_0001-netspeed-code-style.patch
# https://github.com/mate-desktop/mate-applets/pull/559
Patch3: mate-applets_0001-multiload-increase-refresh-rate-range-setting.patch
Patch4: mate-applets_0002-multiload-Use-one-callback-for-each-of-the-spin-butt.patch
Patch5: mate-applets_0003-multiload-fix-interval-on-autoscaler_init-call.patch
Patch6: mate-applets_0004-multiload-Drop-scaler-from-GetNet.patch
Patch7: mate-applets_0005-multiload-compute-combined-network-data-on-GetNet-on.patch
Patch8: mate-applets_0006-multiload-use-bit-rate-in-netload-graph.patch
Patch9: mate-applets_0007-multiload-use-guint64-as-data-source-for-graphs.patch
# https://github.com/mate-desktop/mate-applets/pull/561
Patch10: mate-applets_0001-mateweather-set-values-before-connecting-signals-on-.patch
# https://github.com/mate-desktop/mate-applets/pull/560
Patch11: mate-applets_0001-mateweather-Avoid-NULL-pointer-dereferences-if-there.patch
Patch12: mate-applets_0002-mateweather-Do-not-update-panel-when-upgrade-process.patch
# https://github.com/mate-desktop/mate-applets/pull/564
Patch13: mate-applets_0001-netspeed-show-all-IP-addresses-on-tooltip-if-enabled.patch
# https://github.com/mate-desktop/mate-applets/pull/568
Patch14: mate-applets_0001-netspeed-show-all-ipv6-addrs-in-device-details-dialo.patch
# https://github.com/mate-desktop/mate-applets/commit/221527
Patch15: mate-applets_0001-netspeed-improve-display-of-IPv6-addresses-in-device.patch
# https://github.com/mate-desktop/mate-applets/commit/6f974b
Patch16: mate-applets_0002-netspeed-Fix-display-of-IP-if-no-IPv4-is-configured.patch
# https://github.com/mate-desktop/mate-applets/commit/92c556
Patch17: mate-applets_0003-netspeed-fix-line-indent.patch
# https://github.com/mate-desktop/mate-applets/commit/7ec74a
Patch18: mate-applets_0004-netspeed-NetspeedApplet-subclass-of-MatePanelApplet.patch
# https://github.com/mate-desktop/mate-applets/commit/028c44
Patch19: mate-applets_0005-netspeed-refactor-variable-names.patch
# https://github.com/mate-desktop/mate-applets/commit/dddc1a
Patch20: mate-applets_0006-netspeed-connect-the-widget-signal-handlers-on-class.patch
# https://github.com/mate-desktop/mate-applets/commit/eddd08
Patch21: mate-applets_0007-multiload-Add-properties.ui.patch
# https://github.com/mate-desktop/mate-applets/commit/181184
Patch22: mate-applets_0008-stickynotes-improve-code-style.patch
# https://github.com/mate-desktop/mate-applets/pull/571
Patch23: mate-applets_0009-trashapplet-Upgrade-trashapplet-empty-progress.ui.patch
# https://github.com/mate-desktop/mate-applets/pull/569
Patch24: mate-applets_0001-geyes-Remove-conversion-warnings.patch
# https://github.com/mate-desktop/mate-applets/pull/570
Patch25: mate-applets_0001-mateweather-Remove-conversion-warnings.patch
# https://github.com/mate-desktop/mate-applets/pull/581
Patch26: mate-applets_0001-netspeed-Add-NetspeedPreferences-class.patch
# https://github.com/mate-desktop/mate-applets/commit/92d4e55
Patch27: mate-applets_0001-netspeed-fix-typo.patch
# https://github.com/mate-desktop/mate-applets/commit/f15e91b
Patch28: mate-applets_0002-multiload-fix-typo-reported-by-translator.patch
# https://github.com/mate-desktop/mate-applets/pull/589
Patch29: mate-applets_0003-netspeed-preferences-disconnect-a-signal-handler-on-.patch
Do i miss something?
For some reason duplicating your sequence (open prefs, change device monitored, close prefs, open prefs again,change device again, close prefs again) still didn't crash the applet with a build from git master as of 12-24-2020 (last build I packaged as a .deb) on my box
Hmm, applet crashes for me in f32 when
- Changing device in Combo box
- Closing preferences
- opening preferences again.
- boom!
g_str_equal (devices->data, current_device_name)
(devices = 0x0)https://github.com/mate-desktop/mate-applets/pull/592 fixes the problem for me. Thanks. Should i merge both PRs?
@raveit65 I think it's best not to merge them, as changes can be better followed if they are separated into small work units.
Ok, but https://github.com/mate-desktop/mate-applets/pull/592 fixes the issue in master and is independent from this one, or not?
The last three requests modify the same file in different parts, but they fix three different issues which can be isolated in their pull request. There are no merge conflicts between them, so there is no need to group them into a single one.