delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2011/03/26/11:34:50

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.6 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_NEUTRAL,TW_BG,TW_QR
X-Spam-Check-By: sourceware.org
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Ak8HAP4Gjk0yI+jm/2dsb2JhbACYaIx/w0+FaQSFOosq
X-Previous-IP: 50.35.232.230
Message-ID: <4D8E07BA.3030607@frontier.com>
Date: Sat, 26 Mar 2011 08:35:22 -0700
From: Jerry DeLisle <jvdelisle AT frontier DOT com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.39.b3pre.fc14 Thunderbird/3.1.9
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: libgfortran3 respin : status and problem
References: <AANLkTikw5F9-M=4Cw9HuGBFUoF2uYUWyOgeosD5STUSw AT mail DOT gmail DOT com> <20110326094551 DOT GF24762 AT calimero DOT vinschen DOT de> <AANLkTinv0j=WGG8g3y2AMg2Qm275BAB9kW8tw37bLcdf AT mail DOT gmail DOT com>
In-Reply-To: <AANLkTinv0j=WGG8g3y2AMg2Qm275BAB9kW8tw37bLcdf@mail.gmail.com>
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

On 03/26/2011 03:33 AM, marco atzeri wrote:
> On Sat, Mar 26, 2011 at 10:45 AM, Corinna Vinschen  wrote:
>> On Mar 26 06:56, marco atzeri wrote:
>>> Hi,
>>> I rebuilt lapack, qrupdate, octave and netcdf with the libgfortran3-4.3.4-4.
>>>
>>> ( If you wan to try them, install with
>>> setup.exe -X  -O -s http://matzeri.altervista.org )
>>>
>>> lapack tests passed
>>> netcdf also (i am not 100% sure)
>>>
>>> but testing qrupdate I catched another problem.
>>> The test programs go in a never ending loop:
>>>
>>>   37   15579 [main] tch1dn_sym 4300 fhandler_tty_slave::write: (746):
>>> tty output_mutex: waiting -1 ms
>>>   31   15610 [main] tch1dn_sym 4300 fhandler_tty_slave::write: (746):
>>> tty output_mutex: acquired
>>>   33   15643 [main] tch1dn_sym 4300 fhandler_tty_slave::write: (789):
>>> tty output_mutex released
>>
>> That's not an endless loop as far as Cygwin is concerned.  When a
>> process writes to the console, then every write is atomic.  To accomplish
>> that, a mutex is used, like this:
>>
>>   write()
>>   {
>>     acquire mutex
>>     while (there's still something to write)
>>       write it
>>     release mutex
>>   }
>>
>> So, what you see is a supposedly endless stream of calls to the write
>> function.  Usually, if an error occurs, you would also see an error
>> message.  The only reason you don't see it is if an error already
>> occured in an earlier call to write.  The important would be prior to
>> the endless loop then.  Maybe the testcase doesn't check for errors?
>>
>>
>> Corinna
>
> the test case is a normal Fortran program that call numerical functions and
> print output with a really standard "write" command, nothing fancy.
> It used to work fine with previous libgfortran3-4.3.4-3 and cygwin-1.7.7
>
> ---------------------------------------------------------
>        write (*,*)
>        write (*,*) 'testing Cholesky rank-1 downdate routines.'
>        write (*,*) 'All residual errors are expected to be small.'
>        write (*,*)
>
>        n = 50
>        write (*,*) 'sch1dn test:'
>        call stest(n)
>        write (*,*) 'dch1dn test:'
>        call dtest(n)
>        write (*,*) 'cch1dn test:'
>        call ctest(n)
>        write (*,*) 'zch1dn test:'
>        call ztest(n)
> -------------------------------------------------------------
>       subroutine smdump(name,m,n,A,lda)
>        character(*) name
>        integer m,n,lda
>        real A(lda,n)
>        integer i,j
>        write (*,1001) name
>        do i = 1,m
>          do j = 1,n
>            write(*,1002) A(i,j)
>          end do
>          write(*,*)
>        end do
> ------------------------------------------------------------------
>

I have been monitoring this thread for the libgfortran maintainer side, but have 
not had time yet to investigate further.  The only platform reporting the issue 
so far is Cygwin. I am not aware of any changes occurring with 4.3 upstream of 
Cygwin, but I will check the logs.

Jerry

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

- Raw text -


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