Bug 467761

Summary: Festival doesn't work at all in KTTSD
Product: [Fedora] Fedora Reporter: Peter Gückel <pgueckel>
Component: kdeaccessibilityAssignee: Than Ngo <than>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: medium    
Version: 11CC: davidz, fedora, jreznik, kevin, lorenzo, ltinkl, mattdm, mclasen, mvanross, rdieter, smparrish, than
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-08-03 03:41:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Peter Gückel 2008-10-20 19:17:25 UTC
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):
1.96-5

How reproducible:
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.
  
Actual results:
No text-to-speech rendering takes place.

Expected results:
The file should be read, as it was in Fedora 8.

Additional info:
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.

Comment 1 Christopher D. Stover 2008-10-22 19:32:46 UTC
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.

Comment 2 Peter Gückel 2008-10-22 19:36:29 UTC
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.

Comment 3 Christopher D. Stover 2008-10-22 19:44:30 UTC
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.

Comment 4 Peter Gückel 2008-10-22 20:03:36 UTC
I don't feel that I want to install the debuging rpm. Don't you have a machine that you can test on?

Comment 5 Christopher D. Stover 2008-10-23 03:17:41 UTC
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.

Comment 6 Peter Gückel 2008-10-23 03:49:26 UTC
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?

Comment 7 Christopher D. Stover 2008-10-23 14:11:10 UTC
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?

Comment 8 Matthias Clasen 2008-10-23 16:56:45 UTC
Petrus, 

debuginfo-install festival

will install all debuginfo packages you need.  debuginfo-install is part of the yum-utils package.

Comment 9 Peter Gückel 2008-10-23 17:27:41 UTC
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).

Comment 10 Peter Gückel 2008-10-23 17:29:30 UTC
I just typed "yum debuginfo-install festival", but yum didn't like that.

Comment 11 Peter Gückel 2008-10-23 17:35:27 UTC
I just typed "yum debuginfo-install festival", but yum didn't like that.

Comment 12 Christopher D. Stover 2008-10-23 17:36:59 UTC
(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
problem lies.

Comment 13 Peter Gückel 2008-10-23 17:41:49 UTC
Ok, I got it: yum --enablerepo=rawhide-debuginfo install festival-debuginfo

It's installed.

Comment 14 Peter Gückel 2008-10-23 17:43:28 UTC
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?

Comment 15 Peter Gückel 2008-10-23 17:44:59 UTC
kdeaccessibility has kmouth, so it likely has kttsd. I have the 2 debug rpms now.

Comment 16 Peter Gückel 2008-10-23 17:53:45 UTC
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?

Comment 17 Peter Gückel 2008-10-23 20:44:26 UTC
Ah, I see! There actually is a command called debuginfo-install. I hope my way did the same thing?

Comment 18 Peter Gückel 2008-10-23 21:01:26 UTC
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.

Comment 19 Peter Gückel 2008-10-23 21:10:30 UTC
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?

Comment 20 Christopher D. Stover 2008-10-23 21:36:30 UTC
(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

Comment 21 Peter Gückel 2008-10-23 21:42:26 UTC
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.

Comment 22 Christopher D. Stover 2008-10-23 22:13:10 UTC
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.

Comment 23 Peter Gückel 2008-10-24 00:18:29 UTC
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.

Comment 24 Peter Gückel 2008-10-24 00:23:10 UTC
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.

Comment 25 Peter Gückel 2008-10-29 00:49:08 UTC
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.

Comment 26 Bug Zapper 2008-11-26 04:02:24 UTC
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:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 27 Peter Gückel 2009-01-15 19:24:20 UTC
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
Aborted

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.

Comment 28 Peter Gückel 2009-02-13 20:18:28 UTC
I have upgraded to f11 alpha (rawhide) and the problem persists. There is no change. Festival does not work. It crashes.

Comment 29 Mark van Rossum 2009-02-16 14:22:55 UTC
See also  bug #478709

In particular can you test running it under twm and gnome, the console, and as root?

Comment 30 Peter Gückel 2009-02-16 20:05:30 UTC
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.

Comment 31 Peter Gückel 2009-02-16 20:20:02 UTC
[I changed platform to i686 because I have a 686-class processor and use kernel-PAE.]

Comment 32 Mark van Rossum 2009-02-19 15:50:05 UTC
THis might be related to the MALLOC_CHECK
In my (kde) konsole this is set to 2.

After 
  MALLOC_CHECK_=0
  export MALLOC_CHECK_
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?

Comment 33 Mark van Rossum 2009-02-19 15:55:12 UTC
(In reply to comment #32)
> THis might be related to the MALLOC_CHECK
> In my (kde) konsole this is set to 2.
> 
> After 
>   MALLOC_CHECK_=0
>   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?

With  MALLOC_CHECK_=1
debug output is produced:
*** glibc detected *** festival: free(): invalid pointer: 0x0a0f5c10 ***

Comment 34 Peter Gückel 2009-02-19 18:51:16 UTC
[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.

Comment 35 Peter Gückel 2009-02-19 19:10:03 UTC
Big things come in small packages.

Festival last worked in Fedora 7. It has not worked since.

This is a monumental achievement!!!

Comment 36 Mark van Rossum 2009-02-19 20:24:37 UTC
MALLOC_CHECK_ is set in 
/usr/bin/startkde

(Bad idea if you ask me...)

Comment 37 Peter Gückel 2009-02-20 00:02:41 UTC
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.

Comment 38 Peter Gückel 2009-03-02 05:55:48 UTC
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!)

kde*-4.2.1-1

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.

Comment 39 Peter Gückel 2009-03-02 06:00:15 UTC
I meant

MALLOC_CHECK_, not MALLOC_CHECK

Comment 40 Matthias Clasen 2009-03-02 07:05:52 UTC
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.

Comment 41 Peter Gückel 2009-03-02 19:03:55 UTC
(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
> voices.

You mean festival will find the voices, even though they are in /usr/share/festival/lib/voices and .../multisyn?

Comment 42 Matthias Clasen 2009-03-02 19:28:21 UTC
festival> (voice_nitech_us_slt_arctic_hts)
festival> (SayText "It works!")

Comment 43 Peter Gückel 2009-03-03 18:19:54 UTC
True, but it crashes kttsd and takes systemsettings down with it.

Comment 44 Peter Gückel 2009-03-11 19:03:40 UTC
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.

Comment 45 Matthias Clasen 2009-03-11 20:10:49 UTC
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.

Comment 46 Bug Zapper 2009-06-09 09:49:16 UTC
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:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 47 Peter Gückel 2009-07-26 00:42:33 UTC
This is the kde bug:

bugs.kde.org/show_bug.cgi?id=201508

Comment 48 Rex Dieter 2009-08-03 03:41:44 UTC
Reassigning -> kdeaccessibility , Closed->Upstream, will continue to track issue there.  Thanks.