artanis
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Error From "art work" on Vanilla Artanis Project


From: Nala Ginrut
Subject: Re: Error From "art work" on Vanilla Artanis Project
Date: Wed, 19 Feb 2020 21:18:53 +0800
User-agent: mu4e 1.3.5; emacs 26.1

I've refixed it, please remove the branch and re-checkout again:
https://gitlab.com/NalaGinrut/artanis/-/commit/08b87717ade40ad0d8fbe0a6c62620cdc30e6f56


Nala Ginrut writes:

> Sorry, I've made wrong description, let me fix it:
> 1. If the coming event is the listenning socket, then accept all the 
> connecting
> sockets and create fresh new task for each connection;
> 2. If the coming event is connecting socket, then check if it's in the
> epoll set:
> -If yes, then restore its task to the work queue
> -If no task, then drop it by letting it close naturally. It happens
> when there's error occur before continuation capturing (scheduling),
> or the connection must be closed by certain decision.
> 3. If the coming event is neither new connection nor existing task in
> epoll set, then drop it by letting it close naturally. This may happen
> by unknown issues, our current strategy is to just drop it and let the
> client make request again.
>
> Best regards.
>
> Nala Ginrut writes:
>
>> Hi Jaft!
>> I found there's illogical bug in epoll module, please try 
>> fix/epoll-exists-check branch:
>> https://gitlab.com/NalaGinrut/artanis/-/commit/9d2338401cf422f7e22c4b5686d77e77a8a95fb4
>>
>> If it works then I'll merge ASAP.
>>
>> To someone who wants to learn about this bug, here's a brief
>> description.
>>
>> When a new connection event comes in, the server core (Ragnarok) will
>> check if it's already in epoll event set:
>> - yes: Then there should be a existing task and we restore it. But if no 
>> task, then we
>> just drop it. This is the part which raised the error by illogical checking.
>> - no: Create a new task for this connection.
>>
>> Thanks for the report!
>>
>> Best regards.
>>
>> Jaft writes:
>>
>>>  Hey, Nala!
>>> I've actually been running that each time, just to be safe.
>>> But it's not an old codebase I'm trying out; I downloaded the most 
>>> recentversion of Artanis. ran "art create test", then ran "cd test", and 
>>> then ran "art work --refresh" and keep having this exact behavior.
>>> I didn't think this could be a cause of anything but, in case it's helpful, 
>>> I am running it off of a Raspberry Pi, this time.
>>> Jonathan    On Monday, February 17, 2020, 6:02:10 AM EST, Nala Ginrut 
>>> <address@hidden> wrote:
>>>
>>>
>>> Hi Jaft!
>>> If you upgrade Artanis then please run `art work --refresh` at least
>>> once to make sure all your webapp code been recompiled with the latest
>>> Artanis.
>>>
>>> You may take a look at the NOTE in the manual:
>>> https://www.gnu.org/software/artanis/manual/manual.html#orga8bda39
>>>
>>> Best regards.
>>>
>>>
>>> Jaft writes:
>>>
>>>>  Actually, it looks like the first call just hangs (sometimes, until 
>>>> iteventually times out) and a second call is what produces the error.
>>>> I know, in older versions, just generating a project and running it would 
>>>> produce a page that says an index file should be provided but that Artanis 
>>>> was up and running but I don't know if things have changed, on that front, 
>>>> since last I tried out Artanis and I now need to provide initial files for 
>>>> things to work out of the gate.
>>>> Jonathan
>>>>    On Saturday, February 15, 2020, 2:45:45 PM CST, Jaft <address@hidden> 
>>>> wrote:
>>>>
>>>>  I had recently downloaded the most recent release of Artanis and was just 
>>>> trying to get a generated project to run (no additional edits –other than 
>>>> changing the port –, like enabling database usage or thelike).
>>>> However, trying to hit the running project results in this error:
>>>>
>>>> Loading conf/artanis.conf...done.Session with SIMPLE backend init 
>>>> done!Loading models...Loading controllers...Loading restful 
>>>> API...Regenerating route cache ...Server core: 
>>>> ragnarokhttp://127.0.0.1:1234Anytime you want toquit just try Ctrl+C, 
>>>> thanks!Backtrace:          11 (apply-smob/1 #<catch-closure ff83d0>)In 
>>>> ice-9/boot-9.scm:    705:2 10 (call-with-prompt _ _ #<procedure 
>>>> default-prompt-handle…>)In ice-9/eval.scm:    619:8  9 (_ #(#(#<directory 
>>>> (guile-user) 1052910>)))In /usr/bin/art:    42:12  8 (_ _ _)In 
>>>> artanis/commands/work.scm:    144:8  7 (work . _)In 
>>>> artanis/server/ragnarok.scm:  630:10  6 (establish-http-gateway _)  450:27 
>>>>  5 (ragnarok-http-gateway-run _)    420:6  4 (get-one-request-from-clients 
>>>> #<r6rs:record:ragnarok-p…> …)    218:4  3 (fill-ready-queue-from-service _ 
>>>> #<r6rs:record:ragnarok…>)In ice-9/boot-9.scm:  260:13  2 (for-each 
>>>> #<procedure 12f0060 at artanis/server/ragnar…> …)In 
>>>> artanis/server/ragnarok.scm:  245:16  1 (_ (0 . 1))In 
>>>> artanis/server/epoll.scm:    220:4  0 (exists-in-epoll? 15 0)
>>>> artanis/server/epoll.scm:220:4: In procedure exists-in-epoll?:Throw to key 
>>>> `artanis-err' with args `(500 #<procedure epoll-ctl (epfd op fd event 
>>>> #:key check-exists?)> "~a: ~a" (15 2 0 #f "Bad file descriptor") (9))'.
>>>>
>>>> I can't make out the cause so I thought I'd ask.
>>>> Thank you for any help!
>>>> Jonathan


--
GNU Powered it
GPL Protected it
GOD Blessed it
HFG - NalaGinrut
Fingerprint F53B 4C56 95B5 E4D5 6093 4324 8469 6772 846A 0058

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]