RobertKrajewski / Sync-my-L2P

DOWNLOAD HERE: https://github.com/RobertKrajewski/Sync-my-L2P/releases/latest
http://www.syncmyl2p.de/
GNU Lesser General Public License v3.0
82 stars 27 forks source link

Cannot load settings on startup #106

Closed youngpilot closed 7 years ago

youngpilot commented 7 years ago

Hi, I got a problem since I installed Sync-my-L2P on my new MacBook Pro with TouchBar, newest Version of macOS: It doesnt save any of my settings. I already reinstalled Sync-my-L2P, but nothing changed. The log states the following: ERROR 12:24:25.818 Kann keine Daten von Festplatte laden : No such file or directory INFO 12:24:26.321 Diese Version ist aktuell ( 20200 ) INFO 12:25:49.608 Erreichbarkeitsrequest INFO 12:25:49.914 Erreichbarkeit festgestellt ...

LingMan commented 7 years ago

Same (similar?) problem for me on Windows 7 x64.

ERROR 00:16:46.489 Kann keine Daten von Festplatte laden :  Das System kann den angegebenen Pfad nicht finden. 
INFO  00:16:47.029 Diese Version ist aktuell  ( 20200 ) 

When closing the program I get an error message saying that the course information could not be saved because - again - the path can not be found. It would be nice to at least show which path could not be found.

RobertKrajewski commented 7 years ago

Try to run as Administrator. It seems as if some access rights are missing

LingMan commented 7 years ago

Exactly the same error messages if it's run as admin.

RobertKrajewski commented 7 years ago

The path is shown after enabling the "advanced" logging. Unfortunately, you can't enable it if this error occurs. Here is the code which determines the Path to save/load settings to/from: https://github.com/Sync-my-L2P/Sync-my-L2P/blob/cdaf64c61f995e91018fed36ee3977657dc7fb74/l2pitemmodel.cpp#L89-L93 The code says, it is trying to access QStandardPaths::AppLocalDataLocation, which can be looked up here: http://doc.qt.io/qt-5/qstandardpaths.html

So on Windows QT tries to use on of the following directories: "C:/Users//AppData/Local/", "C:/ProgramData/", "", "/data"

RobertKrajewski commented 7 years ago

The paths in my previous comment are missing < Username >, but the edit functionality doesn't work.

RobertKrajewski commented 7 years ago

Oh, I see you can switch to advanced logging. The program is trying to write to C:/Users/< User >/AppData/Local/Sync-my-L2P/Sync-my-L2P, but I doesn't work because it can't create these directories if they don't exist. A working solution for this problem is currently to create these directories manually.

LingMan commented 7 years ago

"C:/Users/< User >/AppData/Local" already existed on my system. Creating the subfolders "Sync-my-L2P/Sync-my-L2P" fixed the problem but is obviously not an ideal solution. Sync-my-L2P shouldn't have any trouble creating these folders so the question is why it fails.

RobertKrajewski commented 7 years ago

Here is the line creating the path: https://github.com/Sync-my-L2P/Sync-my-L2P/blob/cdaf64c61f995e91018fed36ee3977657dc7fb74/l2pitemmodel.cpp#L146

As this line worked in the past, I'm not sure what causes this problem. I will debug it as soon as possible.

LingMan commented 7 years ago

Strange indeed. There's not even a mention of "Konnte Pfad für Speicherung der Kursinformationen nicht erstellen" in my logs. Can you reproduce the problem or do you need my help for debugging?

RobertKrajewski commented 7 years ago

I can reproduce this bug. You can't see the message in the logs because they are written to the (not visible) console. This is another error.

severoraz commented 7 years ago

I can confirm that this workaround works on GNU/Linux, where the path would be "~/.local/share/Sync-my-L2P/Sync-my-L2P". After creating the folders and running the application, you should see a data.xml file created in the directory.

RobertKrajewski commented 7 years ago

Should be fixed in the commit 99f219e29e366101736003eed560b398b2e4fafc as I didn't notice before