bugDenemo - Bugs: bug #59547, Denemo does not start

 
 

bug #59547: Denemo does not start

Submitter:  Ch P <zoe12345>
Submitted:  Thu 26 Nov 2020 01:06:30 AM UTC
   
 
Category:  None Severity:  3 - Normal
Item Group:  None Status:  Need Info
Privacy:  Public Assigned to:  None
Originator Name:  Open/Closed:  Open
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Thu 10 Dec 2020 11:50:44 AM UTC, comment #10: 

Thank you for the debug output. From this it is clear that opening the default output audio device (and/or the input MIDI device) causes the ALSA library to crash.
In this circumstance the only way to choose an audio output device is to edit the file
~/denemo-2.4.5/denemorc

at the line 72

    <portaudio_device>default</portaudio_device>

to become

    <portaudio_device>none</portaudio_device>

As a precaution, it would be good to also disable the MIDI in device line 76 to become

    <portmidi_input_device>none</portmidi_input_device>

with these edits, the program should start and it would be possible to choose from the Edit menu

Edit->Change Preferences

at the Audio tab the output device that works (if any!).

The program will work without audio, but it is easier to use with audio feedback.
If you can report back on the behavior with this startup file I would be very grateful.



Richard Shann <rshann>
Group administrator
Thu 10 Dec 2020 11:25:06 AM UTC, comment #9: 

Thank you very much for all that job.
So, I tested (version git of dememo : 2.4.5), but unfortunately, it did not work.
I first carefully deleted ~/.denemo-*.

Then I compiled [CFLAGS=-g] and installed denemo with that PKGBUILD :

pkgname=denemo-git
pkgver=2.4.0.r117.ge36c720ff
pkgrel=1
epoch=1
pkgdesc="A music score editor"
arch=('x86_64')
url="http://www.denemo.org"
license=('GPL')
depends=('aubio' 'lilypond' 'gtk3' 'libxml2' 'fftw' 'librsvg' 'fluidsynth'
         'libsmf' 'evince' 'gtksourceview3' 'portmidi' 'guile' 'rubberband')
makedepends=('intltool' 'git')
source=("git://git.savannah.gnu.org/denemo.git")
md5sums=('SKIP')
conflicts=("${pkgname%-git}")
provides=("${pkgname%-git}")

pkgver() {
  cd ${pkgname%-git}
  git describe --tags | cut -c2- | sed 's+-+.r+' |tr - .
}

build() {
  cd ${pkgname%-git}
  [ -x configure ] || ./autogen.sh
  CFLAGS=-g ./configure --prefix=/usr --sysconfdir=/etc --disable-rpath
  make
}

package() {
  cd ${pkgname%-git}
  make DESTDIR="$pkgdir" install
}


Denemo version :

[chris@portable-ch ~]$ denemo -v
GNU Denemo version 2.4.5
Gtk versions runtime: 3.24.24, compiled against: 3.24.24,
© 1999-2005, 2009 Matthew Hiller, Adam Tee, and others, 2010-2015 Richard Shann, Jeremiah Benham, Nils Gey and others.
This program is provided with absolutely NO WARRANTY; see the file COPYING for details.
This software may be redistributed and modified under the terms of the GNU General Public License; again, see the file COPYING for details.


Output of gdb :

