我在Eclipse项目中有一个包含几个(近800个)JSON文件的目录。我注意到刷新这个目录会冻结Eclipse(Mars)。
该目录位于运行Samba 4.1.6的Ubuntu Linux服务器上,我在Windows 8上使用Eclipse x64。
我在相关strace
进程上运行smbd
,我看到Eclipse在所有文件上重复执行stat()
(我只期待一次):
newfstatat(32, "MYFILE-c15771bf38edb6f27f2e3a468eeda58f.json", {st_mode=S_IFREG|0644, st_size=1428, ...}, 0) = 0
stat("path/to/MYFILE-c15771bf38edb6f27f2e3a468eeda58f.json", {st_mode=S_IFREG|0644, st_size=1428, ...}) = 0
stat("path/to/MYFILE-c15771bf38edb6f27f2e3a468eeda58f.json", {st_mode=S_IFREG|0644, st_size=1428, ...}) = 0
这些通话分为三组,一组newfstatat
和两条stat
。在我写作的时候,自从我开始strace
以来,累积了846个对同一文件的请求:
$ grep MYFILE-c15771bf38edb6f27f2e3a468eeda58f.json stracefile | wc -l
846
同样适用于所有其他文件(我的strace文件现在是1352971行,并且正在增长)。
一直以来,Eclipse被冻结(“没有响应”)。幸运的是,我有一个未提交更改的打开文件,我非常希望能够恢复。
在提交Eclipse错误之前,有没有人遇到过这种行为?有没有办法让Eclipse停止对静态文件状态的不断询问,足够长时间来保存一个编辑器窗口? (剪切和粘贴不起作用)。
可能导致这种情况的原因是什么?单个目录中的文件太多了? (特定类型)?与Samba发生冲突?
答案 0 :(得分:0)
不是一个完整的答案(我可能提交了一个错误),但是一个临时的解决方法来解锁Eclipse: