← Back to team overview

ubuntustudio-bugs team mailing list archive

[Bug 1703176] Re: jackd assert failure: jackd: rawmidi.c:268: snd_rawmidi_open_conf: Assertion `err >= 0' failed.

 

I think that the problem is likely in

/usr/include/sound/asound.h:625

struct snd_rawmidi_params {
        int stream;
        size_t buffer_size;             /* queue size in bytes */
        size_t avail_min;               /* minimum avail bytes for wakeup */
        unsigned int no_active_sensing: 1; /* do not send active sensing byte in close() */
        unsigned char reserved[16];     /* reserved for future use */
};

struct snd_rawmidi_status {
        int stream;
        struct timespec tstamp;         /* Timestamp */
        size_t avail;                   /* available bytes */
        size_t xruns;                   /* count of overruns since last status (in bytes) */
        unsigned char reserved[16];     /* reserved for future use */
};

Here are 4 uses of size_t which will result in different structures for
32-bit and 64-bit compilations even though 32-bit binaries can
communicate with a 64-bit kernel via ioctl.

So this would appear to require fixing in the ALSA headers of the kernel
and recompiling alsa-lib with the changed headers.

I think using unsigned rather than size_t should work fine in this
regard.  However, there are also structures using snd_pcm_uframes_t
which is typedeffed to unsigned long and thus should also be
architecture-dependent.

It's not clear to me why or how the respective ioctl calls would work
for PCM here when running with a 32-bit alsalib/executable and a 64-bit
kernel.

-- 
You received this bug notification because you are a member of Ubuntu
Studio Bugs, which is subscribed to jackd2 in Ubuntu.
Matching subscriptions: ubuntustudio-bugs: jackd2
https://bugs.launchpad.net/bugs/1703176

Title:
  jackd assert failure: jackd: rawmidi.c:268: snd_rawmidi_open_conf:
  Assertion `err >= 0' failed.

Status in jackd2 package in Ubuntu:
  New

Bug description:
  This may or may not be an artifact of me running a 32-bit userland on
  a 64-bit kernel (for debugging and testing purposes).

  However, preceding the command line with "setarch i386" does not help.

  The exact command line used was

      jackd -d alsa -X raw -d hw:0

  To trigger the bug, it is important that there actually is a raw Midi
  device available on the system.  Any such device will trigger the
  problem in my experience.

  Here is the complete output:
  jackdmp 1.9.11
  Copyright 2001-2005 Paul Davis and others.
  Copyright 2004-2014 Grame.
  jackdmp comes with ABSOLUTELY NO WARRANTY
  This is free software, and you are welcome to redistribute it
  under certain conditions; see the file COPYING for details
  no message buffer overruns
  no message buffer overruns
  no message buffer overruns
  JACK server starting in realtime mode with priority 10
  self-connect-mode is "Don't restrict self connect requests"
  audio_reservation_init
  Acquire audio card Audio0
  creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
  configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
  ALSA: final selected sample format for capture: 32bit integer little-endian
  ALSA: use 2 periods for capture
  ALSA: final selected sample format for playback: 32bit integer little-endian
  ALSA: use 2 periods for playback
  scan: added port hw:1,0,0 in-hw-1-0-0-UM-4-MIDI-1
  scan: added port hw:1,0,1 in-hw-1-0-1-UM-4-MIDI-2
  scan: added port hw:1,0,2 in-hw-1-0-2-UM-4-MIDI-3
  scan: added port hw:1,0,3 in-hw-1-0-3-UM-4-MIDI-4
  scan: added port hw:1,0,0 out-hw-1-0-0-UM-4-MIDI-1
  scan: added port hw:1,0,1 out-hw-1-0-1-UM-4-MIDI-2
  scan: added port hw:1,0,2 out-hw-1-0-2-UM-4-MIDI-3
  scan: added port hw:1,0,3 out-hw-1-0-3-UM-4-MIDI-4
  ALSA lib rawmidi_hw.c:100:(snd_rawmidi_hw_params) SNDRV_RAWMIDI_IOCTL_PARAMS failed: Invalid argument
  jackd: rawmidi.c:268: snd_rawmidi_open_conf: Assertion `err >= 0' failed.
  Aborted (core dumped)

  ProblemType: Crash
  DistroRelease: Ubuntu 17.10
  Package: jackd2 1.9.10+20150825git1ed50c92~dfsg-2ubuntu2
  ProcVersionSignature: Ubuntu 4.10.0-26.30-lowlatency 4.10.17
  Uname: Linux 4.10.0-26-lowlatency x86_64
  ApportVersion: 2.20.5-0ubuntu5
  Architecture: i386
  AssertionMessage: jackd: rawmidi.c:268: snd_rawmidi_open_conf: Assertion `err >= 0' failed.
  CurrentDesktop: MATE
  Date: Sun Jul  9 10:27:38 2017
  ExecutablePath: /usr/bin/jackd
  InstallationDate: Installed on 2011-10-14 (2094 days ago)
  InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release i386 (20111011)
  ProcCmdline: jackd -d alsa -X raw -d hw:0
  Signal: 6
  SourcePackage: jackd2
  StacktraceTop:
   __assert_fail_base (fmt=0xf743009c "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0xf6f38cd3 "err >= 0", file=0xf6f48d35 "rawmidi.c", line=268, function=0xf6f49588 "snd_rawmidi_open_conf") at assert.c:92
   __GI___assert_fail (assertion=0xf6f38cd3 "err >= 0", file=0xf6f48d35 "rawmidi.c", line=268, function=0xf6f49588 "snd_rawmidi_open_conf") at assert.c:101
   () at /usr/lib/i386-linux-gnu/libasound.so.2
   () at /usr/lib/i386-linux-gnu/libasound.so.2
   snd_rawmidi_open () at /usr/lib/i386-linux-gnu/libasound.so.2
  Title: jackd assert failure: jackd: rawmidi.c:268: snd_rawmidi_open_conf: Assertion `err >= 0' failed.
  UpgradeStatus: Upgraded to artful on 2017-05-03 (66 days ago)
  UserGroups: adm admin audio cdrom dialout fax floppy lpadmin lxd plugdev pulse-access sambashare

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/jackd2/+bug/1703176/+subscriptions


References