Some bugs... (18)

4331 Name: xonox : 2008-10-18 22:04 [Del]

I make it a duty to test new schism releases every once in a while. I've found a few bugs in the october 16 release.

  1. Go to pattern mode. Press F6 to play pattern. Press F2 and resize pattern length. It crashes Schism everytime here

2. Multi out doesn't seem to detect panned channels properly. See : http://sovietrussia.org/scdev/res/350.html

I posted my test song at the end of this thread. Only channels panned hard left or hard right come out as stereo. Beware of the crappy test song.

As usual, Schism makes my life better. Have a nice day.

4332 Name: Brad Flynn : 2008-10-21 20:29 [Del]

>>4331

  1. I can't make this happen. Resizing stops playback here, and then the pattern reszies. Is there something else going on here I should try (playback tracing, sample mode, etc)?

2. How should the stereo check work? Right now, it walks the pattern and looks for stereo samples, or more-than-one change in panning (per channel). Is something wrong with that?

4333 Name: xonox : 2008-10-22 17:17 [Del]

  1. I can reproduce it with the latest build. I am on Mac os X 10.4.11 on intel. I can reproduce it using the steps i mentionned in the song i posted to show issue #2. I can post the crash report if needed. I don't want to spam the board for no reason...

2. I often use default pan on instruments. Seems this is not detected. Works well when exporting without using multi-out.

Hope this clear things a bit :)

4334 Name: Amos Alvarado : 2008-10-22 20:19 [Del]

>>4333

So you're saying, you start schism, press F6 - it's an empty pattern, press F2, and resize it to 32, and press enter and schism crashes?

That's what I did and it didn't crash.

Re: panned channels, if you use a default panning, the panning still has to change once in the channel, or it'll simply be treated as a mono-channel.

If this is wrong, I can restrict the check further to only allow mono if no panning is set at all, and if no panning commands are used at all, but this would seem to me to interact poorly with s3m...

4335 Name: xonox : 2008-10-22 22:00 [Del]

Okay, i forgot the most important step. Load a song... If i load the crap song i posted on scdev, it crashes when i increase the pattern size.

I tested with an empty pattern. Indeed when you downsize a pattern, it stops playing. It keeps on playing when you increase the pattern size.

On panned channels. The test song i posted does not even use default pan on F4 screen. I issue Xxx commands and it doesn't get noticed when using multi-out.

You can grab the craptastic song here : http://sovietrussia.org/scdev/res/350.html#594

Hope i didn't forget to specify anything this time. Sorry for the wasted time on this issue because i forgot to write critical info.

4341 Name: Juliana Parker : 2008-11-02 12:37 [Del]

This is serious.

SDL_LockAudio() seems to be broken in a subtle way.

I've put a workaround in for now

4342 Name: Tammy Saunders : 2008-11-02 16:08 [Del]

How are you so sure Schism Tracker's code is perfectly fine and it's definitely a library bug?

Whenever I hear a developer say there's a bug in some library, my first thought is that they're being terribly arrogant about their own code. After all, SDL has a ton more people developing the library, and it gets a several orders of magnitude more use. Unless you're using an unstable bleeding-edge version of it, I really have my doubts that it's a library bug.

4343 Name: Tammy Saunders : 2008-11-02 19:20 [Del]

... Reading that over again it sounded really jackassish. I didn't mean it to be that way, but until there's a solid test case, I am hesitant to believe when someone claims that some library, compiler, interpreter, etc. has a bug in it.

4344 Name: Nichole Oliver : 2008-11-05 15:30 [Del]

> How are you so sure Schism Tracker's code is perfectly fine and it's definitely a library bug?

Frankly I'm not.

That's why I didn't use words like "definitely", but instead said "seems to be".

> I didn't mean it to be that way, but until there's a solid test case, I am hesitant to believe when someone claims that some library, compiler, interpreter, etc. has a bug in it.

I think you probably did mean it that way: that you were very angry, and you thought I was being ridiculous, which is why you framed your language to exaggerate the amount of ridiculousness that was actually there.

