The problem appears to have been completely resolved by simply
compiling everything -- Csound, third-party dependencies that build
with MinGW, and QuteCsound -- with the version of MinGW that installs
with Qt. This is gcc version 4.4.0 from Qt/MinGW, whereas the version
I was using before was gcc version 4.5.0 from Twilight Dragon Media.
I had chosen TDM because it was easy to install and had more up to
date OpenMP support, but obviously there are problems.
The current Qt/MinGW compiler uses dw2 exception handling, whereas the
TDM compiler uses setjump-longjump exception handling.
If no further major problems turn up, I should be able to upload the
Windows installer before this weekend.
Regards,
Mike
On Wed, Sep 1, 2010 at 6:53 PM, Michael Gogins <
michael.gogins@gmail.com>
wrote:
> I am switching to use MinGW with gcc 4.4.0 that comes with Qt 2010.04.
> We'll see...
>
> Mike
>
> On Wed, Sep 1, 2010 at 3:18 PM, Michael Gogins <
michael.gogins@gmail.com>
wrote:
>> I got past some of the FLTK problems by ensuring correct link options,
>> but I still can't finish a performance and then restart in QuteCsound.
>>
>> Also, there are problems with Python and, I expect, other stuff.
>>
>> So, there are enough problems with the new compiler and getting
>> executables to work together than I am going to try reverting the
>> compiler now.
>>
>> On Wed, Sep 1, 2010 at 2:03 PM, Michael Gogins <
michael.gogins@gmail.com>
wrote:
>>> There is still a problem with FLTK.
>>>
>>> Repeat: there have been two problems, one with PortAudio and one with
>>> FLTK. The PortAudio problem is solved but the FLTK problem remains. I
>>> configured FLTK to build with the correct options but I need to make
>>> sure they are actually being used.
>>>
>>> On Wed, Sep 1, 2010 at 12:47 PM, andy fillebrown
>>> <
andy.fillebrown@gmail.com> wrote:
>>>> Sweet! Thank you for figuring this out. Does this mean we won't have
>>>> to remove fluidOpcodes.dll, virtual.dll, and widgets.dll to get
>>>> QuteCsound to run correctly, or is it unrelated?
>>>>
>>>> Cheers,
>>>> ~ andy.f
>>>>
>>>>
>>>>
>>>> On Wed, Sep 1, 2010 at 11:36 AM, Michael Gogins
>>>> <
michael.gogins@gmail.com> wrote:
>>>>> I solved the problem.
>>>>>
>>>>> The cause is that PortAudio contains C++ code, but the rtpa module was
>>>>> being compiled as C code, lacking the MinGW libraries required to
>>>>> handle exceptions that are thrown from multi-threaded code in DLLs.
>>>>> The result was that when the PortAudio module was unloaded, there was
>>>>> a segmentation fault.
>>>>>
>>>>> I fixed the problem by creating a shim rtpa.cpp file that #includes
>>>>> rtpa.c, and modifying SConstruct so that for MinGW, rtpa.cpp is
>>>>> compiled and linked instead of rtpa.c. There is no longer a
>>>>> segmentation fault when the rtpa module is unloaded, and Csound can be
>>>>> stopped and restarted in QuteCsound.
>>>>>
>>>>> Regards,
>>>>> Mike
>>>>>
>>>>> On Wed, Sep 1, 2010 at 10:30 AM, Michael Gogins
>>>>> <
michael.gogins@gmail.com> wrote:
>>>>>> rtpa.c has indeed not changed.
>>>>>>
>>>>>> I will try reverting PortAudio. I have not yet tried reverting the
>>>>>> compiler. I have excluded FLTK as a cause of this problem. It happens
>>>>>> when FreeLibrary is called on the rtpa DLL handle.
>>>>>>
>>>>>> I can also try linking the PortAudio library statically.
>>>>>>
>>>>>> Regards,
>>>>>> Mike
>>>>>>
>>>>>> On Wed, Sep 1, 2010 at 6:55 AM, andy fillebrown
>>>>>> <
andy.fillebrown@gmail.com> wrote:
>>>>>>> The 3 plugins that are problematic for QuteCsound are virtual.dll,
>>>>>>> widgets.dll, and fluidOpcodes.dll, although I'm not sure
>>>>>>> fluidOpcodes.dll does anything with fltk. Regardless, removing
those
>>>>>>> 3 clears the problem up for QuteCsound.
>>>>>>>
>>>>>>> Cheers,
>>>>>>> ~ andy.f
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Aug 31, 2010 at 5:46 PM, Michael Gogins
>>>>>>> <
michael.gogins@gmail.com> wrote:
>>>>>>>> I'm pretty sure there is an interaction with FLTK. In GCC and MinGW
>>>>>>>> and TDM MinGW, the code for handling exceptions across image
>>>>>>>> boundaries in multi-threaded code has been in flux for two years.
I'm
>>>>>>>> beginning to wonder why it ever worked. I'm going to revert the
>>>>>>>> compiler and see if that helps.
>>>>>>>>
>>>>>>>> Unloading libraries has also been an issue, I may just omit that
step
>>>>>>>> on Windows and see what happens.
>>>>>>>>
>>>>>>>> Note that at this point I am building FLTK itself, PortAudio, and
>>>>>>>> Csound with the same options for threading and exception handling.
>>>>>>>>
>>>>>>>> The same exception happens in tclcsound.dll and in rtpa.dll even if
>>>>>>>> all plugins and modules that link with FLTK are removed from the
path
>>>>>>>> (though I hope I didn't miss anyway).
>>>>>>>>
>>>>>>>> On Tue, Aug 31, 2010 at 4:47 PM, <
Victor.Lazzarini@nuim.ie> wrote:
>>>>>>>>> I'm not sure that is the case. I think it's Csound calling the
FLTK function.
>>>>>>>>>
>>>>>>>>> ----- Original Message -----
>>>>>>>>> From: Felipe Sateler <
fsateler@gmail.com>
>>>>>>>>> Date: Tuesday, August 31, 2010 6:42 pm
>>>>>>>>> Subject: Re: [Cs-dev] Holdup on Windows installers
>>>>>>>>> To: Developer discussions <
csound-devel@lists.sourceforge.net>
>>>>>>>>>
>>>>>>>>>> What suprises me is that rtpa wants to call code from fltk.
>>>>>>>>>>
>>>>>>>>>> On Tue, Aug 31, 2010 at 13:34, andy fillebrown
>>>>>>>>>> <
andy.fillebrown@gmail.com> wrote:
>>>>>>>>>> > Looks to me like the fltk threading issue reported earlier.
>>>>>>>>>> >
>>>>>>>>>> > Cheers,
>>>>>>>>>> > ~andy.f
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> >
>>>>>>>>>> > On Tue, Aug 31, 2010 at 1:25 PM, Michael Gogins
>>>>>>>>>> > <
michael.gogins@gmail.com> wrote:
>>>>>>>>>> >> I've run into a serious roadblock on preparing the Csound
>>>>>>>>>> 5.12 windows
>>>>>>>>>> >> installer.
>>>>>>>>>> >>
>>>>>>>>>> >> The module loading and module unloading code causes
segmentation
>>>>>>>>>> >> violations with some libraries including tclcsound.dll and
>>>>>>>>>> rtpa.dll.>> This in turn causes Csound not to be re-startable.
>>>>>>>>>> And that means
>>>>>>>>>> >> QuteCsound and other hosts do not work.
>>>>>>>>>> >>
>>>>>>>>>> >> The problem appears to be exhibited in this stack trace and
>>>>>>>>>> seems to
>>>>>>>>>> >> have something to do with thread local storage in MinGW. I am
using
>>>>>>>>>> >> the Twilight Dragon Media build of MinGW but I will try the
regular
>>>>>>>>>> >> build of MinGW now.
>>>>>>>>>> >>
>>>>>>>>>> >> #0 ?? () at C:/utah/opt/fltk-1.1.10/FL/Fl_Repeat_Button.H:33
>>>>>>>>>> >> #1 0x6f082ee8 in __mingwthr_run_key_dtors ()
>>>>>>>>>> >> from D:\utah\home\mkg\csound\head\rtpa.dll
>>>>>>>>>> >> #2 0x6f082f26 in __mingw_TLScallback ()
>>>>>>>>>> >> from D:\utah\home\mkg\csound\head\rtpa.dll
>>>>>>>>>> >> #3 0x6f082943 in __dyn_tls_dtor@12 ()
>>>>>>>>>> >> from D:\utah\home\mkg\csound\head\rtpa.dll
>>>>>>>>>> >> #4 0x77c597a0 in
>>>>>>>>>> ntdll!RtlQueryInformationActiveActivationContext ()
>>>>>>>>>> >> from C:\Windows\system32\ntdll.dll
>>>>>>>>>> >> #5 0x6f080000 in ?? ()
>>>>>>>>>> >> #6 0x77c9d9a4 in ntdll!AlpcMaxAllowedMessageLength ()
>>>>>>>>>> >> from C:\Windows\system32\ntdll.dll
>>>>>>>>>> >> #7 0x6f082920 in __tlregdtor () from
>>>>>>>>>> D:\utah\home\mkg\csound\head\rtpa.dll>> #8 0x77c99a29 in
>>>>>>>>>> ntdll!AlpcMaxAllowedMessageLength ()
>>>>>>>>>> >> from C:\Windows\system32\ntdll.dll
>>>>>>>>>> >> #9 0x00000000 in ?? ()
>>>>>>>>>> >>
>>>>>>>>>> >>
>>>>>>>>>> >> Any hints, anyone?
>>>>>>>>>> >>
>>>>>>>>>> >> Regards,
>>>>>>>>>> >> Mike
>>>>>>>>>> >>
>>>>>>>>>> >>
>>>>>>>>>> >> --
>>>>>>>>>> >> Michael Gogins
>>>>>>>>>> >> Irreducible Productions
>>>>>>>>>> >>
http://www.michael-gogins.com
>>>>>>>>>> >> Michael dot Gogins at gmail dot com
>>>>>>>>>> >>
>>>>>>>>>> >> --------------------------------------------------------------
>>>>>>>>>> ----------------
>>>>>>>>>> >> This SF.net Dev2Dev email is sponsored by:
>>>>>>>>>> >>
>>>>>>>>>> >> Show off your parallel programming skills.
>>>>>>>>>> >> Enter the Intel(R) Threading Challenge 2010.
>>>>>>>>>> >>
http://p.sf.net/sfu/intel-thread-sfd
>>>>>>>>>> >> _______________________________________________
>>>>>>>>>> >> Csound-devel mailing list
>>>>>>>>>> >>
Csound-devel@lists.sourceforge.net
>>>>>>>>>> >>
https://lists.sourceforge.net/lists/listinfo/csound-devel
>>>>>>>>>> >>
>>>>>>>>>> >
>>>>>>>>>> > ---------------------------------------------------------------
>>>>>>>>>> ---------------
>>>>>>>>>> > This SF.net Dev2Dev email is sponsored by:
>>>>>>>>>> >
>>>>>>>>>> > Show off your parallel programming skills.
>>>>>>>>>> > Enter the Intel(R) Threading Challenge 2010.
>>>>>>>>>> >
http://p.sf.net/sfu/intel-thread-sfd
>>>>>>>>>> > _______________________________________________
>>>>>>>>>> > Csound-devel mailing list
>>>>>>>>>> >
Csound-devel@lists.sourceforge.net
>>>>>>>>>> >
https://lists.sourceforge.net/lists/listinfo/csound-devel
>>>>>>>>>> >
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>>
>>>>>>>>>> Saludos,
>>>>>>>>>> Felipe Sateler
>>>>>>>>>>
>>>>>>>>>> -----------------------------------------------------------------
>>>>>>>>>> -------------
>>>>>>>>>> This SF.net Dev2Dev email is sponsored by:
>>>>>>>>>>
>>>>>>>>>> Show off your parallel programming skills.
>>>>>>>>>> Enter the Intel(R) Threading Challenge 2010.
>>>>>>>>>>
http://p.sf.net/sfu/intel-thread-sfd
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Csound-devel mailing list
>>>>>>>>>>
Csound-devel@lists.sourceforge.net
>>>>>>>>>>
https://lists.sourceforge.net/lists/listinfo/csound-devel
>>>>>>>>>
>>>>>>>>> Dr Victor Lazzarini, Senior Lecturer, Dept. of Music,
>>>>>>>>> National University of Ireland, Maynooth
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
----------------------------------------------------------------------------
--
>>>>>>>>> This SF.net Dev2Dev email is sponsored by:
>>>>>>>>>
>>>>>>>>> Show off your parallel programming skills.
>>>>>>>>> Enter the Intel(R) Threading Challenge 2010.
>>>>>>>>>
http://p.sf.net/sfu/intel-thread-sfd
>>>>>>>>> _______________________________________________
>>>>>>>>> Csound-devel mailing list
>>>>>>>>>
Csound-devel@lists.sourceforge.net
>>>>>>>>>
https://lists.sourceforge.net/lists/listinfo/csound-devel
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Michael Gogins
>>>>>>>> Irreducible Productions
>>>>>>>>
http://www.michael-gogins.com
>>>>>>>> Michael dot Gogins at gmail dot com
>>>>>>>>
>>>>>>>>
----------------------------------------------------------------------------
--
>>>>>>>> This SF.net Dev2Dev email is sponsored by:
>>>>>>>>
>>>>>>>> Show off your parallel programming skills.
>>>>>>>> Enter the Intel(R) Threading Challenge 2010.
>>>>>>>>
http://p.sf.net/sfu/intel-thread-sfd
>>>>>>>> _______________________________________________
>>>>>>>> Csound-devel mailing list
>>>>>>>>
Csound-devel@lists.sourceforge.net
>>>>>>>>
https://lists.sourceforge.net/lists/listinfo/csound-devel
>>>>>>>>
>>>>>>>
>>>>>>>
----------------------------------------------------------------------------
--
>>>>>>> This SF.net Dev2Dev email is sponsored by:
>>>>>>>
>>>>>>> Show off your parallel programming skills.
>>>>>>> Enter the Intel(R) Threading Challenge 2010.
>>>>>>>
http://p.sf.net/sfu/intel-thread-sfd
>>>>>>> _______________________________________________
>>>>>>> Csound-devel mailing list
>>>>>>>
Csound-devel@lists.sourceforge.net
>>>>>>>
https://lists.sourceforge.net/lists/listinfo/csound-devel
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Michael Gogins
>>>>>> Irreducible Productions
>>>>>>
http://www.michael-gogins.com
>>>>>> Michael dot Gogins at gmail dot com
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Michael Gogins
>>>>> Irreducible Productions
>>>>>
http://www.michael-gogins.com
>>>>> Michael dot Gogins at gmail dot com
>>>>>
>>>>>
----------------------------------------------------------------------------
--
>>>>> This SF.net Dev2Dev email is sponsored by:
>>>>>
>>>>> Show off your parallel programming skills.
>>>>> Enter the Intel(R) Threading Challenge 2010.
>>>>>
http://p.sf.net/sfu/intel-thread-sfd
>>>>> _______________________________________________
>>>>> Csound-devel mailing list
>>>>>
Csound-devel@lists.sourceforge.net
>>>>>
https://lists.sourceforge.net/lists/listinfo/csound-devel
>>>>>
>>>>
>>>>
----------------------------------------------------------------------------
--
>>>> This SF.net Dev2Dev email is sponsored by:
>>>>
>>>> Show off your parallel programming skills.
>>>> Enter the Intel(R) Threading Challenge 2010.
>>>>
http://p.sf.net/sfu/intel-thread-sfd
>>>> _______________________________________________
>>>> Csound-devel mailing list
>>>>
Csound-devel@lists.sourceforge.net
>>>>
https://lists.sourceforge.net/lists/listinfo/csound-devel
>>>>
>>>
>>>
>>>
>>> --
>>> Michael Gogins
>>> Irreducible Productions
>>>
http://www.michael-gogins.com
>>> Michael dot Gogins at gmail dot com
>>>
>>
>>
>>
>> --
>> Michael Gogins
>> Irreducible Productions
>>
http://www.michael-gogins.com
>> Michael dot Gogins at gmail dot com
>>
>
>
>
> --
> Michael Gogins
> Irreducible Productions
>
http://www.michael-gogins.com
> Michael dot Gogins at gmail dot com
>
--
Michael Gogins
Irreducible Productions
http://www.michael-gogins.com
Michael dot Gogins at gmail dot com
----------------------------------------------------------------------------
--
This SF.net Dev2Dev email is sponsored by:
Show off your parallel programming skills.
Enter the Intel(R) Threading Challenge 2010.
http://p.sf.net/sfu/intel-thread-sfd
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-devel