Search
Friday, 30th of October 2020, 15:16:01 UTC
15:17:10
Shinmera
well-- what I mean is that while the audio thread is accessing samples, nothing else is touching them. audio processing happens exclusively in one thread.
15:17:20
SAL9000
that is good. hmmmmm...
15:17:36
SAL9000
could there be some issues with buffers being drained faster than you fill them?
15:17:37
Shinmera
you need to explicitly park the audio thread just to do stuff like attach a new source to a mixer.
15:17:52
Shinmera
no, in that case it would just stutter.
15:18:48
Shinmera
a -1 deref is so weird. It's almost like an error code is treated as memory and derefed or something.
15:18:59
Shinmera
*treated as an address
15:19:42
SAL9000
Have you found the point where the deref occurs?
15:20:55
SAL9000
is this built with msvc or clang?
15:21:03
SAL9000
you might be able to use ASan
15:49:14
SAL9000
Shinmera: -fsanitize=address works since GCC 4.8, apparently. Not sure how it'll interact with SBCL's GC, though!
15:54:54
Shinmera
what does that do? (google shows zero results lol)
16:00:00
Shinmera
ah. some form of alternative to valgrind?
16:08:30
Shinmera
okey, not available in msys
16:08:31
SAL9000
Shinmera: AddressSanitizer is basically faster valgrind, yeah. -fno-omit-frame-pointer helps with stack traces, too.
16:09:07
SAL9000
maaaaybe you can get it if you use clang?
16:09:14
Shinmera
isn't -fno-omit-frame-pointer alredy there if you have -g?
16:10:12
Shinmera
ugh, I really really really really wish I didn't have to debug this myself
16:12:14
Shinmera
Also interesting, sometimes, rarely, I get a mixed error saying "allocation failed"
16:12:34
SAL9000
something somewhere in malloc died, I guess?
16:13:55
Shinmera
-fno-omit-frame-pointer didn't change shit
16:23:38
Shinmera
Trying to run sbcl under drmemory just leads to crashes even earlier
16:25:03
Shinmera
Also fun: the game works fine under WINE
16:25:42
Shinmera
Ugh, can someone else repro this shit
16:26:40
Shinmera
need latest of shirakumo/trial shirakumo/harmony shirakumo/cl-mixed shirakumo/alloy shinmera/kandria
19:21:57
Shinmera
Fuck why is there no sensible audio editor on Linux
19:22:15
Shinmera
everything's either a DAW, sucks shit and crashes, or is Audacity and crashes my entire Jack server.
19:32:19
Shinmera
Audacity manages to crash Jack so hard I can't kill jack and have to reboot
19:32:37
Shinmera
so cool very cool thank you linux is such a mature and stable system linux ond the desktop 2020
19:33:32
Shinmera
you mean you can try, or you mean you already tried and are reproducing the error?
19:33:42
selwyn
i can try now, have some free time
19:35:26
selwyn
on vanilla windows? not wine or anything
19:37:06
Shinmera
Yes. Wine cannot reproduce it.
19:40:30
Shinmera
You'll also have to configure your sound output device to be on 5.1 surround.
19:47:01
selwyn
i've configured 5.1 surround sound and cloned the repos
19:47:16
selwyn
how should i run kandria?
19:48:49
selwyn
System "messagebox" not found - i guess that's just a dependency i haven't got yet
19:49:35
selwyn
it has been a while since i developed on this windows box :/
19:55:10
selwyn
looks like i need feedback as well. pulling the latest version
19:55:30
Shinmera
ah, yeah, forgot about that.
19:58:30
Shinmera
a few too many yeah cause trial isn't properly modularised.
19:58:37
Shinmera
should factor out image loaders and such.
19:58:52
Shinmera
for things like that having optional dependencies and ways to trigger when loaded would be so good
19:58:58
Shinmera
but ASDF sucks so we can't have that.
19:59:10
selwyn
i don't mind personally though
19:59:24
selwyn
that there are so many dependencies that is
20:01:57
selwyn
i'm getting Unhandled memory fault at #xFFFFFFFFFFFFFFFF.
20:02:07
Shinmera
yay so you can reproduce it.
20:02:15
Shinmera
now enjoy figuring out what causes it.
20:02:36
Shinmera
bonus points if you just abort and run kandria again (in the same image). it'll likely work then.
20:03:51
selwyn
it won't let me abort everything kind of freezes up
20:04:02
selwyn
no bonus points for me :)
20:04:56
selwyn
i can hear some clicks in the left headphone as it crashes
20:05:32
selwyn
it only happens with 5.1 surround sound configured?
20:05:46
Shinmera
only with 5.1 on windows with kandria.
20:05:51
Shinmera
doesn't happen with stereo
20:05:54
Shinmera
doesn't happen on linux
20:05:58
Shinmera
doesn't happen with harmony alone
20:06:23
Shinmera
doesn't even happen with wine.
20:07:04
Shinmera
if we at least knew where the deref happens that would go a long way
20:09:11
selwyn
well this seems like a good occasion to ask - if i get a foreign function in the backtrace like ("foreign function: #x6A2E52B5") is there any way to tell where the function 'comes from'
20:09:45
Shinmera
that function I can tell you is libmixed's mixed_buffer_request_read.
20:10:11
Shinmera
you figure this out by attaching a debugger and looking at where libraries are mapped.
20:10:24
Shinmera
but it's likely that's a red herring and SBCL isn't reading the stack right.
20:10:56
Shinmera
you'd have to catch the moment the deref happens in an external debugger
20:11:05
Shinmera
which is hard because segfaults happen a lot as part of normal operation.
20:11:25
Shinmera
I couldn't be bothered to figure out if gdb had a way to only catch segfaults at certain addresses.
20:12:08
selwyn
oh cool, we have gdb on windows
20:12:49
Shinmera
we do but it kinda blows
20:14:53
Shinmera
and lldb is still very broken
20:19:41
selwyn
why do you think it's a red herring?
20:19:48
Shinmera
because it makes no sense.
20:21:09
Shinmera
that function doesn't do any dereffing of memory that's not either a stack variable used as output, or a buffer object that is heap allocated
20:21:22
Shinmera
it doesn't use negative offsets, so -1 is extremely unlikely.
20:23:22
Shinmera
another function on the stack that's seen in the debugger is mixed_err.
20:23:28
Shinmera
request_read does not call mixed_err
20:23:43
Shinmera
and mixed_err only sets a thread local variable.
20:24:23
Shinmera
so yeah, it seems to me like something else has to be going wrong
20:24:51
Shinmera
the fact that it doesn't even crash under wine is also extremely suspicious
20:26:45
selwyn
could it be a bug in windows? that is inadvertently fixed in wine
20:27:14
Shinmera
it could be but that wouldn't help us.
20:30:17
Shinmera
it's more likely a bug in either SBCL/windows or libmixed.
20:31:02
selwyn
on the bright side, that means it could be fixed relatively quickly
20:31:13
Shinmera
if it can be figured out.
20:32:17
Shinmera
it's really getting me down a lot that after all this trouble things still just aren't working right
20:32:34
Shinmera
harmony has been a bug undertaking
20:33:01
selwyn
don't be too hard on yourself, this bug is one of those real mindbenders
20:33:19
Shinmera
sure, I just don't want to be dealing with it at all
20:34:37
Shinmera
I don't think Kandria runs on CCL so we can't even test if it's SBCL
20:44:47
Shinmera
Good news: I can reproduce even on Windows 7, so it's very unlikely this is a Windows bug.
21:03:44
MetaYan
Shinmera: Is it only on Windows, or is it the same one you mentioned 10Z today? "creating a channel converter segment on OSX crashes with a memory fault"
21:04:07
Shinmera
the osx crash is elsewhere and I can't explain that one either.
21:05:06
Shinmera
though just as with this one I'd be very happy if someone else were to figure out what's happening.
21:05:44
MetaYan
Yeah, I can have a peek at that one.
21:06:17
Shinmera
you'll probably have a much easier time too since you can actually use lldb/gdb on osx.
21:09:31
MetaYan
What's the setup to trigger it?
21:09:38
Shinmera
just load kandria and launch it.
21:10:11
Shinmera
you can even use the latest release from itch if you don't want to build it yourself.
21:12:04
MetaYan
I have your stuff in local, so alright to build.
21:15:32
MetaYan
I hear choppy music, but no graphics.
21:16:01
Shinmera
you sure you got everything on latest?
21:17:07
MetaYan
I'll check the list I saw here somwhere earlier.
21:18:52
MetaYan
Apparently not kandria.
21:19:46
Shinmera
https://plaster.tymoon.eu/view/650
21:19:47
Colleen
plaster.tymoon.eu/view/650 Website (XHTML), Title: update-all.lisp - Plaster
21:21:30
MetaYan
Thanks. Have been wanting to throw together something like that to replace my bash stuff.
21:25:46
MetaYan
Same behaviour. Slightly choppy music, but no graphics.
21:26:55
Shinmera
https://studio.tymoon.eu/api/studio/file?id=1711
21:26:55
Colleen
studio.tymoon.eu/api/studio... Image (PNG)
21:27:15
Shinmera
what version of os x is this?
21:28:09
MetaYan
Could it have something to do with MBP only supporting OpengL 4.1 under macOS?
21:28:31
MetaYan
Alright. It's High Sierra.
21:29:02
Shinmera
do you have a libmixed of your own taht it's using somehow?
21:29:34
Shinmera
I also don't understand how audio is choppy on a fuckin' mbp, my air ran things without chop.
21:31:39
Shinmera
I just I hate computers, you know?
21:36:34
Shinmera
MetaYan: in the startup logs, look for trial.steam messages
21:36:43
Shinmera
MetaYan: does it say whether they succeeded or not?
21:39:38
MetaYan
Or wait, what logs? I just checked the repl.
21:40:23
Shinmera
there should be messages in the TRIAL.STEAM category
21:40:25
MetaYan
There is no mention of steam.
21:40:44
Shinmera
oh- right, it doesn't try when run in dev mode.
21:41:17
Shinmera
(defmethod org.shirakumo.fraf.trial.steam:steam-required-p ((main kandria::main)) T)
21:42:38
MetaYan
"The low-level file is not present."
21:43:30
Shinmera
you'd have to get your hands on the steamworks sdk and all
21:43:56
Shinmera
Thanks for testing-- no idea why it works for you but not me (and others)
21:45:11
MetaYan
Ah, alright. Wish you success.
21:46:10
MetaYan
The music plays even though the rest stops in trial.steam .
21:46:42
Shinmera
steam is initialised very late
21:58:59
MetaYan
Noticed something strange when trying it in portacle now - there's a kandria.asd in your leaf project as well, and now it's trying to load that one.
21:59:49
Shinmera
uuuh, kandria is leaf. if you still have leaf, delete it. that's the old repo.
22:06:15
MetaYan
Quicklisp wasn't updated in my portacle installation. Was using plain SLIME in a terminal before where it was updated. Just so you know.
22:36:23
MetaYan
Ha. In portacle I get graphics now - without the steam-required-p defmethod. Music is still choppy, and got this: https://termbin.com/dcoi
22:36:23
Colleen
termbin.com/dcoi Text (PLAIN)
22:37:47
Shinmera
that's... interesting.
22:45:07
MetaYan
Got "No animation named KANDRIA::LIGHT-AERIAL-1 found." when kicking the lamp.
22:46:11
Shinmera
that's expected. you're testing features that aren't fully in yet.
22:46:22
Shinmera
and it's from trying to attack while in the air
22:46:39
Shinmera
Fred is working on aerials now.
22:46:52
Shinmera
well, not now now, but as in that's a thing he's doing next
22:47:10
MetaYan
I'm not really into playing games, so I'm out on a limb here. No idea what I'm doing...
22:49:47
Shinmera
Not a customer, then :(
22:53:36
MetaYan
Nope. But I like real-life challenges and to test things...
23:02:51
MetaYan
Another read-sequence error: https://termbin.com/972d
23:02:51
Colleen
termbin.com/972d Text (PLAIN)
23:05:30
Shinmera
this implies that something's changing the file-position outside of whatever this is doing
23:08:00
Shinmera
anyway, I'm off to bed.
Saturday, 31st of October 2020, 3:16:01 UTC