-
-
Notifications
You must be signed in to change notification settings - Fork 651
Open
Labels
bugrelated to incorrect existing implementation of some functionalityrelated to incorrect existing implementation of some functionalitytextrelated to `conky.text` variables, their parsing or implementationrelated to `conky.text` variables, their parsing or implementation
Description
What happened?
Crash reported by @GalacticSun in #2236.
Stack trace looks like a double free in store_graph. I'm not sure from the context, but I think the laptop was being restored from sleep.
Version
1.22.3-pre-16bb8d88
Which OS/distro are you seeing the problem on?
Ubuntu
Conky config
Details
conky.config = {
alignment = 'top_left',
background = false,
border_width = 1,
cpu_avg_samples = 2,
draw_borders = false,
draw_graph_borders = true,
draw_outline = false,
draw_shades = false,
use_xft = true,
font = 'DejaVu Sans Mono:size=10',
minimum_height = 5,
minimum_width = 215,
maximum_width = 215,
net_avg_samples = 2,
no_buffers = true,
out_to_console = false,
out_to_stderr = false,
extra_newline = false,
own_window = true,
own_window_transparent = false,
own_window_argb_visual = true,
own_window_argb_value = 70,
own_window_type = 'desktop',
own_window_class = 'Conky',
stippled_borders = 0,
update_interval = 1,
update_interval_on_battery = 2,
uppercase = false,
use_spacer = 'none',
show_graph_scale = false,
show_graph_range = false,
double_buffer = true,
gap_x = 1460,
gap_y = 365
--colours:
default_color = 'white',
default_outline_color = 'white',
default_shade_color = 'white',
color1 = '1793d1', --blue,
color2 = 'FE1B1B', --red,
color3 = '84F66E', --green,
color4 = 'FEFD1B', --yellow
color5 = 'ff5500', --reddish-orange
lua_load = '~/.conky/conky_myluafunctions.lua',
-- For the gauges, from https://www.deviantart.com/mr-mattz/art/Conky-And-Lua-644711793
lua_draw_hook_pre = 'main'
};
conky.text = [[
# ----------------------------------------
# ----- TIME, DATE, & WIFI STATUS -------
# ----------------------------------------
${voffset -5}${font :size=14}${time %l:%M%P}${font}${font :size=8} ${alignr}${font :size=8}${time %a, %b %-d, %Y}${font}
# ----------------------------------------
# ----- PRINTER SERVICES -----------------
# ----------------------------------------
${voffset -3}${font :size=7}${if_match "${execi 7 systemctl is-active cups-browsed}" == "active"}\
${color red}Printer on${color} | ${else}\
Printer off | ${endif}\
# ----------------------------------
# ----- MIC MUTING -----------------
# ----------------------------------
${font :size=7}${if_match "${execi 5 amixer -D pipewire sget Capture | sed -n '5,6p' | grep -wq 'off'; echo $?}" == "0"}\
${goto 58}Mic muted\
${else}\
${goto 58}${color red}Mic not muted${color}\
${endif}\
${if_match "${execi 5 nmcli radio wifi}" == "disabled"} ${color red} WIFI OFF ${color}${endif}
# ------------------------------
# ----- UPTIME -----------------
# ------------------------------
${voffset -13}${alignr}${font :size=7}Up ${uptime}
# -------------------------------------
# ----- BACKUP STATUS -----------------
# -------------------------------------
${if_match "${execi 10 ~/.conky/is_backup_running_conky.sh}" == "A backup is running"}\
${font :size=7}${color red}A backup is running${color}\
${else}\
${if_match "${execi 30 ~/.conky/check_backup_date_homedir.php}" == "warning"}\
${color red}Backups: ${font :size=7}/home:${execi 3 cat ~/.conky/last_backup_homedir_logfile_datetime.txt}${color}\
${else}\
Backups: ${font :size=7}/home:${execi 3 cat ~/.conky/last_backup_homedir_logfile_datetime.txt}\
${endif}${endif}\
${if_match "${execi 20 ~/.conky/check_backup_date_systemdir.php}" == "warning"}\
${color red}${alignr}System: ${execi 3 cat ~/.conky/last_backup_filesystem_logfile_datetime.txt}${font}${color}\
${else}\
${alignr}System: ${execi 20 cat ~/.conky/last_backup_filesystem_logfile_datetime.txt}${font}\
${endif}
${voffset -12}$stippled_hr
# ---------------------------
# ----- CPU -----------------
# ---------------------------
${voffset 5}${color orange}${font :size=8}CPU:${color} ${voffset -3}${goto 77}${font :size=6}\
${if_match ${cpu cpu0} <= 60}${color white}${else}${if_match ${cpu cpu0} < 80}${color yellow}${else}${if_match ${cpu cpu0} > 79}${color5}${endif}${endif}${endif}\
${voffset -5}${goto 85}${freq_g } Ghz${color}${alignr}${font :size=6}${execi 5 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}
${alignr}${cpugraph cpu0 10,135 008844 ef010f -t}
${lua conky_gauge CPU % ${cpu cpu0} 100 75 90 60 80 }
# Display top two processes if cpu goes above certain amount
${if_match ${cpu cpu0} >= 60}${voffset -14}${alignr}${color yellow}${top name 1} ${top cpu 1}%${color}
${alignr}${voffset -5}${color yellow}${top name 2} ${top cpu 2}%${color}\
${else}\
# The following lines ARE correct, they are simulating empty lines, which is what avoids the redraw of the gauges.
${voffset -14}${alignr}
${alignr}${voffset -5} ${endif}
# ---------------------------
# ----- TEMP -----------------
# ---------------------------
${voffset -1}${color orange}${font :size=8}TEMP:${color} ${voffset 2}${goto 77}${font :size=6}\
${if_match ${cpu cpu0} <= 60}${color white}${else}${if_match ${cpu cpu0} < 80}${color yellow}${else}${if_match ${cpu cpu0} > 79}${color5}${endif}${endif}${endif}\
${voffset -9}${goto 85}${color}\
${if_match ${hwmon 1 temp 1} <= 81}${hwmon 1 temp 1}°C${alignr}${else}${if_match ${hwmon 1 temp 1} >= 82}${if_match ${hwmon 1 temp 1} < 90}${color yellow}HIGH TEMP! Running slower${color}${else}${if_match ${hwmon 1 temp 1} >= 90}${color red}CRITICAL TEMP! Running slower${color}${endif}${endif}${endif}${endif}
${voffset -3}${if_match ${hwmon 1 temp 1} <= 81}${alignr}${lua_bar 5,135 conky_tempavg}${else}${if_match ${hwmon 1 temp 1} >= 82}${if_match ${hwmon 1 temp 1} < 90}${color yellow}${alignr}${lua_bar 5,135 conky_tempavg}${color}${else}${if_match ${hwmon 1 temp 1} >= 90}${color red}${alignr}${lua_bar 5,135 conky_tempavg}${color}${endif}${endif}${endif}${endif}
${lua conky_gauge TEMP °C ${hwmon 1 temp 1} 100 82 90 60 115 }
# Display top two processes if temp goes above certain amount
${if_match ${hwmon 1 temp 1} >= 82}${voffset -16}${alignr}${color yellow}${top name 1} ${top cpu 1}%${color}
${alignr}${voffset -5}${color yellow}${top name 2} ${top cpu 2}%${color}\
${else}\
# The following lines ARE correct, they are simulating empty lines, which is what avoids the redraw of the gauges.
${voffset -16}${alignr}
${alignr}${voffset -5} ${endif}
# ---------------------------
# ----- LOAD ----------------
# ---------------------------
${voffset -2}${color orange}${font :size=8}LOAD:${color} ${voffset -2}${goto 83}${font :size=6}\
${if_match ${lua conky_loadavg} <= 60}${color white}${else}${if_match ${lua conky_loadavg} < 80}${color yellow}${else}${if_match ${lua conky_loadavg} > 79}${color5}${endif}${endif}${endif}\
${voffset -7}${goto 85}(${loadavg})${color}
${alignr}${lua_graph conky_loadavg 10,135 008844 ef010f -t}$font
${voffset -10}${alignr}${font :size=6}Power Mode: ${if_match ${execi 5 cat /sys/devices/system/cpu/cpu0/power/energy_perf_bias} == 0}Performance${else}${if_match ${execi 5 cat /sys/devices/system/cpu/cpu0/power/energy_perf_bias} == 15}Power Save${else}${if_match ${execi 5 cat /sys/devices/system/cpu/cpu0/power/energy_perf_bias} == 4}Balanced Performance${endif}${endif}${endif}
${lua conky_gauge LOAD % ${lua conky_loadavg} 100 60 85 60 147 }
# ---------------------------
# ----- FANS ----------------
# ---------------------------
${voffset -7}${color orange}${font :size=8}FANS:${color}
${voffset -20}${font :size=6}${goto 82}${execi 3 sensors | grep Left | cut -c14-18}
${goto 84}RPM
${voffset -24}${goto 152} ${execi 3 sensors | grep Right | cut -c14-18}
${goto 155}RPM$font
# Syntax: label/(no spaces) unit/(type nil if blank) measure/(conky_parse) max warn alarm xr yc ...
${lua conky_gauge FAN % ${exec sensors | grep Left | cut -c14-18 | awk '{print (($1-1980)/4200)*100}' | awk '{printf "%.0f\n", $1}'} 100 40 80 60 183 }
${lua conky_gauge FAN % ${exec sensors | grep Right | cut -c14-18 | awk '{print (($1-1985)/4200)*100}' | awk '{printf "%.0f\n", $1}'} 100 40 80 132 183 }
# ---------------------------
# ----- RAM / SWAP / DISK ---
# ---------------------------
${voffset -35}${color orange}${font :size=8}RAM:${color} ${font :size=6}$mem / $memmax ${membar}$font
${voffset -7}${color orange}${font :size=8}SWAP:${color} ${font :size=6}$swap / $swapmax ${swapbar}$font
${voffset -6}${color orange}${font :size=8}DISK:${color} ${font :size=6}${fs_free} free ${fs_bar 6 /}
${font :size=6}Read: ${diskio_read} Write: ${color 24d4c2}${diskio_write}${color} ${alignr}${diskiograph 9,100 b2f47c 3884AC -t}
# ---------------------------
# ----- NETWORKING ----------
# ---------------------------
${voffset 3}${color orange}${font :size=8}NETWORKING:${color} ${voffset -1}$stippled_hr
${goto 5}${font PizzaDudeBullets:size=8}O${font}${voffset -3}${goto 20}${font :size=6}Up: ${upspeed wlp3s0} ${alignr}${voffset -1}${upspeedgraph wlp3s0 10,120 FEC2A5 FA9C6F}
${voffset 4}${goto 5}${font PizzaDudeBullets:size=8}U${font}${voffset -3}${goto 20}${font :size=6}Down: ${downspeed wlp3s0} ${alignr}${voffset -1}${downspeedgraph wlp3s0 10,120 D9FFDF A5FEB3}
${voffset -19}
${if_match "${acpiacadapter}" != "on-line"}
$stippled_hr
${voffset -10}
# ---------------------------
# ----- BATTERY -------------
# ---------------------------
${color orange}${font :size=8}BATTERY:${color}${font :size=7} ${execi 3 upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep --color=never -E 'percentage' | awk '{print $2}' | tr -d '%' | grep -o '^[0-9]*'}% (${execi 5 upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep --color=never -E 'to\ empty' | awk '{printf $4 " " $5}' | tr -d '%'}) ${execbar upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep --color=never -E 'percentage' | awk '{print $2}' | tr -d '%'}
${font :size=6}Discharge Rate: ${execi 10 ~/.conky/discharge_rate_for_conky.sh} ${alignr}${execigraph 10 ~/.conky/discharge_rate_for_conky.sh 8,110 008844 ef010f -t}
${voffset -10}${endif}
# ---------------------------
# ----- CALENDAR ------------
# ---------------------------
${voffset 2}${color orange}${font :size=8}CALENDAR:${color} ${voffset -1}$stippled_hr
${voffset -5}${execpi 900 php ~/.conky/display_calendar_events.php}
# ---------------------------
# ----- AUDIO PLAYBACK ------
# ---------------------------
${if_match "${execi 3 playerctl --no-messages -p audacious status}" == "Playing"}\
${voffset 5}${color orange}${font LineAwesomeMod:size=11}c${font}${font :size=8} ${voffset -1}NOW PLAYING:${color} ${voffset -1}$stippled_hr
${goto 3}${voffset -1}${font :size=6}${execi 3 playerctl --no-messages -p audacious metadata artist | fold -sw 50}
${font DejaVu Sans Mono:size=10}♫${goto 11}${font :size=8} ${execi 3 playerctl --no-messages -p audacious metadata title | sed 's/http[^ ]*//g' | fold -sw 30 | sed 's/\+info:.*//' | sed 's/info:.*//' | sed 's/| |//' | perl -pe 'chomp if eof'}${font}\
${endif}
${voffset -87}
]];Stack trace
2025-09-22T08:47:55.706431-07:00 systemd[1]: Started systemd-coredump@3-3141853-0.service - Process Core Dump (PID 3141853/UID 0).
2025-09-22T08:47:56.327172-07:00 systemd-coredump[3141854]: Process 2255484 (conky) of user 1000 dumped core.
Module libgcc_s.so.1 from deb gcc-14-14.2.0-4ubuntu2~24.04.amd64
Module libstdc++.so.6 from deb gcc-14-14.2.0-4ubuntu2~24.04.amd64
Stack trace of thread 2255484:
#0 0x00007ecd31a9eb2c __pthread_kill_implementation (libc.so.6 + 0x9eb2c)
#1 0x00007ecd31a4527e __GI_raise (libc.so.6 + 0x4527e)
#2 0x00007ecd31a288ff __GI_abort (libc.so.6 + 0x288ff)
#3 0x00007ecd31a297b6 __libc_message_impl (libc.so.6 + 0x297b6)
#4 0x00007ecd31aa8ff5 malloc_printerr (libc.so.6 + 0xa8ff5)
#5 0x00007ecd31aab55f _int_free (libc.so.6 + 0xab55f)
#6 0x00007ecd31aaddae __GI___libc_free (libc.so.6 + 0xaddae)
#7 0x00005f3bb14c31ec _Z11store_graphiP12special_node (conky + 0x6c1ec)
#8 0x00005f3bb14c5b01 _Z9new_graphP11text_objectPcid (conky + 0x6eb01)
#9 0x00005f3bb14a1b25 _Z22generate_text_internalPci11text_object (conky + 0x4ab25)
#10 0x00005f3bb14a1e6d generate_text (conky + 0x4ae6d)
#11 0x00005f3bb14f5e30 _ZN5conky18display_output_x1114main_loop_waitEd (conky + 0x9ee30)
#12 0x00005f3bb14a2be3 _Z9main_loopv (conky + 0x4bbe3)
#13 0x00005f3bb1488e72 main (conky + 0x31e72)
#14 0x00007ecd31a2a1ca __libc_start_call_main (libc.so.6 + 0x2a1ca)
#15 0x00007ecd31a2a28b __libc_start_main_impl (libc.so.6 + 0x2a28b)
#16 0x00005f3bb148f735 _start (conky + 0x38735)Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugrelated to incorrect existing implementation of some functionalityrelated to incorrect existing implementation of some functionalitytextrelated to `conky.text` variables, their parsing or implementationrelated to `conky.text` variables, their parsing or implementation