https://bugs.winehq.org/show_bug.cgi?id=37116
Bug ID: 37116 Summary: Audio Reset Failed with TextAloud MP3 1.459 + AT&T Natural Voices 1.4 Product: Wine Version: 1.7.24 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: porparek@gmail.com
Created attachment 49346 --> https://bugs.winehq.org/attachment.cgi?id=49346 wine.log with channels +tid,+mmdevapi,+winmm,+driver,+msacm,+midi,+dsound,+dsound3d,+dmusic,+mci,+oss,+alsa,+coreaudio,+seh,+msgbox
Hi
I use TextAloud MP3 version 1.459 with AT&T Natural Voices (Mike voice) version 1.4 (any other 1.x version of TextAloud MP3 I tested is vulnerable). I receive periodically the following error popup window: "Audio Reset Failed: Access violation at address 7BC4DDFA in module 'ntdll.dll'. Write of address F82A011C"
The message is the same every time. The addresses are also the same.
When it occurs the audio hangs up and only the restart of the wine application helps. I use 64-bit Arch Linux and run 32 bit wine applications. Wine version is wine 1.7.24 (32 bit).
The /proc/<wine app's PID>/maps is as follows. I can see that memroy region ffbd0000-ffbf0000 is not writtable. 7bc00000-7bc10000 r-xp 00000000 08:02 13247900 /usr/lib32/wine/ntdll.dll.so 7bc10000-7bc11000 r-xp 00000000 00:00 0 7bc11000-7bcc6000 r-xp 00011000 08:02 13247900 /usr/lib32/wine/ntdll.dll.so 7bcc6000-7bcc7000 r--p 000c5000 08:02 13247900 /usr/lib32/wine/ntdll.dll.so 7bcc7000-7bcd1000 rwxp 000c6000 08:02 13247900 /usr/lib32/wine/ntdll.dll.so
f7707000-f7709000 r--p 00000000 00:00 0 f7709000-f770a000 r-xp 00000000 00:00 0 [vdso] f7710000-ffa10000 ---p 00000000 00:00 0 ffa19000-ffa3a000 rw-p 00000000 00:00 0 ffa40000-ffbf0000 ---p 00000000 00:00 0 ffbf0000-ffff0000 rwxp 00000000 00:00 0
wine.log with the following channels enabled has been attached to this bug. +tid,+mmdevapi,+winmm,+driver,+msacm,+midi,+dsound,+dsound3d,+dmusic,+mci,+oss,+alsa,+coreaudio,+seh,+msgbox wine.log contains all the information from the moment wine starts until the moment when "Audio Reset Failed" popup window occurs. I found that adding "+relay" channel causes a bug not to reproduce. I suspect that it is because writing to a wine.log file takes to much time what causes the delays between "read" and "stop" become too long.
dmesg sound related entries are: snd_hda_intel 0000:00:1b.0: irq 43 for MSI/MSI-X sound hdaudioC0D0: autoconfig: line_outs=1 (0x12/0x0/0x0/0x0/0x0) type:line sound hdaudioC0D0: speaker_outs=1 (0x13/0x0/0x0/0x0/0x0) sound hdaudioC0D0: hp_outs=1 (0x11/0x0/0x0/0x0/0x0) sound hdaudioC0D0: mono: mono_out=0x0 sound hdaudioC0D0: inputs: sound hdaudioC0D0: Mic=0x14 sound hdaudioC0D0: Line=0x15 input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/sound/card0/hdaudioC0D0/input5 input: HDA Intel Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input6 input: HDA Intel Line as /devices/pci0000:00/0000:00:1b.0/sound/card0/input7 input: HDA Intel Line Out as /devices/pci0000:00/0000:00:1b.0/sound/card0/input8 input: HDA Intel Front Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9
lsmod sound related entries are: snd_hda_codec_analog 9595 1 snd_hda_codec_generic 56366 1 snd_hda_codec_analog snd_hda_intel 22831 0 snd_hda_controller 22975 1 snd_hda_intel snd_hda_codec 104665 4 snd_hda_codec_generic,snd_hda_intel,snd_hda_controller,snd_hda_codec_analog snd_hwdep 6652 1 snd_hda_codec snd_pcm_oss 41901 0 snd_mixer_oss 14598 1 snd_pcm_oss snd_pcm 83207 4 snd_pcm_oss,snd_hda_codec,snd_hda_intel,snd_hda_controller snd_timer 19294 1 snd_pcm snd 61276 9 snd_pcm_oss,snd_hwdep,snd_timer,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_mixer_oss,snd_hda_codec_analog soundcore 5551 2 snd,snd_hda_codec
The sound card is Integrated High Definition audio with ADI1884 codec, 3D audio compliant with AC'97 Rev. 2.3. The computer is HP COMPAQ DC7800.
The steps to reproduce a bug are as follows: - activate the Mike's AT&T voice - use keybord shortcuts to navigate the speech. Press read (ctrl+f) and stop (ctrl+d) and then read and stop speaking and so on a few times in a sequense. The delays between read, stop, read, stop etc. should be as short as possible (e.g. 1 second). This is why the keyboard shortcuts are necessary. It takes me about a minute to reproduce a bug. One may also use read, pause (ctrl+g), pause, pause etc. sequence to reproduce it. The delay between actions should also be about 1 second. Be aware that TextAlound starts reading but after a while it fails. It is not like it is silent and does not read anything.