[haiku-bugs] Re: [Haiku] #11108: app_server WebWorker writeSize invalid on secondary connection attempts

  • From: "ttcoder" <trac@xxxxxxxxxxxx>
  • Date: Sun, 10 Aug 2014 10:39:38 -0000

#11108: app_server WebWorker writeSize invalid on secondary connection attempts
----------------------------------+----------------------------
   Reporter:  kallisti5           |      Owner:  kallisti5
       Type:  bug                 |     Status:  new
   Priority:  normal              |  Milestone:  Unscheduled
  Component:  Servers/app_server  |    Version:  R1/Development
 Resolution:                      |   Keywords:  html5
 Blocked By:                      |   Blocking:
Has a Patch:  0                   |   Platform:  All
----------------------------------+----------------------------

Comment (by ttcoder):

 Could it be that app_server needs to call `setsockopt(..SO_REUSEADDR)` or
 `SO_REUSEPORT` ? The intertubes say that the use-case for needing it is if
 `bind()` returns error EINUSE. In fact,

 - searching for either constant comes up empty in ap_server/
 - HTML5DrawingEngine.cpp:92 could potentially affect value EINUSE to
 `fInitStatus`
 - the trouble is that the init status is not used for error reporting,
 only for bailing out in ScreenManager.cpp:194
 - looking at the code more closely and/or adding tracing could reveal if
 app_server and/or the client might attempt some uncalled-for write on an
 unbinded socket; if so, then `setsockopt()`might be the answer? Or maybe
 I'm just blowing smoke and the "write to peer failed" is something else
 entirely

 Hmmm re-reading myself I realize the problematic bind() could be on the
 client side too, not just app_server side. Also will keep this link for my
 reference: //www.freelists.org/post/haiku-development/app-server-
 html5-interface

--
Ticket URL: <https://dev.haiku-os.org/ticket/11108#comment:4>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: