Open linjunnan opened 8 years ago
奇怪的错误,按理说你这个测试没有涉及到lua调用,我需要仔细追踪一下。
启用了memcached没?存储模式是哪种?
没有启用memcached,没有采用其它存储后端。 使用默认的zimg.lua配置。
似乎问题出现在int is_img(const char *filename)里: 不要使用lua来判断是否图片格式,使用注释掉的C方式来判断即没出现问题
有道理!很有可能是这个lua调用在多线程下有问题,你用C里面那端代码跑一段时间观察观察。
我好像也遇到这问题了...zimg没有输出任何错误报告 运行了一两天后进程直接退出了(在将那段lua替换成C后依然出现)
用 supervisor
监护,查看日志,发现在多线程大量(几w张图) upload 的时候,隔十几分钟就崩溃一下,下面是其中一次日志
1098507 2016/04/13 17:43:53:022688 [INFO] xxxxxxx succ post pic:xxxx size:xxxx
1098508 2016/04/13 17:43:54:116663 [DEBUG] File[xxxxxx] is A File.
1098509 2016/04/13 17:43:54:116765 [DEBUG] Path[xxx is A Dir.
1098510 2016/04/13 17:43:54:116786 [DEBUG] Paths Init Finished.
1098511 2016/04/13 17:43:54:116895 [DEBUG] Connect to ssdb server Success
1098512 2016/04/13 17:43:54:117445 [DEBUG] Begin to Start Httpd Server...
1098513 2016/04/13 17:43:54:117475 [INFO] zimg started
正常在 succ post pic
之后的日志应该是
1098489 2016/04/13 17:43:52:987427 [DEBUG] ret_str_unformat: {"ret":true,"info":{"md5":"xxx","size":xxxx}}
确认一下你们后端用的是哪种存储模式,是不是SSDB?
@buaazp 是 ssdb
可能是因为hiredis长链接超时导致,讨论见 #136
我也遇到了,多线程上传崩溃,提示unprotected error in call to Lua API,默认配置
zimg在做图片上传的性能测试时,遇到多线程情况下崩溃的问题。 又抓到错误:PANIC: unprotected error in call to Lua API (jpgempt to call a number value) 测试版本:zimg-3.1.0 测试环境:本地机器4核,zimg默认开启4线程 测试方法:本地命令行上传图片: foreach -w 100 -c 10000 "curl -voa -F 'filename=@/root/test.jpg' 'http://192.168.27.139:60000/upload'" >/dev/null 2>&1 现象:进程退出,并无输出任何错误日志