Red Hat Bugzilla – Bug 467761
Festival doesn't work at all in KTTSD
Last modified: 2009-08-02 23:41:44 EDT
Description of problem:
When kttsd is configured, one enters the path to festival. Then a voice is selected. It plays a test of the voice, but this abourts after the second word and it is impossible to have the thusly configured festival with kttsd gui play a file.
Version-Release number of selected component (if applicable):
Try to have a text file read and no sound is output.
Steps to Reproduce:
1. Select file.
2. Have it read.
3. Wait and wait and wait and... nothing ever happens.
No text-to-speech rendering takes place.
The file should be read, as it was in Fedora 8.
Matthew Miller suggested that one use festival on the command line by prepending padsp to the festival --tts file.txt command. This works, but it does not work in kttsd.
Thank you for the bug report. Without a stack trace from the crash it is
impossible to determine what caused the crash. Please see
http://fedoraproject.org/wiki/StackTraces for more information about
getting a useful stack trace.
kttsd crashes and there is a window that appears, stating that kde is able to provide some debugging information. From time to time, I have pressed ok, but the program then tells me that my version was compiled without the ability to provide backtraces or degugging information.
You should be able to get backtraces and debugging information by installing the debug RPMs. http://fedoraproject.org/wiki/StackTraces#What_are_debuginfo_rpms.2C_and_how_do_i_get_them.3F shows you how to install debuginfo RPM, which should allow you to see the information we need.
I don't feel that I want to install the debuging rpm. Don't you have a machine that you can test on?
Unfortunately I can't test it because I'm using GNOME, sorry. Hopefully David can make sense of the problem from what you've given.
I am unclear as to which debug info rpm I am to install: the one for festival or the one for kttsd (and which one would that be, anyway? I don't know what package it's in.) Also, Rex said that some of these KDE things are dealt with upstream and not by Fedora. Does that apply to kttsd as well, or only stuff to do with kwin compositing?
You bring a good point about this being dealt with upstream Petrus. The more I think about it the more I think this is probably a bug with kttsd instead of Festival. I suggest opening a bug report with KDE as well, https://bugs.kde.org/. I think it's best not to worry about the debug RPMs for now.
David, should this stay open and do you think it's a problem with Festival?
will install all debuginfo packages you need. debuginfo-install is part of the yum-utils package.
I should add that I modified my festival configuration. Someone on the devel list, who appeared knowledgable, said that festival does not work with pulseaudio, so I should put the following lines into /etc/festival/siteinit.scm:
(Parameter.set 'Audio_Command "aplay $FILE")
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Required_Format 'snd)
I did that, and as a result, I no longer had to issue padsp before running festival from the command line. kttsd doesn't appear to understand this, however, and might appear to override or bypass the default system configuration, so it likely doesn't understand pulseaudio.
I tried putting "padsp /usr/bin/festival" on the 'path to the festival executable' line in the kttsd configuration, but that didn't work at all (everything got faded out, so I was unable to make any choices whatsoever).
I just typed "yum debuginfo-install festival", but yum didn't like that.
(In reply to comment #11)
> I just typed "yum debuginfo-install festival", but yum didn't like that.
Take out the yum and just type "debuginfo-install festival". Also, I would do
"debuginfo-install kttsd" as well. Like we talked about earlier, I think
you'll get more useful debug info from kttsd since I think that's where the
Ok, I got it: yum --enablerepo=rawhide-debuginfo install festival-debuginfo
There is no package kttsd-debuginfo. I could have told you that :) It's part of one of the kde packages, but which one? kdeaccessibility, maybe?
kdeaccessibility has kmouth, so it likely has kttsd. I have the 2 debug rpms now.
I loaded a text file to try to speak. I never mentioned, but what is different between F10 and F8 (kttsd stopped working in F9 and never got fixed, likely concurrent with the advent of pulseaudio, but I never reported it), is that it says it has only one sentence (position 0), but it is a book from project gutenberg. Pressing resume, restart, hold changes nothing. The speech system is jammed. Only remove works. I even tried switching from phonon to alsa, but the same.
But it doesn't crash, so how do I get output from these debug rpms I just intalled?
Ah, I see! There actually is a command called debuginfo-install. I hope my way did the same thing?
I got a whole $#¦+load of debug rpms when I did tried debuginfo-install. I guess that's why I had no output before. Since kttsd is likely part of kdeaccessibility, I will redo that one now, too. Whoa, in total I am getting about 1/2Gb of rpms. This is going to take a while.
I will run kttsd later and report the result.
Halt a gigabyte! I knew there was a reason why I didn't want to install this crap. Well, it's done now.
So, what next, Boss?
(In reply to comment #19)
> Halt a gigabyte! I knew there was a reason why I didn't want to install this
> crap. Well, it's done now.
> So, what next, Boss?
A gigabyte of debug-rpms!?! Well, that's just insanity. :( I almost feel bad now.
(In reply to comment #2)
> kttsd crashes and there is a window that appears, stating that kde is able to
> provide some debugging information. From time to time, I have pressed ok, but
> the program then tells me that my version was compiled without the ability to
> provide backtraces or degugging information.
Now, if you can recreate the above, kde should be able to provide debugging information, which will lead us to the problem! :D
I ran kttsd and there is no sound at all now. In F8, when this last worked, testing a voice used to say "The text-to-speech system is working properly." Since it stopped working, specifically now in F10, it said "The text" and broke off abrupty and that was the end of it. Now, since installing all of the debug rpms, it doesn't even do that. Not a peep. It didn't crash either. It just does nothing, refuses to register the number of sentences in the text I select and refuses to run. It allows me to obediently shut it down without producing an error.
Does festival still work if you run it by the command line like before, "padsp festival --tts file.txt"? If not, it sounds like there may be a problem with the debug RPMs. This is about as far as I can take you in the process, I'm no expert with these things yet. :D Hopefully David will be able to chime in soon and help get to the bottom of the problem.
Yes, it does. I should remind you of my revelation in comment #9, namely that I have appended 3 lines to siteinit.scm, so I don't need to prepend padsp.
Ok, I removed /usr/bin/festival from the kttsd configuration and re-entered it and I am back to where I was before. It says "The text" and then abruptly terminates.
I updated to festival-1.96-6.fc10.i386, but the problem remains. It says "The text" and breaks off abruptly, when run from kttsd.
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle.
Changing version to '10'.
More information and reason for this action is here:
I have updated to festival-1.96-7.fc10.i386 and the problem persists: no sound output. Running the program from the command line,
>echo "Sound check 1 2 3" | festival --tts
It doesn't work. It crashes.
I have made sure that my configuration files, siteinit.scm and sitevars.scm are exactly as in the original package, and they are. While verifying this, I noticed that:
sitevars.scm has errors in the paths. sitevars.scm shows that the voice path is /usr/local/share/festival/lib/voices and multisyn path is /usr/local/share/festival/lib/voices-multisyn.
These are wrong! The true paths are:
/usr/share/festival/lib/voices and /usr/share/festival/lib/multisyn.
I have corrected these in my sitevars.scm, but the program still aborts.
I have upgraded to f11 alpha (rawhide) and the problem persists. There is no change. Festival does not work. It crashes.
See also bug #478709
In particular can you test running it under twm and gnome, the console, and as root?
This appears to be a bug that affects i386 as well as x86_64, but only under kde.
I tested as:
root (console), output "connection failure: connection refused"
me (console), works fine
me (gnome), works fine
me (kde), output "Aborted"
I don't have twm.
[I changed platform to i686 because I have a 686-class processor and use kernel-PAE.]
THis might be related to the MALLOC_CHECK
In my (kde) konsole this is set to 2.
festival is fine for me. Can other users please check?
I don't have a clue what Malloc_check does, but this bug affects other programs as well (xmgrace which is aborted in KDE and can be fixed the same way).
Can someone fix this?
(In reply to comment #32)
> THis might be related to the MALLOC_CHECK
> In my (kde) konsole this is set to 2.
> festival is fine for me. Can other users please check?
> I don't have a clue what Malloc_check does, but this bug affects other programs
> as well (xmgrace which is aborted in KDE and can be fixed the same way).
> Can someone fix this?
debug output is produced:
*** glibc detected *** festival: free(): invalid pointer: 0x0a0f5c10 ***
[I removed myself from CC, because I already get the emails, as I reported the bug :-)]
You found it!
In Konsole, MALLOC_CHECK_ is 2. This causes festival to abort.
When I set MALLOC_CHECK_ to 0, festival works.
Big things come in small packages.
Festival last worked in Fedora 7. It has not worked since.
This is a monumental achievement!!!
MALLOC_CHECK_ is set in
(Bad idea if you ask me...)
It must be set somewhere else, too, because the KDE session begins with MALLOC_CHECK_=2, and every window one opens also has its own MALLOC_CHECK_=2.
I opened Dolphin, exported MALLOC_CHECK_=0 (in the terminal panel), then opened Konsole and echoed $MALLOC_CHECK_ and it was 2, but in Dolphin, it was still 0.
I have upgraded to:
festival-1.96-10 (by the way, the voice and multisyn paths are wrong in sitevars.scm again -- in Fedora, they are NOT in /usr/local!)
The MALLOC_CHECK problem appears to be resolved, that is, when opening Konsole, it's value appears to be undefined, hence festival runs fine in Konsole, but when trying to configure festival in Kttsd, or any other tts program, such as espeak or hadifax, systemsettings crashes abruptly.
This does not appear to be a festival problem, but a kdeaccessibility one.
MALLOC_CHECK_, not MALLOC_CHECK
If you read the comment in /etc/festival/sitevars, you will understand that these paths are not supposed to point to the location where the rpm installs voices.
(In reply to comment #40)
> If you read the comment in /etc/festival/sitevars, you will understand that
> these paths are not supposed to point to the location where the rpm installs
You mean festival will find the voices, even though they are in /usr/share/festival/lib/voices and .../multisyn?
festival> (SayText "It works!")
True, but it crashes kttsd and takes systemsettings down with it.
What was said earlier about the voice paths in sitevars is not true. They cannot be set to /usr/local, because the system will not find voices installed by rpm to the standard locations under /usr/share/festival (at least, not when using kttsd -- I didn't test from the command line).
I reinstalled my system to x86_64 (I didn't realize that that is what my hardware was until only Sunday), this time I left the erroneous voice/multisyn paths and ran kttsd. It scans for voices and it just hung for aeons and did nothing until I had to cancel. Then I installed ~/.festivalrc, where I have the correct paths listed, ran kttsd setup again, and voilà, it found the voices that were installed with the Fedora rpms tout de suite.
However, when I clicked test voice, the program crashed and took systemsettings down with it, just like before. I checked, and with kde-4.2.1, the MALLOC_CHECK_ is now undefined and festival runs correctly on the command line.
On my laptop, a i686 (PAE) system, the result is identical to what I just described. The identical symptoms affect both architectures.
Maybe it is time to move this bug to kttsd.
On my x86-64 system, festival finds installed voices just fine, with /etc/festival/sitevars.scm as installed by the rpm.
This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle.
Changing version to '11'.
More information and reason for this action is here:
This is the kde bug:
Reassigning -> kdeaccessibility , Closed->Upstream, will continue to track issue there. Thanks.