delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2008/03/17/05:47:31

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Message-ID: <7c5010d60803170346v638ab1e5k37134c0a35aacc1f@mail.gmail.com>
Date: Mon, 17 Mar 2008 11:46:44 +0100
From: "Giovanni Maruzzelli" <gmaruzz DOT lists AT gmail DOT com>
To: cygwin AT cygwin DOT com
Subject: please help: crash on vista
MIME-Version: 1.0
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Hi Cygwin developers,

I got a repeatable crash using waveInOpen under Vista without SP1
(no SP1 for Italians until April) using cygwin 1.5.25(0.156/4/2) 2008-03-05,
on a HP Pavilion m9080 quad core with Realtek HD Audio.

Please, can fellow developers compile the following example and report
if it crashes?

1) As soon as waveInOpen is called, it crashes
2) To cause the crash it is not needed to use the wavein, just to open it.
3) Under XP, no problems.
4) If you compile under vista with -mno-cygwin and execute with a
double click on it, no problem.
5) If you compile using cygwin, and execute it from bash, crashes.

See below a very simple test case.

You can compile it without cygwin and then execute it with a double click:
gcc -mno-cygwin -Wall waveinopen_vista.c -o waveinopen_vista -l winmm

or you can compile it with cygwin and execute it from bash (I got a crash):
gcc -Wall waveinopen_vista.c -o waveinopen_vista -l winmm

=======================================
#include <windows.h>
#include <stdio.h>
#include <mmsystem.h>


/* Handle to the WAVE In Device */
HWAVEIN                         WaveInHandle;

int main(int argc , char ** argv)
{
MMRESULT        err;
WAVEFORMATEX    waveFormat;

/* Initialize the WAVEFORMATEX */
waveFormat.wFormatTag = WAVE_FORMAT_PCM;
waveFormat.nChannels = 2;
waveFormat.nSamplesPerSec = 44100;
waveFormat.wBitsPerSample = 16;
waveFormat.nBlockAlign = waveFormat.nChannels *
      (waveFormat.wBitsPerSample/8);
waveFormat.nAvgBytesPerSec = waveFormat.nSamplesPerSec *
      waveFormat.nBlockAlign;
waveFormat.cbSize = 0;


/* Open the default WAVE In Device */
err = waveInOpen(&WaveInHandle, WAVE_MAPPER, &waveFormat,
              0, 0, CALLBACK_NULL);

printf("\n\nciao!!!\n\n");
Sleep(5000);
printf("\n\ngoodbye!!!\n\n");

return 0;
}

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019