[chris@portable-ch ~]$ gdb denemo
GNU gdb (GDB) 10.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from denemo...
(No debugging symbols found in denemo)
(gdb) run
Starting program: /usr/bin/denemo
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffecc41640 (LWP 414177)]
[New Thread 0x7fffe7fff640 (LWP 414178)]
Denemo data expected in /usr/share/denemo/
[New Thread 0x7fffe71fc640 (LWP 414179)]
[New Thread 0x7fffe69fb640 (LWP 414180)]
[New Thread 0x7fffe61fa640 (LWP 414181)]
Running lilypond[Detaching after fork from child process 414182]
Log level set to 287
Denemo - MESSAGE : Audio driver is 'portaudio'
Denemo - MESSAGE : Initializing Fluidsynth
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
[New Thread 0x7fffe5958640 (LWP 414183)]
[New Thread 0x7fffe5127640 (LWP 414184)]
[Thread 0x7fffe5127640 (LWP 414184) exited]
[Thread 0x7fffe5958640 (LWP 414183) exited]
[New Thread 0x7fffe5958640 (LWP 414185)]
[New Thread 0x7fffe5127640 (LWP 414186)]
[Thread 0x7fffe5127640 (LWP 414186) exited]
[Thread 0x7fffe5958640 (LWP 414185) exited]
[New Thread 0x7fffe5958640 (LWP 414187)]
[Detaching after vfork from child process 414188]
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=Aucun fichier ou dossier de ce type)
attempt to connect to server failed
[Thread 0x7fffe5958640 (LWP 414187) exited]
fluidsynth: warning: SDL2 not initialized, SDL2 audio driver won't be usable
Denemo - MESSAGE : The default fluidsynth soundfont has been loaded
Denemo - MESSAGE : Initializing Rubberband
Denemo - MESSAGE : Initializing PortAudio backend
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
[New Thread 0x7fffe5958640 (LWP 414192)]
[New Thread 0x7fffe5127640 (LWP 414193)]
[Thread 0x7fffe5127640 (LWP 414193) exited]
[Thread 0x7fffe5958640 (LWP 414192) exited]
[New Thread 0x7fffe5958640 (LWP 414194)]
[New Thread 0x7fffe5127640 (LWP 414195)]
[Thread 0x7fffe5127640 (LWP 414195) exited]
[Thread 0x7fffe5958640 (LWP 414194) exited]
[New Thread 0x7fffe5958640 (LWP 414196)]
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=Aucun fichier ou dossier de ce type)
attempt to connect to server failed
Denemo - MESSAGE : Opening output device 'ALSA: default'
[Thread 0x7fffe5958640 (LWP 414196) exited]
[New Thread 0x7fffe5958640 (LWP 414197)]
Denemo - MESSAGE : MIDI driver is 'portmidi'
Denemo - MESSAGE : Initializing PortMidi backend
[New Thread 0x7fffe5127640 (LWP 414198)]
Denemo - MESSAGE : Opening input device 'ALSA: Midi Through Port-0'
Denemo - MESSAGE : Output device is disabled
[New Thread 0x7fffdffff640 (LWP 414199)]
denemo: src/hostapi/alsa/pa_linux_alsa.c :3636 : PaAlsaStreamComponent_BeginPolling:  l'assertion « ret == self->nfds » a échoué.

Thread 17 "denemo" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffe5958640 (LWP 414197)]
0x00007ffff606e615 in raise () from /usr/lib/libc.so.6
(gdb) quit


Ch P <zoe12345>
Tue 08 Dec 2020 05:46:07 PM UTC, comment #8: 

I was looking into a different problem and stumbled across what is most likely the cause of the crash you reported.
I've fixed the code in the repository and would appreciate it if you can confirm that the problem is fixed. To test you will need a clean start - easiest is to remove any directory .denemo-* in your home directory.

rm -rf ~/.denemo-*

so as to remove the spurious entry in denemorc that will cause the crash.

The correct value to use for audio output is "default", which denemo was substituting with the first device found. This was being done because at one time the portaudio library was failing to work properly with pulseaudio and only selecting a specific device would work. What the code didn't anticipate was that the Alsa library would crash on being asked to use some particular device.
The problem with portaudio and pulseaudio has apparently now been fixed and so "default" should select the appropriate mixer to allow Denemo to output audio mixed with any other program that is also using the audio output.

Richard Shann <rshann>
Group administrator
Fri 04 Dec 2020 11:00:06 AM UTC, comment #7: 

I've just been digging around in the Denemo code and a very simple test would be to change the file ~/.denemo-2.4.0/denemorc at the line

    <portmidi_output_device>default</portmidi_output_device>

to read

    <portmidi_output_device>none</portmidi_output_device>

(In fact you could disable the other audio and midi devices by this means, which might be simpler than re-compiling).
The back story is that this MIDI output serves no purpose in Denemo - it was included by a Google Summer of Code student for "completeness". Denemo does not have any code to output MIDI in real time. This has rather bugged me for some time, but now I've dug down and found the relevant bit of code I'll make "none" the default for MIDI output as even if it isn't the cause of the present bug it could always be so in future.

Richard Shann <rshann>
Group administrator
Fri 04 Dec 2020 09:34:37 AM UTC, comment #6: 

The compiler flag to get debug symbols is "-g" and you could also use "-O0" (that is, turn off the optimizer which makes debugging harder). I think you get these flags in via
CFLAGS = -g
at the configure stage.
However, from the messages you have posted it looks like ALSA might be telling the portmidi/portaudio libraries to go ahead when in fact all is not well. (I think it is very bad practice for libraries like ALSA to crash rather passing an error status back to the caller, if that is what is going on).
One thing that would throw light on this would be to configure without midi and/or audio:

--disable-portaudio    
--disable-portmidi

that would narrow down the problem.


Richard Shann <rshann>
Group administrator
Thu 03 Dec 2020 10:28:35 PM UTC, comment #5: 

Sorry for the noise, I did not read carefully your answer about gdb. So, here is the output when I type in first «gdb denemo», then «run» (denemo is built with «--enable-debug») :

-----------------------------
[chris@portable-ch ~]$ gdb denemo
GNU gdb (GDB) 10.1
Copyright (C) 2020 Free Software Foundation, Inc.
[… …]
Reading symbols from denemo...
(No debugging symbols found in denemo)
(gdb) run
Starting program: /usr/bin/denemo
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffeccec640 (LWP 104809)]
[New Thread 0x7fffe7fff640 (LWP 104810)]
Denemo data expected in /usr/share/denemo/
[New Thread 0x7fffe71fc640 (LWP 104813)]
[New Thread 0x7fffe69fb640 (LWP 104814)]
[New Thread 0x7fffe61fa640 (LWP 104815)]
Denemo - MESSAGE : Loading preference file: /home/chris/.denemo-2.4.0/denemorc
Denemo - MESSAGE : Audio driver is 'portaudio'
Denemo - MESSAGE : Initializing Fluidsynth
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
[New Thread 0x7fffe59f9640 (LWP 104816)]
[New Thread 0x7fffe51f8640 (LWP 104817)]
[Thread 0x7fffe51f8640 (LWP 104817) exited]
[Thread 0x7fffe59f9640 (LWP 104816) exited]
[New Thread 0x7fffe59f9640 (LWP 104818)]
[New Thread 0x7fffe51f8640 (LWP 104819)]
[Thread 0x7fffe51f8640 (LWP 104819) exited]
[Thread 0x7fffe59f9640 (LWP 104818) exited]
[New Thread 0x7fffe59f9640 (LWP 104820)]
[Detaching after vfork from child process 104821]
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=Aucun fichier ou dossier de ce type)
attempt to connect to server failed
[Thread 0x7fffe59f9640 (LWP 104820) exited]
fluidsynth: warning: SDL2 not initialized, SDL2 audio driver won't be usable
Denemo - MESSAGE : The default fluidsynth soundfont has been loaded
Denemo - MESSAGE : Initializing Rubberband
Denemo - MESSAGE : Initializing PortAudio backend
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
[New Thread 0x7fffe59f9640 (LWP 104823)]
[New Thread 0x7fffe51f8640 (LWP 104824)]
[Thread 0x7fffe51f8640 (LWP 104824) exited]
[Thread 0x7fffe59f9640 (LWP 104823) exited]
[New Thread 0x7fffe59f9640 (LWP 104825)]
[New Thread 0x7fffe51f8640 (LWP 104826)]
[Thread 0x7fffe51f8640 (LWP 104826) exited]
[Thread 0x7fffe59f9640 (LWP 104825) exited]
[New Thread 0x7fffe59f9640 (LWP 104827)]
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=Aucun fichier ou dossier de ce type)
attempt to connect to server failed
Denemo - MESSAGE : Opening output device 'ALSA: default'
[Thread 0x7fffe59f9640 (LWP 104827) exited]
[New Thread 0x7fffe59f9640 (LWP 104828)]
Denemo - MESSAGE : MIDI driver is 'portmidi'
Denemo - MESSAGE : Initializing PortMidi backend
[New Thread 0x7fffe51f8640 (LWP 104829)]
Denemo - MESSAGE : Opening input device 'ALSA: Midi Through Port-0'
Denemo - MESSAGE : Opening output device 'ALSA: Midi Through Port-0'
[New Thread 0x7fffdffff640 (LWP 104830)]
denemo: src/hostapi/alsa/pa_linux_alsa.c :3636 : PaAlsaStreamComponent_BeginPolling:  l'assertion « ret == self->nfds » a échoué.

Thread 17 "denemo" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffe59f9640 (LWP 104828)]
0x00007ffff607d615 in raise () from /usr/lib/libc.so.6
(gdb)
-----------------------------

Ch P <zoe12345>
Thu 03 Dec 2020 09:58:47 PM UTC, comment #4: 

I run Arch linux :

[chris@portable-ch ~]$ uname -a
Linux portable-ch 5.9.11-arch2-1 #1 SMP PREEMPT Sat, 28 Nov 2020 02:07:22 +0000 x86_64 GNU/Linux

