Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Call to undefined method React\HttpClient\ChunkedStreamDecoder::end() #61

Closed
etienneroudeix opened this issue Sep 22, 2016 · 9 comments
Closed
Labels

Comments

@etienneroudeix
Copy link

Hello,

I encountered the following error using the react http client (v0.4.11) :

Call to undefined method React\HttpClient\ChunkedStreamDecoder::end()

Indeed in Response.php it seem that $this->stream->end()is not (always?) resolved

Fixed my issue by getting back to 0.4.10.

Cheers.

@WyriHaximus
Copy link
Member

Thank you for reporting this @etienneroudeix, do you have a full stack trace I can look at?

@WyriHaximus
Copy link
Member

FYI a PR is up at #62 for your reported issue

@etienneroudeix
Copy link
Author

Hello @WyriHaximus,

Glad to here a PR exists :)

Here is a full stack trace anyway :

Exception trace:
 () at /home/mat/Dev/domraider/4x.next/vendor/react/http-client/src/Response.php:111
 React\HttpClient\Response->close() at /home/mat/Dev/domraider/4x.next/vendor/react/http-client/src/Response.php:97
 React\HttpClient\Response->handleError() at n/a:n/a
 call_user_func_array() at /home/mat/Dev/domraider/4x.next/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php:64
 React\HttpClient\ChunkedStreamDecoder->emit() at /home/mat/Dev/domraider/4x.next/vendor/react/http-client/src/ChunkedStreamDecoder.php:199
 React\HttpClient\ChunkedStreamDecoder->handleEnd() at n/a:n/a
 call_user_func_array() at /home/mat/Dev/domraider/4x.next/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php:64
 Evenement\EventEmitter->emit() at /home/mat/Dev/domraider/4x.next/vendor/react/stream/src/Stream.php:97
 React\Stream\Stream->close() at n/a:n/a
 call_user_func_array() at /home/mat/Dev/domraider/4x.next/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php:64
 Evenement\EventEmitter->emit() at /home/mat/Dev/domraider/4x.next/vendor/react/stream/src/Buffer.php:71
 React\Stream\Buffer->close() at /home/mat/Dev/domraider/4x.next/vendor/react/stream/src/Buffer.php:61
 React\Stream\Buffer->end() at /home/mat/Dev/domraider/4x.next/vendor/react/stream/src/Stream.php:119
 React\Stream\Stream->end() at /home/mat/Dev/domraider/4x.next/vendor/react/stream/src/Stream.php:157
 React\Stream\Stream->handleData() at n/a:n/a
 call_user_func() at /home/mat/Dev/domraider/4x.next/vendor/react/event-loop/src/StreamSelectLoop.php:232
 React\EventLoop\StreamSelectLoop->waitForStreamActivity() at /home/mat/Dev/domraider/4x.next/vendor/react/event-loop/src/StreamSelectLoop.php:162
 React\EventLoop\StreamSelectLoop->tick() at /home/mat/Dev/domraider/4x.next/src/Worker/Bus/Middleware/RunnerMiddleware.php:175
 Worker\Bus\Middleware\RunnerMiddleware->runParallel() at /home/mat/Dev/domraider/4x.next/src/Worker/Bus/Middleware/RunnerMiddleware.php:65
 Worker\Bus\Middleware\RunnerMiddleware->handle() at /home/mat/Dev/domraider/4x.next/vendor/simple-bus/message-bus/src/Bus/Middleware/MessageBusSupportingMiddleware.php:70
 SimpleBus\Message\Bus\Middleware\MessageBusSupportingMiddleware->SimpleBus\Message\Bus\Middleware\{closure}() at n/a:n/a
 call_user_func() at /home/mat/Dev/domraider/4x.next/vendor/simple-bus/message-bus/src/Bus/Middleware/MessageBusSupportingMiddleware.php:58
 SimpleBus\Message\Bus\Middleware\MessageBusSupportingMiddleware->handle() at /home/mat/Dev/domraider/4x.next/src/Worker/Console/WorkerConsumer.php:71
 Worker\Console\WorkerConsumer->Worker\Console\{closure}() at n/a:n/a
 call_user_func_array() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/CallbackObserver.php:45
 Rx\Observer\CallbackObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AutoDetachObserver.php:53
 Rx\Observer\AutoDetachObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Operator/MapOperator.php:47
 Rx\Operator\MapOperator->Rx\Operator\{closure}() at n/a:n/a
 call_user_func_array() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/CallbackObserver.php:45
 Rx\Observer\CallbackObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AutoDetachObserver.php:53
 Rx\Observer\AutoDetachObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/bunny/bunny/src/Bunny/Channel.php:730
 Bunny\Channel->onBodyComplete() at /home/mat/Dev/domraider/4x.next/vendor/bunny/bunny/src/Bunny/Channel.php:679
 Bunny\Channel->onFrameReceived() at /home/mat/Dev/domraider/4x.next/vendor/bunny/bunny/src/Bunny/Async/Client.php:312
 Bunny\Async\Client->onDataAvailable() at n/a:n/a
 call_user_func() at /home/mat/Dev/domraider/4x.next/vendor/react/event-loop/src/StreamSelectLoop.php:232
 React\EventLoop\StreamSelectLoop->waitForStreamActivity() at /home/mat/Dev/domraider/4x.next/vendor/react/event-loop/src/StreamSelectLoop.php:162
 React\EventLoop\StreamSelectLoop->tick() at /home/mat/Dev/domraider/4x.next/src/Worker/Bus/Middleware/RunnerMiddleware.php:175
 Worker\Bus\Middleware\RunnerMiddleware->runParallel() at /home/mat/Dev/domraider/4x.next/src/Worker/Bus/Middleware/RunnerMiddleware.php:65
 Worker\Bus\Middleware\RunnerMiddleware->handle() at /home/mat/Dev/domraider/4x.next/vendor/simple-bus/message-bus/src/Bus/Middleware/MessageBusSupportingMiddleware.php:70
 SimpleBus\Message\Bus\Middleware\MessageBusSupportingMiddleware->SimpleBus\Message\Bus\Middleware\{closure}() at n/a:n/a
 call_user_func() at /home/mat/Dev/domraider/4x.next/vendor/simple-bus/message-bus/src/Bus/Middleware/MessageBusSupportingMiddleware.php:58
 SimpleBus\Message\Bus\Middleware\MessageBusSupportingMiddleware->handle() at /home/mat/Dev/domraider/4x.next/src/Worker/Console/WorkerConsumer.php:71
 Worker\Console\WorkerConsumer->Worker\Console\{closure}() at n/a:n/a
 call_user_func_array() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/CallbackObserver.php:45
 Rx\Observer\CallbackObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AutoDetachObserver.php:53
 Rx\Observer\AutoDetachObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Operator/MapOperator.php:47
 Rx\Operator\MapOperator->Rx\Operator\{closure}() at n/a:n/a
 call_user_func_array() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/CallbackObserver.php:45
 Rx\Observer\CallbackObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AutoDetachObserver.php:53
 Rx\Observer\AutoDetachObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/bunny/bunny/src/Bunny/Channel.php:730
 Bunny\Channel->onBodyComplete() at /home/mat/Dev/domraider/4x.next/vendor/bunny/bunny/src/Bunny/Channel.php:679
 Bunny\Channel->onFrameReceived() at /home/mat/Dev/domraider/4x.next/vendor/bunny/bunny/src/Bunny/Async/Client.php:312
 Bunny\Async\Client->onDataAvailable() at n/a:n/a
 call_user_func() at /home/mat/Dev/domraider/4x.next/vendor/react/event-loop/src/StreamSelectLoop.php:232
 React\EventLoop\StreamSelectLoop->waitForStreamActivity() at /home/mat/Dev/domraider/4x.next/vendor/react/event-loop/src/StreamSelectLoop.php:162
 React\EventLoop\StreamSelectLoop->tick() at /home/mat/Dev/domraider/4x.next/src/Worker/Bus/Middleware/RunnerMiddleware.php:175
 Worker\Bus\Middleware\RunnerMiddleware->runParallel() at /home/mat/Dev/domraider/4x.next/src/Worker/Bus/Middleware/RunnerMiddleware.php:65
 Worker\Bus\Middleware\RunnerMiddleware->handle() at /home/mat/Dev/domraider/4x.next/vendor/simple-bus/message-bus/src/Bus/Middleware/MessageBusSupportingMiddleware.php:70
 SimpleBus\Message\Bus\Middleware\MessageBusSupportingMiddleware->SimpleBus\Message\Bus\Middleware\{closure}() at n/a:n/a
 call_user_func() at /home/mat/Dev/domraider/4x.next/vendor/simple-bus/message-bus/src/Bus/Middleware/MessageBusSupportingMiddleware.php:58
 SimpleBus\Message\Bus\Middleware\MessageBusSupportingMiddleware->handle() at /home/mat/Dev/domraider/4x.next/src/Worker/Console/WorkerConsumer.php:71
 Worker\Console\WorkerConsumer->Worker\Console\{closure}() at n/a:n/a
 call_user_func_array() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/CallbackObserver.php:45
 Rx\Observer\CallbackObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AutoDetachObserver.php:53
 Rx\Observer\AutoDetachObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Operator/MapOperator.php:47
 Rx\Operator\MapOperator->Rx\Operator\{closure}() at n/a:n/a
 call_user_func_array() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/CallbackObserver.php:45
 Rx\Observer\CallbackObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AutoDetachObserver.php:53
 Rx\Observer\AutoDetachObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/bunny/bunny/src/Bunny/Channel.php:730
 Bunny\Channel->onBodyComplete() at /home/mat/Dev/domraider/4x.next/vendor/bunny/bunny/src/Bunny/Channel.php:679
 Bunny\Channel->onFrameReceived() at /home/mat/Dev/domraider/4x.next/vendor/bunny/bunny/src/Bunny/Async/Client.php:312
 Bunny\Async\Client->onDataAvailable() at n/a:n/a
 call_user_func() at /home/mat/Dev/domraider/4x.next/vendor/react/event-loop/src/StreamSelectLoop.php:232
 React\EventLoop\StreamSelectLoop->waitForStreamActivity() at /home/mat/Dev/domraider/4x.next/vendor/react/event-loop/src/StreamSelectLoop.php:162
 React\EventLoop\StreamSelectLoop->tick() at /home/mat/Dev/domraider/4x.next/src/Worker/Bus/Middleware/RunnerMiddleware.php:175
 Worker\Bus\Middleware\RunnerMiddleware->runParallel() at /home/mat/Dev/domraider/4x.next/src/Worker/Bus/Middleware/RunnerMiddleware.php:65
 Worker\Bus\Middleware\RunnerMiddleware->handle() at /home/mat/Dev/domraider/4x.next/vendor/simple-bus/message-bus/src/Bus/Middleware/MessageBusSupportingMiddleware.php:70
 SimpleBus\Message\Bus\Middleware\MessageBusSupportingMiddleware->SimpleBus\Message\Bus\Middleware\{closure}() at n/a:n/a
 call_user_func() at /home/mat/Dev/domraider/4x.next/vendor/simple-bus/message-bus/src/Bus/Middleware/MessageBusSupportingMiddleware.php:58
 SimpleBus\Message\Bus\Middleware\MessageBusSupportingMiddleware->handle() at /home/mat/Dev/domraider/4x.next/src/Worker/Console/WorkerConsumer.php:71
 Worker\Console\WorkerConsumer->Worker\Console\{closure}() at n/a:n/a
 call_user_func_array() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/CallbackObserver.php:45
 Rx\Observer\CallbackObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AutoDetachObserver.php:53
 Rx\Observer\AutoDetachObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Operator/MapOperator.php:47
 Rx\Operator\MapOperator->Rx\Operator\{closure}() at n/a:n/a
 call_user_func_array() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/CallbackObserver.php:45
 Rx\Observer\CallbackObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AutoDetachObserver.php:53
 Rx\Observer\AutoDetachObserver->next() at /home/mat/Dev/domraider/4x.next/vendor/reactivex/rxphp/lib/Rx/Observer/AbstractObserver.php:38
 Rx\Observer\AbstractObserver->onNext() at /home/mat/Dev/domraider/4x.next/vendor/bunny/bunny/src/Bunny/Channel.php:730

