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
IO::Socket::Async server throws uncatchable exception in case of encoding errors #5542
Comments
From @smlsGolfed program to demonstrate the problem: my $server = IO::Socket::Async.listen('localhost', 3333); It prints the following, and exits: Unhandled exception: Malformed UTF-8 In practice, having a server than can be crashed at will by any (even not-authenticated) client is of course LTA. I tried to catch the exception in the following ways, to prevent it from exiting the program, but none had an effect: 1) CATCH or try/CATCH in a bunch of different places |
From @jnthnOn Sat Aug 06 11:25:38 2016, smls75@gmail.com wrote:
Fixed, and test added in S32-io/IO-Socket-Async.t for this and a couple of other related cases. (Under the hood, the whole way we handle decoding strings with async sockets has been given a good overhaul.) The typical way to handle such errors would be your option 3 (or, if using the supply/whenever syntax, a QUIT phaser). It should now also, as a last gasp, be passed to option 2. /jnthn |
The RT System itself - Status changed from 'new' to 'open' |
@jnthn - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#128862 (status was 'resolved')
Searchable as RT128862$
The text was updated successfully, but these errors were encountered: