Swoole-src: 在向task进程投递任务时,如果传递参数太大,会出现无法投递任务却无失败提示的bug

Created on 22 May 2019  ·  7Comments  ·  Source: swoole/swoole-src

Please answer these questions before submitting your issue. Thanks!

  1. What did you do? If possible, provide a simple script for reproducing the error.
function onRequest($req, $res)
    {
$param='君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。君不见,黄河之水天上来⑵,奔流到海不复回。君不见,高堂明镜悲白发,朝如青丝暮成雪⑶。人生得意须尽欢⑷,莫使金樽空对月。天生我材必有用,千金散尽还复来。烹羊宰牛且为乐,会须一饮三百杯⑸。岑夫子,丹丘生⑹,将进酒,杯莫停⑺。与君歌一曲⑻,请君为我倾耳听⑼钟鼓馔玉不足贵⑽,但愿长醉不复醒⑾。古来圣贤皆寂寞,惟有饮者留其名陈王昔时宴平乐,斗酒十千恣欢谑⑿主人何为言少钱⒀,径须沽取对君酌⒁五花马⒂,千金裘,呼儿将出换美酒,与尔同销万古愁⒃。';

        $taskid=$this->httpserver->task($param);
              //向task进程投递任务,并传递大参数
             //PS:实际使用时传递的是一篇长篇文章

            $this->httpserver->_pool[$taskid]=$res;

            return;
        }
    function onTask($server, $task_id, $from_id, $data)
    {

        var_dump($data);
            //此处var_dump居然不执行,swoole也没有错误提示,是bug?

    }
  1. What did you expect to see?

  2. What did you see instead?

  3. What version of Swoole are you using (show your php --ri swoole)?

4.3

  1. What is your machine environment used (including version of kernel & php & gcc) ?

centos 7 + php 7.2

waiting for user action

Most helpful comment

@15521956291
精确到小版本号(或贴出php --ri swoole), 提供简单可复现的例子(最好是可直接运行的), 尊重开源作者精力有限, 每个小版本都有很多patch, 跟踪时不同版本代码也无法对齐
对你来说只是敲个命令行的功夫, 却能节省我们很多排查的精力

All 7 comments

业务需求啊,采集的东西丢到task进程进一步处理啊

版本号需要具体的

我已经从4.0升级到4.3,问题依旧

@15521956291
精确到小版本号(或贴出php --ri swoole), 提供简单可复现的例子(最好是可直接运行的), 尊重开源作者精力有限, 每个小版本都有很多patch, 跟踪时不同版本代码也无法对齐
对你来说只是敲个命令行的功夫, 却能节省我们很多排查的精力

添加了相关单元测试, 多次投递了4~16M的大数据没有出现问题

啊?那我试试上传个复现代码

可能是你的框架将 warning 转为异常了,请去掉此逻辑。

Was this page helpful?
0 / 5 - 0 ratings