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 18:37:46 +0800
User-agent: mu4e 1.3.5; emacs 26.1

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 it 
>>> eventually 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 to quit 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]