JudgeOnline 提交任何程序都报 Runtime Error:[ERROR] A Not allowed system call: runid:22524 callid:89

2014-12-18 20:54:33 +08:00
 owlsec
JudgeOnline提交任何程序都报Runtime Error:[ERROR] A Not allowed system call: runid:22524 callid:89

辅助解释:
A Not allowed system call: runid:22524 :使用了系统禁止的操作系统调用,看看是否越权访问了文件或进程等资源

用的https://code.google.com/p/hustoj/
这个。。。原来是12.04
因为服务器经常抽风访问不了,所以今天把系统直接更新到14.04.。。原本以为各种正常。。提交答案发现一直runtime error普通的printf("helloworld");都报错。。。求解答如何解决这个问题
4597 次点击
所在节点    问与答
4 条回复
GtDzx
2014-12-18 21:10:49 +08:00
GtDzx
2014-12-18 21:13:17 +08:00
ptrace + system call blacklist 的方式就是这种时候很蛋疼
maemual
2014-12-18 21:18:14 +08:00
曾经自己写判题核心的时候也遇到过这个89号系统调用的坑。
在ubuntu 12.04的时候还跑的好好的,换成14.04就突然跪了。莫名其妙的。然后strace一把,发现多了个89号系统调用,因为已经是64位系统了,所以查了一下64位的系统调用表,http://blog.rchapman.org/post/36801038863/linux-system-call-table-for-x86-64 ,发现是莫名其妙的readlink,看起来不是什么危险操作,就给加入白名单了。
owlsec
2014-12-18 22:06:12 +08:00
@GtDzx
@maemual
感谢~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/154952

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX