Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

频繁丢失配置文件 #806

Closed
nonozone opened this issue Dec 26, 2021 · 16 comments
Closed

频繁丢失配置文件 #806

nonozone opened this issue Dec 26, 2021 · 16 comments

Comments

@nonozone
Copy link

声明:我已经仔细看过 文档FAQ、和搜索过已经关闭的 issues 后依然没有找到答案,所以才发了一个新的 issue。

问题类型

bug

PicGo 的相关信息

2.3.0, Windows11

问题重现

picgo频繁出现 配置丢失的情况,用了一段时间再重启电脑,突然所有的图床设置都没有了,要重新配置图床,并且用了rename的插件的配置一样丢失了,要重新配置。这个情况出现了好多次。

@Molunerfinn
Copy link
Owner

Molunerfinn commented Dec 26, 2021

确认一下配置文件丢失是否都发生在重启电脑之后?picgo有配置文件备份机制,可以看看配置文件所在目录的备份文件(文件名还是后缀带有bak)是否正常

@nonozone
Copy link
Author

麻烦的地方就是在这里,并不是每一次重启就会丢配置。

@Molunerfinn
Copy link
Owner

下次如果再遇到,可以看一下配置文件所在路径,有一个备份的文件data.bak.json,是备份的配置文件,理论上如果遇到主文件坏掉了,会从备份的文件里恢复的。

image

不过读取配置文件如果发生错误之后,目前只有通知提示并没有写入日志,我把这块也写到日志里,然后把当前错误的配置文件留底吧,后续好排查原因

@Molunerfinn
Copy link
Owner

另外想问一下,配置丢失的情况下,相册数据还在么

@nonozone
Copy link
Author

这个我倒是没有注意,因为我主要用这个配合typora使用,并且是直接把本地图片粘贴到编辑器,自动转化为七牛的在线图片网址了。 或者说怎么查看这个相册数据?

另外,刚才也特意找了下,没有发现有备份(.bak)的配置文件存在。

@Molunerfinn
Copy link
Owner

这个我倒是没有注意,因为我主要用这个配合typora使用,并且是直接把本地图片粘贴到编辑器,自动转化为七牛的在线图片网址了。 或者说怎么查看这个相册数据?

另外,刚才也特意找了下,没有发现有备份(.bak)的配置文件存在。

打开picgo主窗口,有个相册tab。

备份文件是 data.bak.json

@nonozone
Copy link
Author

哦,刚才翻了下,以前的相册数据都还在,也有备份的配置文件。但是不知道不是跟这个原因有关:最早的时候安装picgo我是直接默认安装的,就直接安装到用户目录下面了,后来我觉得路径好乱。有一次升级的时候,我改成全局安装了,也就是program目录里,是不是两者冲突了,但是按道理也不会,配置文件都是在appdata文件夹啊。

@Molunerfinn
Copy link
Owner

Molunerfinn commented Dec 29, 2021

嗯配置文件是会在当前的用户目录的appdata里的,理论上不影响。

建议目前可以先拷贝一份配置文件,下次如果遇到配置文件丢失,可以手动还原。同时可以及时回复本issue,并提供当前的配置文件、备份文件

后续picgo遇到配置文件读取失败的情况,会拷贝一份失败的文件,用于回溯现场

@nonozone
Copy link
Author

好的。

@nonozone
Copy link
Author

nonozone commented Jan 4, 2022

刚才编辑的时候,粘贴图片到编辑器,picgo莫名其妙无法启动,然后直接在系统菜单栏点picgo,也是无法启动,只好重新下载安装,用户目录里的那个data.bak.json备份文件,是系统默认的ms.sm为图床的设置,其他设置是空的。

@nonozone
Copy link
Author

nonozone commented Jan 4, 2022

不过,这次确实是因为我电脑的问题,被我强制关机重启了。

@lunfangyu
Copy link

嗯配置文件是会在当前的用户目录的appdata里的,理论上不影响。

建议目前可以先拷贝一份配置文件,下次如果遇到配置文件丢失,可以手动还原。同时可以及时回复本issue,并提供当前的配置文件、备份文件

后续picgo遇到配置文件读取失败的情况,会拷贝一份失败的文件,用于回溯现场

出现同样的配置丢失问题;如下截图所示:
image_20223122093117

当前的配置文件、备份文件:
picgodata.zip

@lunfangyu
Copy link

嗯配置文件是会在当前的用户目录的appdata里的,理论上不影响。
建议目前可以先拷贝一份配置文件,下次如果遇到配置文件丢失,可以手动还原。同时可以及时回复本issue,并提供当前的配置文件、备份文件
后续picgo遇到配置文件读取失败的情况,会拷贝一份失败的文件,用于回溯现场

出现同样的配置丢失问题;如下截图所示: image_20223122093117

当前的配置文件、备份文件: picgodata.zip

我查看了配置文件,发现所有配置均已没有;又查看了备份文件,同样没有保存历史配置;非常奇怪。
这里顺便贴一下picgo.log日志:
2022-03-13 20:01:16 [PicGo INFO] [PicGo Server] is listening at 36677 2022-03-20 09:48:57 [PicGo INFO] [PicGo Server] is listening at 36677 2022-03-22 21:20:49 [PicGo INFO] [PicGo Server] get the request {"list":["C:\\Users\\username\\AppData\\Roaming\\Typora\\typora-user-images\\image-20220322212046144.png"]} 2022-03-22 21:20:49 [PicGo INFO] [PicGo Server] upload files in list 2022-03-22 21:20:49 [PicGo INFO] Before transform 2022-03-22 21:20:49 [PicGo INFO] Transforming... Current transformer is [path] 2022-03-22 21:20:50 [PicGo INFO] Before upload 2022-03-22 21:20:50 [PicGo INFO] beforeUploadPlugins: super-prefix running 2022-03-22 21:20:50 [PicGo INFO] beforeUploadPlugins: renameFn running 2022-03-22 21:20:50 [PicGo INFO] Uploading... Current uploader is [smms] 2022-03-22 21:20:55 [PicGo WARN] failed 2022-03-22 21:20:55 [PicGo ERROR] ------Error Stack Begin------ Error: You must be logged in to use. at Object.handle (D:\Program Files\PicGo\resources\app.asar\node_modules\picgo\dist\src\plugins\uploader\smms.js:51:23) at processTicksAndRejections (internal/process/task_queues.js:89:5) at async Lifecycle.doUpload (D:\Program Files\PicGo\resources\app.asar\node_modules\picgo\dist\src\core\Lifecycle.js:80:9) at async Lifecycle.start (D:\Program Files\PicGo\resources\app.asar\node_modules\picgo\dist\src\core\Lifecycle.js:26:13) at async PicGo.upload (D:\Program Files\PicGo\resources\app.asar\node_modules\picgo\dist\src\core\PicGo.js:205:32) at async Object.upload (D:\Program Files\PicGo\resources\app.asar\background.js:36:29196) at async Pt (D:\Program Files\PicGo\resources\app.asar\background.js:36:31625) at async D:\Program Files\PicGo\resources\app.asar\background.js:36:32625 -------Error Stack End------- 2022-03-22 21:20:55 [PicGo ERROR] ------Error Stack Begin------ Error: You must be logged in to use. at Object.handle (D:\Program Files\PicGo\resources\app.asar\node_modules\picgo\dist\src\plugins\uploader\smms.js:51:23) at processTicksAndRejections (internal/process/task_queues.js:89:5) at async Lifecycle.doUpload (D:\Program Files\PicGo\resources\app.asar\node_modules\picgo\dist\src\core\Lifecycle.js:80:9) at async Lifecycle.start (D:\Program Files\PicGo\resources\app.asar\node_modules\picgo\dist\src\core\Lifecycle.js:26:13) at async PicGo.upload (D:\Program Files\PicGo\resources\app.asar\node_modules\picgo\dist\src\core\PicGo.js:205:32) at async Object.upload (D:\Program Files\PicGo\resources\app.asar\background.js:36:29196) at async Pt (D:\Program Files\PicGo\resources\app.asar\background.js:36:31625) at async D:\Program Files\PicGo\resources\app.asar\background.js:36:32625 -------Error Stack End------- 2022-03-22 21:20:55 [PicGo WARN] [PicGo Server] upload failed, see picgo.log for more detail ↑ 2022-03-22 21:24:09 [PicGo SUCCESS] 插件更新成功 2022-03-22 21:24:18 [PicGo INFO] [PicGo Server] is listening at 36677 2022-03-22 21:24:35 [PicGo INFO] detect second instance

Molunerfinn added a commit that referenced this issue Jun 12, 2022
@Molunerfinn
Copy link
Owner

目前beta.4对相册数据采用了原子读写,理论上相册数据不会再出现丢失的情况。

后续beta.5会对配置文件也做同样的改造

@Molunerfinn
Copy link
Owner

beta.5会引入原子操作修复配置文件丢失的问题。相关commit已经提交,等待后续版本更新即可。

@aliuq
Copy link

aliuq commented Nov 14, 2022

今天我也遇到了丢失配置文件的问题,11月3号的时候还上传过sm.ms,今天打开配置也不见了
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants