Busy loop in IoLib

Bug #1629659 reported by Philipp Marek on 2016-10-02
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
IOLib
Undecided
Unassigned

Bug Description

Using the DBus library (the experimental "server" branch) I was able to trigger a busy loop in IOLIB:

  [pid 17998] 14:14:57.805234 epoll_wait(9, [{EPOLLIN|EPOLLHUP, {u32=10, u64=10}}], 1024, -1) = 1
  [pid 17998] 14:14:57.805282 recvfrom(10, "", 4096, 0, NULL, NULL) = 0
  [pid 17998] 14:14:57.805332 epoll_wait(9, [{EPOLLIN|EPOLLHUP, {u32=10, u64=10}}], 1024, -1) = 1
  [pid 17998] 14:14:57.805381 recvfrom(10, "", 4096, 0, NULL, NULL) = 0
  [pid 17998] 14:14:57.805431 epoll_wait(9, [{EPOLLIN|EPOLLHUP, {u32=10, u64=10}}], 1024, -1) = 1
  [pid 17998] 14:14:57.805505 recvfrom(10, "", 4096, 0, NULL, NULL) = 0
  [pid 17998] 14:14:57.805556 epoll_wait(9, [{EPOLLIN|EPOLLHUP, {u32=10, u64=10}}], 1024, -1) = 1

Swank shows this stack - nearly the same one on a few different tries.

  0: ("bogus stack frame")
  1: ((:METHOD IOLIB/MULTIPLEX::HARVEST-EVENTS (IOLIB/MULTIPLEX:EPOLL-MULTIPLEXER T)) #<epoll(4) multiplexer> NIL) [fast-method]
  2: (IOLIB/MULTIPLEX::DISPATCH-FD-EVENTS-ONCE #<event base, 1 FDs monitored, using: #<epoll(4) multiplexer> {1008DB9ED3}> NIL 47018.885726127d0)
  3: ((:METHOD IOLIB/MULTIPLEX:EVENT-DISPATCH (IOLIB/MULTIPLEX:EVENT-BASE)) #<event base, 1 FDs monitored, using: #<epoll(4) multiplexer> {1008DB9ED3}> :ONE-SHOT T :TIMEO
  4: ((FLET CALL-NEXT-METHOD :IN "/home/marek/.quicklisp/dists/quicklisp/software/iolib-v0.8.1/src/multiplex/event-loop.lisp"))
  5: ((:METHOD IOLIB/MULTIPLEX:EVENT-DISPATCH :AROUND (IOLIB/MULTIPLEX:EVENT-BASE)) #<event base, 1 FDs monitored, using: #<epoll(4) multiplexer> {1008DB9ED3}> :ONE-SHOT
  6: ((:METHOD WAIT-FOR-REPLY (T STANDARD-CONNECTION)) 2 #<UNIX-CONNECTION {1009CE3DE3}>) [fast-method]

Another try had

  0: ((LAMBDA (SB-KERNEL:INSTANCE) :IN SB-PCL::MAKE-OPTIMIZED-STD-READER-METHOD-FUNCTION) #<unavailable argument>) [external]
  1: ((:METHOD IOLIB/MULTIPLEX::HARVEST-EVENTS (IOLIB/MULTIPLEX:EPOLL-MULTIPLEXER T)) #<epoll(4) multiplexer> NIL) [fast-method]

etc.

Philipp Marek (philipp-marek) wrote :

This is with iolib-v0.8.1 from QL, BTW.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers