我编写了一个打开几个子进程的应用程序,这些子进程分别启动到Perforce服务器的连接。过了一段时间,我在几乎所有这些子进程中都得到了这条错误消息:
Traceback (most recent call last):
File "/Users/peter/Desktop/test_app/main.py", line 76, in p4_execute
p4.run_login()
File "/usr/local/lib/python3.7/site-packages/P4.py", line 665, in run_login
return self.run("login", *args, **kargs)
File "/usr/local/lib/python3.7/site-packages/P4.py", line 611, in run
raise e
File "/usr/local/lib/python3.7/site-packages/P4.py", line 605, in run
result = P4API.P4Adapter.run(self, *flatArgs)
P4.P4Exception: [P4#run] Errors during command execution( "p4 login" )
[Error]: "Fatal client error; disconnecting!
Operation 'client-SetPassword' failed.
Too many trys to get lock /Users/peter/.p4tickets.lck."有谁知道是什么原因造成的吗?我正确地打开了我的连接,并且通过disconnect正确地检查了我与服务器断开连接的所有源位置。
只有手动删除.p4tickets.lck才能工作,直到错误在几秒钟后返回。
发布于 2018-12-19 04:17:12
有关守则如下:
我看不出有任何代码路径会导致ticket.lck文件在不抛出其他错误的情况下被清理。
票证文件所在的主目录有什么不寻常之处吗?比如说,它在一个网络文件处理程序上,有一些延迟和某种备份过程?或者可能没有正确地在您正在生成的所有子进程之间强制执行文件锁?
您的脚本多久运行一次"p4登录“来刷新和重写票证?一秒钟很多次?如果您将它们更改为不这样做(例如,只有在没有票证的情况下才登录),那么问题会持续存在吗?
https://stackoverflow.com/questions/53844007
复制相似问题