Skip to content

spd-day displays invalid language error and segfault #777

@seb128

Description

@seb128

Using Ubuntu Kinetic

ii libspeechd2:amd64 0.11.3-1ubuntu1 amd64 Speech Dispatcher: Shared libraries
ii python3-speechd 0.11.3-1ubuntu1 all Python interface to Speech Dispatcher
ii speech-dispatcher 0.11.3-1ubuntu1 amd64 Common interface to speech synthesizers
ii speech-dispatcher-audio-plugins:amd64 0.11.3-1ubuntu1 amd64 Speech Dispatcher: Audio output plugins
ii speech-dispatcher-espeak-ng 0.11.3-1ubuntu1 amd64 Speech Dispatcher: Espeak-ng output module

That's basically 0.11.3-1 with the socket activation change from !763 cherrypicked
http://launchpadlibrarian.net/626414937/speech-dispatcher_0.11.3-1_0.11.3-1ubuntu1.diff.gz

$ spd-say -L
Invalid language fr-FR!
Erreur de segmentation (core dumped)

#0  __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:76
No locals.
#1  0x00007ffff7f92bda in get_param_str (reply=reply@entry=0x0, num=num@entry=1, err=err@entry=0x7fffffffdb3c)
    at /tmp/build/speech-dispatcher-0.11.3/src/api/c/libspeechd.c:2003
        i = <optimized out>
        tptr = 0x7fffffffdc04 ""
        pos = 0x0
        pos_begin = <optimized out>
        pos_end = <optimized out>
        rep = <optimized out>
        __PRETTY_FUNCTION__ = <optimized out>
#2  0x00007ffff7f939a7 in spd_execute_command_with_list_reply (connection=connection@entry=0x555555567980, command=command@entry=0x7ffff7f970c7 "LIST SYNTHESIS_VOICES")
    at /tmp/build/speech-dispatcher-0.11.3/src/api/c/libspeechd.c:1541
        reply = 0x0
        line = <optimized out>
        err = 21845
        max_items = 50
        result = 0x555555567d20
        i = 0
#3  0x00007ffff7f93a6e in spd_list_synthesis_voices (connection=connection@entry=0x555555567980) at /tmp/build/speech-dispatcher-0.11.3/src/api/c/libspeechd.c:1476
        svoices_str = <optimized out>
        svoices = <optimized out>
        i = <optimized out>
        num_items = <optimized out>
        __PRETTY_FUNCTION__ = "spd_list_synthesis_voices"
#4  0x000055555555718b in main (argc=2, argv=0x7fffffffdd68) at ./src/clients/say/say.c:199
        list = <optimized out>
        i = <optimized out>
        conn = 0x555555567980
        spd_priority = <optimized out>
        err = <optimized out>
        error = 0x7ffff7ca06a2 <__GI___libc_malloc+418> "H\205\300\017\204\211"
        msg_arg_required = <optimized out>
        ret = <optimized out>
        option_ret = <optimized out>
        line = <optimized out>

the issue seems random, sometime it returns an empty list and sometime the expected result. The previous revision without the systemd change doesn't seem to hit the problem so it could be a regression (or an existing issue made more easy to hit for $reasons)

Cc @nteodosio

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions