I don't know exactly when it happens, but I observed this after suspend/resume and attaching an additional monitor: Program received signal SIGSEGV, Segmentation fault. __strcmp_sse2 () at ../sysdeps/x86_64/multiarch/../strcmp.S:213 213 ../sysdeps/x86_64/multiarch/../strcmp.S: Datei oder Verzeichnis nicht gefunden. (gdb) bt #0 __strcmp_sse2 () at ../sysdeps/x86_64/multiarch/../strcmp.S:213 #1 0x00007f3180c9d617 in transcmp (p1=0x7fff3f799aa0, p2=0xd1e1a0) at dcigettext.c:240 #2 0x00007f3180d52c02 in __tfind (key=0x7fff3f799aa0, vrootp=<optimized out>, compar=0x7f3180c9d5f0 <transcmp>) at tsearch.c:321 #3 0x00007f3180c9e3ca in __dcigettext (domainname=0xd56af0 "xfce4-netload-plugin", msgid1=0x2 <Address 0x2 out of bounds>, msgid2=0x0, plural=0, n=0, category=5) at dcigettext.c:485 #4 0x00000000004095b7 in format_byte_humanreadable (string=0x7fff3f79fc30 "4,00 ", stringsize=8192, number=<optimized out>, digits=2) at utils.c:151 #5 0x0000000000408a15 in update_monitors (global=0xd56a20) at netload.c:241 #6 update_monitors (global=0xd56a20) at netload.c:147 #7 0x00007f318148a5ab in g_timeout_dispatch (source=0xe021b0, callback=<optimized out>, user_data=<optimized out>) at gmain.c:3882 #8 0x00007f31814899e3 in g_main_dispatch (context=0xd561c0) at gmain.c:2539 #9 g_main_context_dispatch (context=0xd561c0) at gmain.c:3075 #10 0x00007f3181489d30 in g_main_context_iterate (dispatch=1, block=<optimized out>, context=0xd561c0, self=<optimized out>) at gmain.c:3146 #11 g_main_context_iterate (context=0xd561c0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3083 #12 0x00007f318148a12a in g_main_loop_run (loop=0xe0c790) at gmain.c:3340 #13 0x00007f31826deac7 in IA__gtk_main () at gtkmain.c:1257 #14 0x0000000000405200 in main (argc=8, argv=0x7fff3f7aff68) at netload.c:1264 utils.c:151 /* Add the unit name */ --> g_strlcat(string, _(unit_names[uidx]), stringsize); => diff --git a/panel-plugin/utils.c b/panel-plugin/utils.c index 30647af..c546803 100644 --- a/panel-plugin/utils.c +++ b/panel-plugin/utils.c @@ -97,7 +97,7 @@ char* format_byte_humanreadable(char* string, int stringsize, double number, int } /* calculate number and appropriate unit size for display */ - while(number_displayed >= 1024.0 && uidx < sizeof(unit_names)) + while(number_displayed >= 1024.0 && uidx < sizeof(unit_names) - 1) { number_displayed /= 1024.0; uidx++; -- uidx == sizeof(unit_names) would be out of bounds, right?
git commit f206729df5064f2414a542b37b18079ee3e13fe8
*** Bug 9443 has been marked as a duplicate of this bug. ***