zhaojh329 / libuwsc

A Lightweight and fully asynchronous WebSocket client library based on libev
MIT License
289 stars 55 forks source link

uwsc gets stuck seeking to SEEK_CUR then exits #13

Closed andrewhodel closed 4 years ago

andrewhodel commented 4 years ago

I'm just using an ev_timer and sending a static/compiled string every 20 seconds.

Here's an strace of what eventually happens after about 10 minutes.

open("/dev/urandom", O_RDONLY|O_LARGEFILE) = 102
readv(102, [{iov_base="\226\234\325", iov_len=3}, {iov_base="\5{0mk\354~WF\333\307\227\307\352,\222\203\247\32\0030\5\204o\235\232n\242<\nR,"..., iov_len=1024}], 2) = 1027
_llseek(102, -1023, [0], SEEK_CUR)      = 0
close(102)                              = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 16) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 16) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 16) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 16) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 16) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 16) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1 RT_2], [], 16) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 16) = 0
_llseek(6, -285, [227], SEEK_CUR)       = 0
_llseek(99, -285, [227], SEEK_CUR)      = 0
_llseek(97, -285, [227], SEEK_CUR)      = 0
_llseek(95, -285, [227], SEEK_CUR)      = 0
_llseek(93, -285, [227], SEEK_CUR)      = 0
_llseek(91, -285, [227], SEEK_CUR)      = 0
_llseek(89, -285, [227], SEEK_CUR)      = 0
_llseek(87, -285, [227], SEEK_CUR)      = 0
_llseek(85, -285, [227], SEEK_CUR)      = 0
_llseek(83, -285, [227], SEEK_CUR)      = 0
_llseek(81, -285, [227], SEEK_CUR)      = 0
_llseek(79, -285, [227], SEEK_CUR)      = 0
_llseek(77, -285, [227], SEEK_CUR)      = 0
_llseek(75, -285, [227], SEEK_CUR)      = 0
_llseek(73, -285, [227], SEEK_CUR)      = 0
_llseek(71, -285, [227], SEEK_CUR)      = 0
_llseek(69, -285, [227], SEEK_CUR)      = 0
_llseek(67, -285, [227], SEEK_CUR)      = 0
_llseek(65, -285, [227], SEEK_CUR)      = 0
_llseek(63, -285, [227], SEEK_CUR)      = 0
_llseek(61, -285, [227], SEEK_CUR)      = 0
_llseek(59, -285, [227], SEEK_CUR)      = 0
_llseek(57, -285, [227], SEEK_CUR)      = 0
_llseek(55, -285, [227], SEEK_CUR)      = 0
_llseek(53, -285, [227], SEEK_CUR)      = 0
_llseek(51, -285, [227], SEEK_CUR)      = 0
_llseek(49, -285, [227], SEEK_CUR)      = 0
_llseek(47, -285, [227], SEEK_CUR)      = 0
_llseek(45, -285, [227], SEEK_CUR)      = 0
_llseek(43, -285, [227], SEEK_CUR)      = 0
_llseek(41, -285, [227], SEEK_CUR)      = 0
_llseek(39, -285, [227], SEEK_CUR)      = 0
_llseek(37, -285, [227], SEEK_CUR)      = 0
_llseek(35, -285, [227], SEEK_CUR)      = 0
_llseek(33, -285, [227], SEEK_CUR)      = 0
_llseek(31, -285, [227], SEEK_CUR)      = 0
_llseek(29, -285, [227], SEEK_CUR)      = 0
_llseek(27, -285, [227], SEEK_CUR)      = 0
_llseek(25, -285, [227], SEEK_CUR)      = 0
_llseek(23, -285, [227], SEEK_CUR)      = 0
_llseek(21, -285, [227], SEEK_CUR)      = 0
_llseek(19, -285, [227], SEEK_CUR)      = 0
_llseek(17, -285, [227], SEEK_CUR)      = 0
_llseek(15, -285, [227], SEEK_CUR)      = 0
_llseek(13, -285, [227], SEEK_CUR)      = 0
_llseek(11, -285, [227], SEEK_CUR)      = 0
_llseek(9, -285, [227], SEEK_CUR)       = 0
_llseek(7, -285, [227], SEEK_CUR)       = 0
exit_group(0)                           = ?
+++ exited with 0 +++

What's this all about?

andrewhodel commented 4 years ago

This is just what happens when the example returns -1 on the wss connect function.