@WyriHaximus
Copy link
Member

Thank you @etienneroudeix, that confirms my suspicion. Interestingly enough it works on 0.4.10 without issue? Is there a possibility you can provide more information on what you're hitting with the client? The reason I'm asking is that the error coming up now is coming from the chunked encoding decoder which should only kick in when a response is chunked encoded.

We're (@clue and me) working on fixing this issue, thanks again for reporting 👍

(P.S. On a personal note, it is awesome to see you use RxPHP and Bunny 👍 .)

@etienneroudeix
Copy link
Author

@WyriHaximus I have no issue on v0.4.10.
The error was trigged by a job issued from RabbitMq and I have no idea what it was supposed to actually do. Furthermore I tried to run a few of my most used jobs with v0.4.11 without trouble. Therefore I have no idea of what was really hit and if it was actual chunked packet or not. Sorry.
I'll run v0.4.11 on my project for few hours and see if it happens again.

(P.S. On a personal note, what reactphp contributors are doing is awesome 👍 )

@etienneroudeix
Copy link
Author

Hey @WyriHaximus I did not have to wait much to reproduce :)
What I am hitting is a React http server.
Here is Response::close arguments and Response attributes values :
capture d ecran 2016-09-23 a 14 12 14

So I have an error (and a 200 response code :'()
It's about ChunkedStreamDecoder on line 199

Hope it helps

@clue
Copy link
Member

clue commented Oct 6, 2016

Closed via #63.

@clue clue closed this as completed Oct 6, 2016
@WyriHaximus
Copy link
Member

v0.4.12 is out with a fix for this

@etienneroudeix
Copy link
Author

great thank you !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants