Crash when a file has a corrupt timestamp
Hi,
I'm seeing a segfault when navigating to /var
in Thunar 4.17.7 on Linux.
Backtrace:
#0 thunar_util_humanize_file_time (file_time=3617007572440068653, date_style=THUNAR_DATE_STYLE_YYYYMMDD, date_custom_style=0x555555e32130 "%Y-%m-%d %H:%M:%S") at thunar-util.c:413
#1 0x00005555555b17ab in thunar_file_get_date_string
(file=0x7fffd0019720, date_type=THUNAR_FILE_DATE_CREATED, date_style=THUNAR_DATE_STYLE_YYYYMMDD, date_custom_style=0x555555e32130 "%Y-%m-%d %H:%M:%S") at thunar-file.c:2180
#2 0x00005555555c9ad1 in thunar_list_model_get_value (model=0x555555b3c9e0, iter=0x5555558f4ae0, column=0, value=0x7ffffffeecc0) at thunar-list-model.c:744
#3 0x00007ffff787d1a8 in () at /usr/lib64/libgtk-3.so.0
#4 0x00007ffff7151610 in g_hash_table_foreach () at /usr/lib64/libglib-2.0.so.0
#5 0x00007ffff787d07b in () at /usr/lib64/libgtk-3.so.0
#6 0x00007ffff788279b in () at /usr/lib64/libgtk-3.so.0
#7 0x00007ffff7b2dd87 in () at /usr/lib64/libgtk-3.so.0
#8 0x00007ffff72597d1 in () at /usr/lib64/libgobject-2.0.so.0
#9 0x00007ffff72717e8 in g_signal_emit_valist () at /usr/lib64/libgobject-2.0.so.0
#10 0x00007ffff72719c7 in g_signal_emit () at /usr/lib64/libgobject-2.0.so.0
#11 0x00007ffff787edc6 in gtk_cell_area_apply_attributes () at /usr/lib64/libgtk-3.so.0
#12 0x00007ffff7ac15e0 in () at /usr/lib64/libgtk-3.so.0
#13 0x00007ffff79dc16f in () at /usr/lib64/libgtk-3.so.0
#14 0x00007ffff7aad13f in () at /usr/lib64/libgtk-3.so.0
#15 0x00007ffff7adc2f4 in () at /usr/lib64/libgtk-3.so.0
#16 0x00007ffff78b3221 in gtk_container_propagate_draw () at /usr/lib64/libgtk-3.so.0
#17 0x00007ffff78b332c in () at /usr/lib64/libgtk-3.so.0
#18 0x00007ffff7a0b1c9 in () at /usr/lib64/libgtk-3.so.0
#19 0x00007ffff78b84ed in () at /usr/lib64/libgtk-3.so.0
#20 0x00007ffff78bd519 in () at /usr/lib64/libgtk-3.so.0
#21 0x00007ffff7a08d91 in () at /usr/lib64/libgtk-3.so.0
#22 0x0000555555601fa0 in thunar_standard_view_draw (widget=0x555555e701e0, cr=0x5555557df980) at thunar-standard-view.c:1213
#23 0x00007ffff7adc2f4 in () at /usr/lib64/libgtk-3.so.0
#24 0x00007ffff78b3221 in gtk_container_propagate_draw () at /usr/lib64/libgtk-3.so.0
#25 0x00007ffff79abb8a in () at /usr/lib64/libgtk-3.so.0
#26 0x00007ffff78b84ed in () at /usr/lib64/libgtk-3.so.0
#27 0x00007ffff78bd519 in () at /usr/lib64/libgtk-3.so.0
#28 0x00007ffff7867f23 in () at /usr/lib64/libgtk-3.so.0
#29 0x00007ffff78bd519 in () at /usr/lib64/libgtk-3.so.0
#30 0x00007ffff79aa70c in () at /usr/lib64/libgtk-3.so.0
#31 0x00007ffff7adc2f4 in () at /usr/lib64/libgtk-3.so.0
...
Seems something is amiss in my timestamps, or timestamp parsing/generation? For reference:
$ stat /var /var/*
File: /var
Size: 76 Blocks: 0 IO Block: 4096 directory
Device: 12h/18d Inode: 103523 Links: 1
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-19 12:30:05.133189723 +0100
Modify: 2021-06-29 02:33:18.338288325 +0200
Change: 2021-06-29 02:33:18.338288325 +0200
Birth: 2019-12-10 15:54:10.994592219 +0100
File: /var/cache
Size: 216 Blocks: 0 IO Block: 4096 directory
Device: 12h/18d Inode: 110025 Links: 1
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-16 12:43:40.836524901 +0100
Modify: 2021-06-13 15:20:56.758283717 +0200
Change: 2021-06-13 15:20:56.758283717 +0200
Birth: 2019-12-10 15:54:11.266590764 +0100
File: /var/db
Size: 66 Blocks: 0 IO Block: 4096 directory
Device: 12h/18d Inode: 103560 Links: 1
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-19 12:30:05.153189723 +0100
Modify: 2021-12-19 13:28:48.026524147 +0100
Change: 2021-12-19 13:28:48.026524147 +0100
Birth: 2019-12-10 15:54:10.998592198 +0100
File: /var/empty
Size: 98 Blocks: 0 IO Block: 4096 directory
Device: 12h/18d Inode: 103537 Links: 1
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-19 12:30:05.153189723 +0100
Modify: 2021-11-03 12:07:26.386669074 +0100
Change: 2021-11-03 12:07:26.386669074 +0100
Birth: 2019-12-10 15:54:10.998592198 +0100
File: /var/games
Size: 30 Blocks: 0 IO Block: 4096 directory
Device: 12h/18d Inode: 20356177 Links: 1
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-19 12:30:05.366523057 +0100
Modify: 2021-06-29 02:33:18.338288325 +0200
Change: 2021-06-29 02:33:18.338288325 +0200
Birth: 2021-06-29 02:33:18.338288325 +0200
File: /var/lib
Size: 600 Blocks: 0 IO Block: 4096 directory
Device: 12h/18d Inode: 103543 Links: 1
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-19 12:30:05.153189723 +0100
Modify: 2021-12-02 20:50:56.197162952 +0100
Change: 2021-12-02 20:50:56.197162952 +0100
Birth: 2019-12-10 15:54:10.998592198 +0100
File: /var/lock -> /run/lock
Size: 9 Blocks: 8 IO Block: 4096 symbolic link
Device: 12h/18d Inode: 787045 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-19 12:26:03.896522982 +0100
Modify: 2019-12-11 16:20:59.263000003 +0100
Change: 2019-12-11 16:20:59.263000003 +0100
Birth: 2019-12-11 16:20:59.263000003 +0100
File: /var/log
Size: 1734 Blocks: 0 IO Block: 4096 directory
Device: 12h/18d Inode: 103524 Links: 1
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-19 12:30:05.133189723 +0100
Modify: 2021-12-12 00:00:01.494691333 +0100
Change: 2021-12-12 00:00:01.494691333 +0100
Birth: 3617007572440068653.2054696499
File: /var/run -> /run
Size: 4 Blocks: 8 IO Block: 4096 symbolic link
Device: 12h/18d Inode: 111159 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-19 12:26:00.016522981 +0100
Modify: 2019-12-04 22:53:32.718033912 +0100
Change: 2019-12-10 15:54:11.638588773 +0100
Birth: 2019-12-10 15:54:11.638588773 +0100
File: /var/spool
Size: 72 Blocks: 0 IO Block: 4096 directory
Device: 12h/18d Inode: 103535 Links: 1
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-19 12:30:05.133189723 +0100
Modify: 2019-12-17 15:44:41.910331542 +0100
Change: 2019-12-17 15:44:41.910331542 +0100
Birth: 2019-12-10 15:54:10.998592198 +0100
File: /var/tmp
Size: 220 Blocks: 0 IO Block: 4096 directory
Device: 12h/18d Inode: 103540 Links: 1
Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-12-19 01:01:08.957609802 +0100
Modify: 2021-12-19 13:28:51.916524148 +0100
Change: 2021-12-19 13:28:51.916524148 +0100
Birth: 2019-12-10 15:54:10.998592198 +0100
Thanks!