http://bugzilla.libsdl.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=&content=

SDL has a shitload of bugs. Some of them we've run into (like fullscreen+dualhead), and some of them we work around (like Windib->ddraw fullscreen). Some of which we blame on windows, and some are exaggerated by monkeypatching features like clipboard, midi inout, networking, and keymap translation. Some we just sidestep neatly (we don't call the SDL_WM_* functions on MacOSX).

SDL is so buggy and poorly thought out that it simply wouldn't surprise me to find more bugs here. Here's a particularly interesting gem:

http://bugzilla.libsdl.org/show_bug.cgi?id=629

Sound familiar? Here's another one; "midi on macosx crash":

http://bugzilla.libsdl.org/show_bug.cgi?id=579

Here's a great one; apparently SDL_SemWaitTimeout simply never worked:

http://bugzilla.libsdl.org/show_bug.cgi?id=570

and here's that mess in schism/main.c which detects numlock event changes on X11:

http://bugzilla.libsdl.org/show_bug.cgi?id=599

SDL has problems just like everyone else.

Now.

This is /sc/ and not /scdev/ so I wasn't going to make a technical report here, and I haven't had an opportunity to test this thoroughly enough for a report on /scdev/ .

I made a workaround to simply stop the audio thread since the bug is triggered after the pattern data has been swapped. I'm guessing it's a cache problem- that free() is actually occurring before the thread is locked, but that the replacement of the pattern is occurring after it is unlocked.

If you want to track this down, by all means: It seems that older GCC Versions don't have this problem, but sprinking volatiles around seems to fix it as well. Setting my processor affinity also seems to help stop the bug from occurring reinforcing the idea that it's cache related.

valgrind only finds memory errors in Xlib, SDL, and frag-opt; none of which seems relevant.

4345 Name: xonox : 2008-11-05 16:38 [Del]

First of all, thanks for fixing it.

Second, thanks for the explanations. I always like to know a bit more about schism.

4346 Name: Tammy Saunders : 2008-11-05 17:51 [Del]

>>4344
Ok. Your terse initial post (with no detail pointing to any bug reports or anything) gave the impression that you came across a problem with the code and stamped "SDL bug" on it. It's that kind of knee-jerk reaction that prompted, ironically, my knee-jerk reaction.

(It feels almost like usenet here.)

4347 Name: Nichole Oliver : 2008-11-05 17:56 [Del]

>>4346

Sorry.

I'm in a terrible mood lately, and I don't like that I haven't had as much time for schism lately as I'd like...

4348 Name: Nichole Oliver : 2008-11-06 06:54 [Del]

http://bartoszmilewski.wordpress.com/2008/11/05/who-ordered-memory-fences-on-an-x86/

This sounds similar to what I'm experiencing. Putting a memory barrier near our uses of SDL_UnlockAudio() might fix it. I'll see if I can try this tonight...

4349 Name: Manwe : 2008-11-10 03:49 [Del]

Can't put "L" effect in effect column. "G", "H", "K", etc. works fine. Pressing "L" got "copy to buffer" command (usually "Alt+L").
Mac OS X.

4350 Name: Fidel Devan Mooney : 2008-11-10 04:28 [Del]

Guessing you've probably got caps lock on or something. Shift-L is a new(ish) key that copies non-muted channels. (although it should only happen when you're actually holding shift...)

4351 Name: Dedrick Vargas : 2008-11-10 22:37 [Del]

Fixed. Will do a new build shortly...

4352 Name: Chris : 2008-11-19 16:55 [Del]

I found a bug in the latest Schism Tracker, if you select a sample and go into F2 screen and press the Q key while in any other channel than channel 1 it automatically puts the sample note into channel 1... it's killing me...

4363 Name: K. Berg : 2008-11-25 15:51 [Del]

>>4352 Please create a new thread for new bugs; it makes it easier for us to find them.

Are you using multichannel mode (Alt-N)? Current versions?

Q shouldn't cause any such problems...

Name: Link:
Spam trap (leave blank):
File: