Open svetlyak40wt opened 1 year ago
What did you do to get to that point? Im encountering an issue with "action-list" and the references to it, even when using the "action-list" library from Github. I then re-ran the (load "setup.lisp") after I deleted my sbcl cache of both "action-list" and "kandria" (in case I allowed a error to continue). Which still results in the error:
#<THREAD "main thread" RUNNING {70063C0523}>:
While computing the class precedence list of the class named ORG.SHIRAKUMO.FRAF.ACTION-LIST:ACTION-LIST.
The class named ORG.SHIRAKUMO.TRIVIAL-EXTENSIBLE-SEQUENCES:SEQUENCE is a forward referenced class.
The class named ORG.SHIRAKUMO.TRIVIAL-EXTENSIBLE-SEQUENCES:SEQUENCE is a direct superclass of the class named ORG.SHIRAKUMO.FRAF.ACTION-LIST:ACTION-LIST.
(also "OSX" is for MacOs 10. the Current MacOs is version 13 )
I skipped setup.lisp, only created a .install
file in local directory.
Then created qlfile with following content (I'm using Qlot to pin libs versions):
dist shirakumo http://dist.shirakumo.org/shirakumo.txt
and run qlot update
:
After that I started SBCL REPL:
qlot exec ros emacs
It runs Roswell inside local Qlot environment and Roswell starts SBCL.
After that, in the REPL I'm doing:
(push "quest/" asdf:*central-registry*)
(ql:quickload :kandria)
(kandria:launch)
But also, I patched cl-vorbis to get around this bug on M1 chip. Patch is here: https://github.com/Shirakumo/kandria/issues/11#issuecomment-1383127642
The warnings about duplicate symbols are just SBCL being annoying and don't mean anything. Fetching the news erroring out also doesn't mean anything.
So, the problem is in the
2023-01-15 14:38:57 [SEVERE] <TRIAL.RENDER-LOOP>: Error in render thread Syscall select(2) failed on fd 0: Bad file descriptor
?
What is the best way to debug what is happening there?
Well get a backtrace, first of all.
Don't know what I've did (besides attaching to the game from Emacs via SLY), but the game started on my Mac. However, sometimes errors like this:
Error opening #P"/dev/urandom": Too many open files
or
Error opening #P"/Users/art/Downloads/kandria-windows/pool/kandria/sprite/active-item.png":
Too many open files
popup in the debugger.
I've checked how many files are opened by the process and it is only about 150.
Retrying helps to load them.
Also, sometimes this error popups:
The value
NIL
is not of type
SB-SYS:SYSTEM-AREA-POINTER
when binding SB-ALIEN::VALUE
[Condition of type TYPE-ERROR]
Restarts:
0: [RESET-RENDER-LOOP] Reset the render loop timing, not catching up with lost frames.
1: [EXIT-RENDER-LOOP] Exit the render loop entirely.
2: [ABORT] abort thread (#<THREAD "render-loop" RUNNING {7005270B43}>)
Backtrace:
0: (TRIAL::PING-POWERSAVE 20.01999955251813d0)
1: ((SB-PCL::EMF TRIAL:UPDATE) #<unused argument> #<unused argument> #<KANDRIA::MAIN {7005210053}> 20.01999955251813d0 0.01 4785)
2: ((:METHOD TRIAL:RENDER-LOOP (TRIAL:RENDER-LOOP)) #<KANDRIA::MAIN {7005210053}>) [fast-method]
3: ((:METHOD TRIAL:RENDER-LOOP :AROUND (TRIAL:DISPLAY)) #<KANDRIA::MAIN {7005210053}>) [fast-method]
4: ((:METHOD TRIAL:RENDER-LOOP :AROUND (KANDRIA::MAIN)) #<KANDRIA::MAIN {7005210053}>) [fast-method]
5: ((LAMBDA NIL :IN TRIAL:START))
6: ((LAMBDA NIL :IN TRIAL:MAKE-THREAD))
7: ((LAMBDA NIL :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS))
Interesting... are you on the Discord by chance?
No. I have a Telegram. Nick is the same as on GitHub.
Also, I've found the total number of opened files in the whole OS is about 7300, which is not high.
(calculated as lsof -n | cut -f1 -d' ' | uniq -c | sort | awk '{print $1}' | pbcopy
and then summing in repl).
And per process openfiles limit is 256 (twice higher than actual Kandria process number):
launchctl limit maxfiles
Can you give me traces for the too many open files error?
@svetlyak40wt Could you PR to cl-mixed similar to how you did for cl-vorbis so we have an M1 binary there, too? Thanks!
Sure. Thank you for the reminder. Will do this tomorrow.
чт, 19 янв. 2023 г., 21:17 Nicolas Hafner @.***>:
@svetlyak40wt https://github.com/svetlyak40wt Could you PR to cl-mixed similar to how you did for cl-vorbis so we have an M1 binary there, too? Thanks!
— Reply to this email directly, view it on GitHub https://github.com/Shirakumo/kandria/issues/12#issuecomment-1397412917, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAGB66DE3IML7QG5DGASPTWTGAKVANCNFSM6AAAAAAT32FH5A . You are receiving this because you were mentioned.Message ID: @.***>
You can get around the too many open files error by removing #-kandria-release org.shirakumo.fraf.trial.notify:main
from main.lisp
It looks like the file-notify library is bugged on macos.
After solving issue with libvorbis I still see the black screen.
Probably because of the error about select:
or probably because of other errors (about failed attempt to fetch news or problem with duplicate symbols from different pages.
here is the full log: