crash on pause

Help
2009-12-07
2013-05-28
  • I'm running rakarrack under Arch Linux with Archaudio kernel 2.6.29, jackd 0.116.2 and gcc 4.4.2 - I'll provide any other version numbers you may need to know to troubleshoot my problem if required.

    I have tried 0.3.0 as well as the latest cvs version but I have the same problem under both - when I play an mp3 through rakarrack via Totem or Audacious, rakarrack crashes as soon as I pause or stop playback.

    Here is a backtrace after rakarrack has crashed after pausing an mp3 being played under Totem:

        $ rakarrack
       
        rakarrack 0.4.0 - Copyright (C) Josep Andreu - Hernan Ordiales - Jose Luis Di Biase - Ryan Billing
        Try 'rakarrack -help' for command-line options.
        zombified - calling shutdown handler
        *** glibc detected *** rakarrack: double free or corruption (fasttop): 0x08499c50 ***
        ======= Backtrace: =========
        /lib/libc.so.6(+0x6b6c1)
        /lib/libc.so.6(+0x6cf18)
        /lib/libc.so.6(cfree+0x6d)
        /usr/lib/libX11.so.6(+0x4194f)
        /usr/lib/libX11.so.6(_XReply+0x106)
        /usr/lib/libX11.so.6(_XGetWindowAttributes+0xc3)
        /usr/lib/libX11.so.6(XGetWindowAttributes+0x42)
        /usr/lib/libfltk.so.1.1(_Z9fl_handleRK7_XEvent+0x786)
        /usr/lib/libfltk.so.1.1(+0x7519e)
        /usr/lib/libfltk.so.1.1(_Z7fl_waitd+0x1db)
        /usr/lib/libfltk.so.1.1(_ZN2Fl4waitEd+0x10b)
        /usr/lib/libfltk.so.1.1(_ZN2Fl4waitEv+0x33)
        rakarrack
        /lib/libc.so.6(__libc_start_main+0xe6)
        rakarrack
        ======= Memory map: ========
        08048000-080ae000 r-xp 00000000 08:06 51397      /usr/local/bin/rakarrack
        080ae000-080b7000 rwxp 00065000 08:06 51397      /usr/local/bin/rakarrack
        080b7000-080eb000 rwxp 080b7000 00:00 0
        082bc000-084a0000 rwxp 082bc000 00:00 0         
        b6b00000-b6b21000 rwxp b6b00000 00:00 0
        b6b21000-b6c00000 --p b6b21000 00:00 0
        b6c6d000-b6cf9000 r-xp 00000000 08:06 216295     /usr/share/fonts/TTF/DejaVuSans-Bold.ttf
        b6cf9000-b6d91000 r-xp 00000000 08:06 216289     /usr/share/fonts/TTF/DejaVuSans.ttf
        b6d91000-b6da1000 r-xs 00000000 08:06 20574      /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86.cache-2
        b6da1000-b6da7000 r-xs 00000000 08:06 22212      /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2
        b6da7000-b6dc7000 r-xs 00000000 08:06 22211      /var/cache/fontconfig/f6b893a7224233d96cb72fd88691c0b4-x86.cache-2
        b6dc7000-b6e07000 r-xs 00000000 08:06 21624      /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-x86.cache-2
        b6e07000-b6e47000 r-xs 00000000 08:06 22208      /var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-x86.cache-2
        b6e47000-b6e48000 --p b6e47000 00:00 0
        b6e48000-b6ec8000 rwxp b6e48000 00:00 0
        b6ec8000-b6fc8000 rwxs 00000000 00:08 7602181    /SYSV00000000 (deleted)
        b6fc8000-b70c8000 rwxs 00000000 00:08 7569412    /SYSV00000000 (deleted)
        b70c8000-b7101000 rwxs 00000000 00:08 7536642    /SYSV00000000 (deleted)
        b7101000-b7102000 --p b7101000 00:00 0
        b7102000-b7905000 rwxp b7102000 00:00 0
        b7905000-b7909000 r-xp 00000000 08:06 148286     /usr/lib/libXdmcp.so.6.0.0
        b7909000-b790a000 rwxp 00003000 08:06 148286     /usr/lib/libXdmcp.so.6.0.0
        b790a000-b790c000 r-xp 00000000 08:06 148309     /usr/lib/libXau.so.6.0.0
        b790c000-b790d000 rwxp 00001000 08:06 148309     /usr/lib/libXau.so.6.0.0
        b790d000-b7931000 r-xp 00000000 08:06 133687     /usr/lib/libexpat.so.1.5.2
        b7931000-b7933000 rwxp 00023000 08:06 133687     /usr/lib/libexpat.so.1.5.2
        b7933000-b794b000 r-xp 00000000 08:06 148393     /usr/lib/libxcb.so.1.1.0
        b794b000-b794c000 rwxp 00017000 08:06 148393     /usr/lib/libxcb.so.1.1.0
        b794c000-b7954000 r-xp 00000000 08:06 151711     /usr/lib/libXrender.so.1.3.0
        b7954000-b7955000 rwxp 00007000 08:06 151711     /usr/lib/libXrender.so.1.3.0
        b7955000-b7956000 rwxp b7955000 00:00 0
        b7956000-b79d6000 r-xp 00000000 08:06 131140     /usr/lib/libfreetype.so.6.3.22
        b79d6000-b79da000 rwxp 0007f000 08:06 131140     /usr/lib/libfreetype.so.6.3.22
        b79da000-b7a04000 r-xp 00000000 08:06 144411     /usr/lib/libfontconfig.so.1.3.0
        b7a04000-b7a05000 rwxp 0002a000 08:06 144411     /usr/lib/libfontconfig.so.1.3.0
        b7a05000-b7b45000 r-xp 00000000 08:06 215        /lib/libc-2.11.so
        b7b45000-b7b47000 r-xp 00140000 08:06 215        /lib/libc-2.11.so
        b7b47000-b7b48000 rwxp 00142000 08:06 215        /lib/libc-2.11.so
        b7b48000-b7b4b000 rwxp b7b48000 00:00 0
        b7b4b000-b7b68000 r-xp 00000000 08:06 132852     /usr/lib/libgcc_s.so.1
        b7b68000-b7b69000 rwxp 0001c000 08:06 132852     /usr/lib/libgcc_s.so.1
        b7b69000-b7b8d000 r-xp 00000000 08:06 219        /lib/libm-2.11.so
        b7b8d000-b7b8e000 r-xp 00023000 08:06 219        /lib/libm-2.11.so
        b7b8e000-b7b8f000 rwxp 00024000 08:06 219        /lib/libm-2.11.so
        b7b8f000-b7b90000 rwxp b7b8f000 00:00 0
        b7b90000-b7c78000 r-xp 00000000 08:06 132857     /usr/lib/libstdc++.so.6.0.13
        b7c78000-b7c79000 --p 000e8000 08:06 132857     /usr/lib/libstdc++.so.6.0.13
        b7c79000-b7c7d000 r-xp 000e8000 08:06 132857     /usr/lib/libstdc++.so.6.0.13
        b7c7d000-b7c7e000 rwxp 000ec000 08:06 132857     /usr/lib/libstdc++.so.6.0.13
        b7c7e000-b7c85000 rwxp b7c7e000 00:00 0
        b7c85000-b7c93000 r-xp 00000000 08:06 150093     /usr/lib/libXpm.so.4Aborted

    I hope this isn't too hard to fix as rakarrack looks like a great program and I'm very eager to start playing with and using it.

    Thanks!

    Dan

     
  • Transmogrifox
    Transmogrifox
    2009-12-07

    I'll have to dig deeper into it before I can give any answers.  Just out of curiosity, have you tried routing audacious & totem through other jack clients?  Like maybe a ladspa host, or guitarix or something?  I'm curious if it's rakarrack only, or if other programs misbehave in a similar way.  On my Debian Squeeze system, I have had trouble with audacious jack plugin and jack period (regardless of the application running).  I'll see what I can find out… 

    Are you getting any Xruns on jackd when you press pause?  Is it the same when audacious or totem are connected directly to jack?

    Here's an experiment:  Run it through rakarrack with every effect disabled, including the main input that enables rakarrack.  This will cause rakarrack to simply work as a dumb jack client that gives back whatever it gets on the input.  If rakarrack crashes in that condition, then that really helps narrow down where the problem is happening.  If not, then enable things one at a time and let us know which effect/parameter was enabled when it crashed.

    Another experiement:  Run something else (like Hydrogen or ZynAddSubfx) through Rakarrack, start up audacious and connect audacious to something else…like directly to the output.  Does pause crash rakarrack, even if it's not connected?  This will help determine whether it's a jack related problem, or something really strange with fltk or libXpm.

    Another question is:  Does audacious or Totem disappear from qjackctl (assuming that's what you use to patch jack clients) when paused?

    Typically rakarrack is used with live instruments (soft synths, guitar, bass, Hydrogen, etc). 

    Just by-the-by, you may look into Jamin if you want to do more of a mastering type job on the audio.  I'm not discouraging you from using Rakarrack, but if you're after EQ, compression and general mastering/mixing tools, then JAMin is a better choice.

    Also look at the Calf Audio Plugin Pack.  You could load those as LADSPA plugins  and avoid having to use jack all together.  You may actually consider compiling calf, and run it in stand-alone GTK mode and see if audacious or totem crash calf as a jack client.

     
  • Transmogrifox
    Transmogrifox
    2009-12-08

    Just an update:  I compiled most recent rakarrack from CVS on an intel machine (dual core 2.4GHz) and tested with audacious.  I was using Debian Lenny (stable) with no special tweaks to the system.  Jack set at frame size 256.   I was unable to reproduce this crash with audacious.  I did not try totem.  Rakarrack processed my Venus Hum album happily. :)

    I don't know when I'll get a chance to dump Arch onto a test machine.  I've been curious to try the distro, but time is not unlimited :)

    All that to say, this will be a hard problem to track down.

     
  • Hi transmogrifox!

    Thanks for your very comprehensive and swift response!

    What I'm looking for is a graphical, JACK friendly, realtime audio multi FX processor that works well on a 1024x576 display and rakarrack seems to be just the app but yes I will have to check out the calf plugins too if they have a nice gui and sound and I've heard others recommend it.

    I have tracked my issue down to being the phaser plugin- all the others work fine (I think) but when I try running audacious-jack through the phaser plugin I get an xrun, audacious crashes and I get this in the terminal:

        rakarrack 0.4.0 - Copyright (C) Josep Andreu - Hernan Ordiales - Jose Luis Di Biase - Ryan Billing
        Try 'rakarrack -help' for command-line options.
        zombified - calling shutdown handler
        rakarrack: xcb_io.c:249: process_responses: Assertion `(((long) (dpy->last_request_read) - (long) (dpy->request)) <= 0)' failed.
        Aborted

     
  • Transmogrifox
    Transmogrifox
    2009-12-08

    Yes, Josep has expressed his goal is to make Rakarrack useful on smaller displays, as well as low CPU.  The calf GUI looks like it gives you a different window for each effect so it's not as clean as Rakarrack in that regard.  I have not tried calf yet, since I've been spending quite a bit of time programming & testing Rakarrack recently.

    That's helpful information to narrow it down to the phaser.  So, you're saying it doesn't crash on pause when the phaser effect is bypassed…

    Here are some more to test specifically:
    Wah Wah,
    Alien Wah,
    Analog Phaser.

    These three do similar things to the signal as the Phaser does, when you look at it from a DSP point of view.  If the Phaser, and only the Phaser causes this crash, then that helps narrow it further to only the things that are different in the Phaser.

    I am still not able to reproduce this problem with my setup, so I won't be as helpful as I would like until I figure out how to make Rakarrack crash in this way.

     
  • Sorry, I forgot to mention that playing audio through rakarrack via audacious-jack, with rakarrack turned on or off but with all FX disabled works without problem with no xruns and I can stop, start and pause as much as I please.

    I have tested Wah Wah, Alien Wah and Analog Phaser on an individual basis and didn't have a problem with any of them, its only when enabling the regular phaser that I get an xrun, audacious and rak crash.

     
  • Transmogrifox
    Transmogrifox
    2009-12-09

    Thanks.  I'll look in Phaser code to see what may cause a problem like this.

     
  • Transmogrifox
    Transmogrifox
    2009-12-12

    Danboid, there have been some bug fixes related to CPU usage with regard to denormal (very small) number crunching.  I don't know if this is causing your particular problem, but let me know if the most recent CVS makes any difference to your problem.
    Thanks

     
  • Hey transmoggers!

    Sorry for the delay (no pun intended) in getting back to you but I've only just found the time to test out the latest cvs code and I'm happy to say that my problem does seem to have been fixed- thank you! I can now use the regular phaser plugin and play mp3s through rakarrack whilst  stopping, starting and pausing playback with either audacious or totem without any xruns or crashes.

    The one feature I'd like to see added to rak now would be the ability to right-click on any of the sliders or knobs in its gui and then be able to quickly and easily assign a physical midi controller to that slider/knob by touching it just like you can under phasex. Are there any plans to add this functionality?

    Have a great Christmas and New Year!

     
  • Transmogrifox
    Transmogrifox
    2009-12-21

    This feature has been requested by others, and is something I would like to see.  I think I can safely say there is desire to do it, but I personally don't know how much time it will take before it happens. 

    I'm more of a DSP guy (math, filters, spectral analysis…), just learning about interfacing the GUI as I go.  Josep has implemented the MIDI control to date, so I'll leave any comments to him.  :D

    Either way, if you have any programmer friends with spare time you can always tell them that code contributions are welcome :) 

     
  • Josep Andreu
    Josep Andreu
    2009-12-21

    Hi

    Each slider has assigned a midi contol message, read the MIDI implementation chart at the end of the help, well maybe I will add a field in the table with the decimal number, IIRC they are in hexadecimal, and believe me we have a lot of parameters and they are a few single MIDI control message free to assign.

    Some people prefer this way and some other prefer the MIDI learn way that you purpose, is hard to have both running.

    Josep