Here is the PKGBUILD which I customize with «--enable-debug» parameter in configure, for trying to get debug symbols for gdb, but same result, gdb complains about no debug symbols :
------------------------------
pkgname=denemo
pkgver=2.4.0
pkgrel=1
pkgdesc="A music score editor"
arch=('x86_64')
url="http://www.denemo.org"
license=('GPL')
depends=('aubio' 'lilypond' 'gtk3' 'libxml2' 'fftw' 'librsvg' 'fluidsynth'
'libsmf' 'evince' 'gtksourceview3' 'portmidi' 'guile1.8' 'rubberband')
makedepends=('intltool' 'git')
noextract=(${pkgname}-${pkgver}.tar.gz)
validpgpkeys=('C66734FA5D60E4DDD882EF81AE6F83BB6C574235') # Jeremiah Benham, AE6F83BB6C574235
source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig})
sha256sums=('edd62c26ce362be77f558860cc72fbbc68128310ca9a38e8f44db5e73ec0b390'
            'SKIP')

prepare() {
  cd "$srcdir"
  LC_ALL=en_US.UTF-8 tar xzf ${pkgname}-${pkgver}.tar.gz
}

build() {
  cd $pkgname-$pkgver
 
  [ -x configure ] || ./autogen.sh
  ./configure --enable-debug --prefix=/usr --sysconfdir=/etc --disable-rpath
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
}
------------------------------
And here is the output of «gdb denemo» :

------------------------------
GNU gdb (GDB) 10.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
[…… bla bla ……]
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from denemo...
(No debugging symbols found in denemo)
(gdb) quit
------------------------------


Ch P <zoe12345>
Tue 01 Dec 2020 10:04:29 AM UTC, comment #3: 

I think you needed to type "run" at the gdb prompt to get it to stop at the place where the crash occurs (the "core dump" is file which you can open with gdb to get the same information). However, as you surmise, without debug symbols it's unlikely to help. Where did your build come from? I've an idea Andreas creates a build with debug symbols (perhaps on request?).
Alternatively it's quite straight forward to build your own ... you haven't mentioned what OS you are using.

Richard Shann <rshann>
Group administrator
Mon 30 Nov 2020 05:44:28 PM UTC, comment #2: 

here is the core dump of denemo under gdb, but the answer is «No debugging symbols found in denemo» :

[chris@portable-ch ~]$ gdb denemo
GNU gdb (GDB) 10.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from denemo...
(No debugging symbols found in denemo)
(gdb) quit
[chris@portable-ch ~]$

Ch P <zoe12345>
Mon 30 Nov 2020 05:17:27 PM UTC, comment #1: 

The messages shown are not untypical of what the audio libraries spew out at start up and don't necessarily indicate the problem. I think you will need to run it under gdb and find out where it is aborting. (You could post the core dump I guess...)

Richard Shann <rshann>
Group administrator
Thu 26 Nov 2020 01:06:30 AM UTC, original submission:  

I cannot run denemo :

[chris@portable-ch tmp]$ denemo
Denemo data expected in /usr/share/denemo/
Denemo - MESSAGE : Loading preference file: /home/chris/.denemo-2.4.0/denemorc
Denemo - MESSAGE : Audio driver is 'portaudio'
Denemo - MESSAGE : Initializing Fluidsynth
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=Aucun fichier ou dossier de ce type)
attempt to connect to server failed
fluidsynth: warning: SDL2 not initialized, SDL2 audio driver won't be usable
Denemo - MESSAGE : The default fluidsynth soundfont has been loaded
Denemo - MESSAGE : Initializing Rubberband
Denemo - MESSAGE : Initializing PortAudio backend
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=Aucun fichier ou dossier de ce type)
attempt to connect to server failed
Denemo - MESSAGE : Opening output device 'ALSA: default'
Denemo - MESSAGE : MIDI driver is 'portmidi'
Denemo - MESSAGE : Initializing PortMidi backend
Denemo - MESSAGE : Opening input device 'ALSA: Midi Through Port-0'
Denemo - MESSAGE : Opening output device 'ALSA: Midi Through Port-0'
denemo: src/hostapi/alsa/pa_linux_alsa.c :3636 : PaAlsaStreamComponent_BeginPolling:  l'assertion « ret == self->nfds » a échoué.
Abandon (core dumped)

Ch P <zoe12345>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by rshann (Posted a comment)
  • -email is unavailable- added by zoe12345 (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follows 1 latest change.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-11-30 rshann StatusNone Need Info

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code