[Android、Facebook、推断]关于推断错误的打开文件太多
我使用Facebook的推断来检查我的android代码[Android、Facebook、推断]关于推断错误的打开文件太多,android,facebook,facebook-infer,Android,Facebook,Facebook Infer,我使用Facebook的推断来检查我的android代码 infer -- ./gradlew build after 8 minutes Fatal error: exception Sys_error("/Users/lm/project/android_workplace/******/app/build/intermediates/exploded-aar/com.mogujie/user/1.2.17/jars/classes.jar: Too many open files") T
infer -- ./gradlew build
after 8 minutes
Fatal error: exception Sys_error("/Users/lm/project/android_workplace/******/app/build/intermediates/exploded-aar/com.mogujie/user/1.2.17/jars/classes.jar: Too many open files")
Traceback (most recent call last):
File "/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/infer", line 180, in <module>
main()
File "/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/infer", line 144, in main
capture_exitcode = imported_module.gen_instance(args, cmd).capture()
File "/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/../lib/capture/gradle.py", line 83, in capture
return util.run_commands(cmds)
File "/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/../lib/capture/util.py", line 40, in run_commands
if not cmd.start():
File "/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/inferlib.py", line 692, in start
if self.capture() == os.EX_OK:
File "/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/inferlib.py", line 478, in capture
return self.run_infer_frontend()
File "/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/inferlib.py", line 469, in run_infer_frontend
self.args.analyzer
File "/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/inferlib.py", line 385, in run_command
raise e
subprocess.CalledProcessError: Command '[u'/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/InferJava', u'-project_root', '/Users/lm/project/android_workplace/Minicooper4android', u'-results_dir', u'/Users/lm/project/android_workplace/Minicooper4android/infer-out', u'-verbose_out', '/var/folders/2r/7hc18jz1091_jg7_8jcnqlhr0000gn/T/javac_qWbfkP.out', u'-models', u'/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/../lib/java/models.jar', u'-no-static_final']' returned non-zero exit status 2
推断--./gradlew构建
8分钟后
致命错误:异常系统错误(“/Users/lm/project/android_workplace/*****/app/build/intermediates/exploded aar/com.mogujie/user/1.2.17/jars/classes.jar:打开的文件太多”)
回溯(最近一次呼叫最后一次):
文件“/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/infer”,第180行,在
main()
文件“/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/infer”,第144行,主文件
capture\u exitcode=imported\u module.gen\u实例(args,cmd).capture()
文件“/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/。/lib/capture/gradle.py”,第83行,在capture中
返回util.run_命令(cmds)
文件“/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/。/lib/capture/util.py”,第40行,在run_命令中
如果不是cmd.start():
文件“/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/inferlib.py”,第692行,起始处
如果self.capture()==os.EX\u正常:
文件“/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/inferlib.py”,第478行,捕获
返回self.run_expert_frontend()
文件“/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/inferlib.py”,第469行,在run_-infer_前端
自动参数分析器
文件“/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/inferlib.py”,第385行,在run_命令中
提高e
subprocess.CalledProcessError:命令'[u'/Users/lm/project/infer_workplace/infer-osx-v0.4.0/infer/bin/InferJava',u'-project_root','/Users/lm/project/android_workplace/Minicooper4android',u'-results_dir',u'/Users/lm/project/android_workplace/Minicooper4android/infer out',u'-verbose(out',u'/var/folders/2r/7hc18jz1091(jg7(8JCNHRGN/T/T/C javau_out',qlu qlu fku/fku/froject/infer_workplace/infer-osx-v0.4.0/infer/bin/./lib/java/models.jar',u'-no-static_final']'返回非零退出状态2
来自
在MacOs上,一个程序可以同时打开的最大文件数有点低。您可以通过运行以下命令来增加限制,例如:
你的问题是什么?
sysctl -w kern.maxfiles=20480
sysctl -w kern.maxfilesperproc=22480
ulimit -S -n 2048