I actually tried to take a quick stab at it at home last week, but the
problem I quickly got caught in was the Ping procedure.  It does a lot more
than just ping, it also manages deletions, which made finding a good way to
prevent deletion on an ID while pinging a lot more complex.  I initially
started with a mutex style, but quickly found a simple application of it
wasn't going to work (maybe a more complex one though).  It seems like
finding a way to separate map management and pinging would help there, or
alternately (as you mentioned) an actual revamp/redo of it (which would
have been cleaner, I was just looking for a solution that I could gen out
and test in the 3 free hours I got after my son went to bed).

On Fri, Jul 27, 2018 at 2:08 PM, David Botton <da...@botton.com> wrote:

> I am looking (perhaps of Jeff wanted even better, this is his forte :) at
> revamping, I think we need to improve the whole section from race
> conditions with those maps.
>
> David Botton
>
> On Fri, Jul 27, 2018 at 1:45 PM Jeremiah Breeden <
> jeremiah.bree...@gmail.com> wrote:
>
>> Is it potentially related to the bug I submitted a fix for a week or two
>> ago?  I know the Ping operation in Gnoga.Server.Connection.adb occurred in
>> the same type of for loop that the Close operation did (between a
>> Connection_Manager.First and Connection_Manager.Next call whee the map
>> cursor could be deleted by another process.  I didn't submit a fix for the
>> ping side.
>>
>> On Thu, Jul 26, 2018 at 7:37 AM, Gautier de Montmollin <
>> gdem...@hotmail.com> wrote:
>>
>>> Hello,
>>>
>>> First Gnoga server crash, in 1 year of almost uninterrupted service in
>>> the Pasta! game!
>>>
>>> I put hereafter the trace-back in case someone wants (and knows how) to
>>> do something good about it...
>>>
>>> Cheers
>>>
>>> Gautier
>>>
>>> _____
>>>
>>> 2018-07-22 06:26:30.09 : Ping on websocket - 27
>>> 2018-07-22 06:27:30.09 : Ping on websocket - 27
>>> 2018-07-22 06:27:30.10 : Ping 27 error.
>>> 2018-07-22 06:27:30.10 : raised GNAT.SOCKETS.SOCKET_ERROR : [10053]
>>> Software caused connection abort
>>>
>>> Here is the call stack trace-back:
>>>
>>> gnoga_dev_1.3-2017_04_11/deps/simple_components/atomic-
>>> access/gcc-long-offsets/gnat-sockets-server.adb:948
>>> [ Send_Socket (Client.Socket, Data, Last); ]
>>> gnoga_dev_1.3-2017_04_11/deps/simple_components/gnat-
>>> sockets-connection_state_machine-http_server.adb:3574
>>> [ Push (Client, Data (Pointer..Data'Last), Next); ]
>>> gnoga_dev_1.3-2017_04_11/deps/simple_components/gnat-
>>> sockets-connection_state_machine-http_server.adb:3886
>>> [ WebSocket_Blocking_Send (Client, Header,  True, False); ]
>>> gnoga_dev_1.3-2017_04_11/src/gnoga-server-connection.adb:1197  [
>>> Socket.WebSocket_Send ("0"); ]
>>> gnoga_dev_1.3-2017_04_11/src/gnoga-server-connection.adb:1240  [ Ping
>>> (ID); ]
>>>
>>> ------------------------------------------------------------
>>> ------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> Gnoga-list mailing list
>>> Gnoga-list@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/gnoga-list
>>>
>>
>> ------------------------------------------------------------
>> ------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot______
>> _________________________________________
>> Gnoga-list mailing list
>> Gnoga-list@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gnoga-list
>>
>
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Gnoga-list mailing list
> Gnoga-list@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gnoga-list
>
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Gnoga-list mailing list
Gnoga-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gnoga-list

Reply via email to