lxqt / lxqt

Checkout all LXQt components at once by using git submodule. Discussions, Wiki and general issues are here.
https://lxqt-project.org
1.61k stars 129 forks source link

Pcmanfm-qt fails date display #1422

Closed stefonarch closed 6 years ago

stefonarch commented 6 years ago

At some point all dates in "property" and "detailed list view" appear as //70 or //69 Other timestamps are all ok, terminal and dolphin display year correctly.

Expected Behavior

See the year...

Current Behavior

year of files is only 69 or 70

Possible Solution
Context

Some days ago I saw the same thing on IRC:

mercoledì 29 novembre 2017] [12:20:08 CET] ls -l test.txt I see the date [mercoledì 29 novembre 2017] [12:20:48 CET] when I start pcmanfm-qt the same file has a date like 21.03.1970 [mercoledì 29 novembre 2017] [12:21:05 CET] my locale is DE [mercoledì 29 novembre 2017] [12:21:52 CET] how can I fix it? [mercoledì 29 novembre 2017] [12:23:52 CET] all files have a date like ..1970 [mercoledì 29 novembre 2017] [12:24:22 CET] the terminal shows the exact date

System Information
tsujan commented 6 years ago

If only I can reproduce this with a file.... I can usually find bugs that happen rarely but have never seen this one.

tsujan commented 6 years ago

(1) Has this started to happen recently? If yes, with which Qt version?

(2) Does it happen only with specific mime types (png image, text file,...)?

(3) Could you give an example of mod. time as reported incorrectly by pcmanfm-qt and correctly by Dolphin (exact strings)?

tsujan commented 6 years ago

And:

(4) Are the wrong mod. times only 70 and 69 -- are they only near 70?

tsujan commented 6 years ago

And, perhaps, more importantly:

(5) Does it happen only on 32-bit systems?

stefonarch commented 6 years ago

1) recently, but no idea when. Arch dropped 32 bit support some weeks ago. 2) all files 3) you mean screens of "property"? 4) dezember files have '70, other '69 5) yes

I noticed that timestamps has also wrong date: exact from terminal: 2017-12-11 10:31 pcmanfm-qt: 14/01/70 10:10

it looks like counting from zero somewhere in november. I disinstalled some stuff but cannot see any relation:

317 [2017-11-06 09:19] removed rfkill (0.5-2)
102 [2017-11-15 17:40] removed firefox-i18n-it (56.0.2-1)
90  [2017-11-22 18:47] removed papirus-icon-theme-kde (20160819-1)
89  [2017-11-22 18:47] removed plasma-desktop (5.11.3-1)
88  [2017-11-22 18:47] removed kmenuedit (5.11.3-1)
87  [2017-11-22 18:47] removed plasma-wayland-session (5.11.3-1)
86  [2017-11-22 18:47] removed khotkeys (5.11.3-1)
85  [2017-11-22 18:47] removed plasma-workspace (5.11.3-1)
84  [2017-11-22 18:48] removed milou (5.11.3-1)
83  [2017-11-22 18:48] removed krunner (5.39.0-1)
82  [2017-11-22 18:48] removed latte-dock (0.7.1-2)
81  [2017-11-22 18:48] removed kwin (5.11.3-1)
80  [2017-11-22 18:48] removed plasma-integration (5.11.3-1)
79  [2017-11-22 18:48] removed plasma-framework (5.39.0-1)
78  [2017-11-22 18:48] removed kde-cli-tools (5.11.3-1)
77  [2017-11-22 18:48] removed kdesu (5.39.0-1)
76  [2017-11-22 18:48] removed kdeartwork-colorschemes (15.08.3-2)
75  [2017-11-22 18:49] removed kolourpaint (17.08.2-1)
74  [2017-11-22 18:49] removed knetattach (5.11.3-1)
73  [2017-11-22 18:49] removed kdelibs4support (5.39.0-1)
72  [2017-11-22 18:49] removed kded (5.39.0-1)
71  [2017-11-22 18:50] removed kdemultimedia-mplayerthumbs (16.04.3-1)
70  [2017-11-22 18:50] removed kscreenlocker (5.11.3-1)
69  [2017-11-22 18:50] removed kdebase-runtime (17.08.2-1)
68  [2017-11-22 18:52] removed libkcddb4 (16.08.3-1)
67  [2017-11-22 18:52] removed kdelibs (4.14.37-1)
66  [2017-11-22 18:52] removed ktouch (17.08.2-1)
44  [2017-11-26 21:52] removed octopi-frameworks (0.5.0-1)
43  [2017-11-29 19:14] removed python2-jsonrpclib (0.1.7-2)
36  [2017-11-30 17:52] removed xscreensaver (5.37-1)
35  [2017-11-30 17:52] removed xorg-appres (1.0.4-1)
34  [2017-11-30 17:52] removed perl-libwww (6.26-3)
33  [2017-11-30 17:52] removed perl-www-robotrules (6.02-4)
32  [2017-11-30 17:52] removed perl-try-tiny (0.28-3)
31  [2017-11-30 17:52] removed perl-net-http (6.17-1)
30  [2017-11-30 17:52] removed perl-http-negotiate (6.01-4)
29  [2017-11-30 17:52] removed perl-http-daemon (6.01-5)
28  [2017-11-30 17:52] removed perl-http-cookies (6.04-2)
27  [2017-11-30 17:52] removed perl-http-message (6.13-2)
26  [2017-11-30 17:52] removed perl-io-html (1.001-3)
25  [2017-11-30 17:52] removed perl-uri (1.72-2)
24  [2017-11-30 17:52] removed perl-lwp-mediatypes (6.02-4)
23  [2017-11-30 17:52] removed perl-html-parser (3.72-5)
22  [2017-11-30 17:52] removed perl-html-tagset (3.20-6)
21  [2017-11-30 17:52] removed perl-file-listing (6.04-4)
20  [2017-11-30 17:52] removed perl-http-date (6.02-4)
19  [2017-11-30 17:52] removed perl-encode-locale (1.05-3)
tsujan commented 6 years ago

Could you replace all occurrences of time_t with quint64 in libfm-qt/src/core/fileinfo.h, recompile and install the changed libfm-qt on your 32bit system and check whether the problem is gone? (You don't need to recompile pcmanfm-qt unless it's compiled against an older libfm-qt.)

tsujan commented 6 years ago

You'll need to restart pcmanfm-qt after that, of course.

stefonarch commented 6 years ago

a) there is an "edit button" for additional info ;) b) it's an installation with the officials precompiled arch packages, so I should search for the source of lifm-qt version installed?

tsujan commented 6 years ago

a) there is an "edit button" for additional info ;)

Which doesn't send any notification -- good on most occasions, bad on some.

b) it's an installation with the officials precompiled...

As far as I remember, you had no problem with compilation from sources. You could compile and install the latest git libfm-qt and pcmanfm-qt and give us more feedback on recent features/changes. If something goes wrong, you could install official packages again.

stefonarch commented 6 years ago

You are a genius :) Solved by only compiling libfm-qt-git with the 6 replacements you proposed and restarting the desktop.

tsujan commented 6 years ago

@stefonarch Thanks a lot for your test! It shows that, on Linux, time_t is 32-bit on 32-bit systems (although a 64-bit integer is assigned to it in the code). I wasn't sure about that before your test.

stefonarch commented 6 years ago

Just noticed that pcman-qt crashes often now, so I recompiled it also and this seems solving definitely. And I should have opened the issue in https://github.com/lxde/pcmanfm-qt/issues

tsujan commented 6 years ago

so I recompiled it also and this seems solving definitely.

Yes, recompiling pcmanfm-qt should fix the problem; if not, please tell me!

tsujan commented 6 years ago

BTW, pcmanfm-qt should NOT crash under any circumstances -- and it doesn't here, except for https://github.com/lxde/pcmanfm-qt/issues/555. So, provided that the compilations are OK, please attach a backtrace if you encounter a crash!

Although I think the above-mentioned change is needed for 32-bit, I'll wait a few days before making a PR for this.

stefonarch commented 6 years ago

After compiling it no crashes anymore in these days...