You are here

Hard Crash

I've been adding quite a few audio in and out busses to a template, and the same with midi. (32ins and 32 outs audio each with 2 channels, etc...)

But now, i get a hard crash as soon as i attempt to open the file i've been working on. QTR opens to blank ok, but as soon as i hit the file, boom.
Jack is already running.

Is there a limit on audio or midi devices, or something to do with having seperate ins and outs?
I'm on the latest cvs build.


rncbc's picture

you made it! i'm doomed! :D i knew it, soon or later you'd come with such a bang! :o)

i sure guess it's way better sooner than later.

let's get it figured out...

as there's no hard limits that i can reckon in qtractor, this must be related to some code path never tested before or, at least, never stressed that way before. you probably know it better ;)

first question is sacramental as in every software bug call: is that someway reproducible? in one least number of steps?

let me put it in another way: can you build, yet another session, with the same or similar cardinality of buses and tracks, that will crash as bad on the spot?

please note, that this deterministic bug behavior that i'm asking for, is juice for proper debugging (in a somewhat forensic sense). once we get nearer to that status, the easier it gets to aim and squash the bug.

don't worry. i know my code is not that good. it takes ages to get to nirvana, whatever that is. i seriously doubt whether there's one single piece of software that ever reached that state. some are good, some are very good, some are just good enough :) software goodness is just in the use of the beholder <:)

yada yada

[EDIT:]once you get some kind of reproducible crash behavior, it helps having a core dump telling all its post-mortem secrets... yeah, what follows has already been spoken, but i just can't help it; i just ain't perfect :)

as my friend mario use to say, letsa-go:

  1. Rebuild it all from scratch, with:
      ./configure --enable-debug && make
  2. Enable core dumps in a shell session:
      ulimit -c unlimited
  3. From the same shell command line, run the program until it crashes badly. You'll see something like this in the output when it happens:
      Segmentation fault (core dumped)
  4. Locate the dumped core file. Depending on your environmental settings it might be just named core or something like core.1234 (1234 is the process-id number of the crashing program) located on the last directory the program was current.
  5. Load the core dump file into gdb
      gdb ./qtractor /path/to/core

    at the gdb prompt just enter:

      gdb> bt


      gdb> thread apply all bt

    and send the whole output to me.

rncbc aka Rui Nuno Capela


I've discovered that i can open multiple midi devices and there's no problem. But i can only open 1 audio device, and that's ok with multiple channels. So opening more than one audio device is a no no at the moment. (Which isn't bad, it just means i have to figure out some different routing.)
I'm going to check my setup before i report back, just to make sure it isn't Jack, or one of my settings, making this behave strangely.
Aside from this, QTR is going along nicely, and i've been experimenting with speed input. So far so good, and as i practise more with this, it's getting faster and faster. The new Key Commands are a BIG help, and thank you.

Onwards, and Upwards, dear chap!


rncbc's picture

Thanks for reporting, Alex.

What exactly do uou mean with multiple audio devices? JACK can only take control of one sound device per server. Is that the issue you're referring to?

rncbc aka Rui Nuno Capela

Add new comment