forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Bug in SF8.3 Clearwin when trying to close 2+ child windows?

 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> Support
View previous topic :: View next topic  
Author Message
Ian Wright



Joined: 02 Apr 2009
Posts: 13
Location: Epsom, UK

PostPosted: Tue Jun 26, 2018 9:18 am    Post subject: Bug in SF8.3 Clearwin when trying to close 2+ child windows? Reply with quote

Hi Support,

We think we've found a bug in the Window_update@ routine when trying to close 2 or more child windows in SF8.3. Our sample code works fine in SF8.1 but not SF8.3. Are you able to investigate and confirm please?

We provide further details below and the sample code to reproduce the problem.

Sample application:

In Clearwin, the program generates a format window containing 3 child windows side-by-side (with vertical scroll bar) and another pivoted child window at the bottom.

The issue:

The application hangs without closing just after or at Window_update@ line when running in Windows 7. If we're running Windows 10, the application crashes instead of hanging, generating two Werfault messages . In Windows 10, the event viewer shows the failure occurring in the SF 8.3 Salfibc.dll. However, if we run the same compiled executable but using SF 8.1 Salflibc.dll it successful completes without any errors.

We subsequently ran some further tests with different combinations of clearwin windows. The application worked fine in SF8.3 if there was only one child window but failed if two or more child windows were used. SF8.1 worked with all combinations.

If you need any more information, please let us know.

Many thanks

Ian

[I've had to attach the code as separate post to fit in the space available]
Back to top
View user's profile Send private message Visit poster's website
Ian Wright



Joined: 02 Apr 2009
Posts: 13
Location: Epsom, UK

PostPosted: Tue Jun 26, 2018 9:28 am    Post subject: Bug in SF8.3 Clearwin? Sample Code Reply with quote

Code:

      PROGRAM MAIN
C
      common /win32/ modef,ictrlgr,ihwgr,ictrl0,ihcw0,ictrltx,
     +               ihcwtx, iwin0, ictrlwindy, ictrlaux
C
      integer*4 winio@
      external fccwindy
C
C-following is necessary for SET_ALL_MAX_LINES@ ?
C otherwise integer definition of @winio@ sufficient?
      include <windows.ins>
C
      CHARACTER*80 K80
C     
C******** WINDY_PROBLEM_MIN
C
C
C-call to SET_ALL_MAX_LINES moved after ClearWin windows created
C as this is consistent with SET_MAX_LINES which requires handles
      CALL SET_ALL_MAX_LINES@ (100)
C
      K80 = 'WINDY_PROBLEM'
      i=winio@('%ca@&',K80)
      i=winio@('%ob[named][Ass/Sim Convergence]&')
      i=winio@('%23.20cw[vscroll]%cb&',60)
      i=winio@('%ob[named][Assignment]%23.20cw[vscroll]%cb&',61)
      i=winio@('%ob[named][Simulation]%23.20cw[vscroll]%cb&',62)
      i=winio@('%ff%nl%pv%80.6cw[vscroll]&',63)
      i=winio@('%cc&',fccwindy)
      i=winio@('%ww%lw',ictrlwindy)
C
      do j=1,2
          do k=60,63
            call DOSOME(K,10)
          end do
      end do
C
      CALL PROGF_WINDOWS
C
      STOP
      END
C
C
      SUBROUTINE DOSOME(K,N)
      do i=1,N
        write(K,'(I3,I8)') k,i
        call sleep1@(0.1)
        end do
      END
C     
C
      integer*4 function fccwindy()
C
c This function is an argument of %cc in winio@ that
c create some "windy" windows
c I made it to prevent the windy window from being closed
c accidently by the user.
C
      common /win32/ modef,ictrlgr,ihwgr,ictrl0,ihcw0,ictrltx,
     +               ihcwtx, iwin0, ictrlwindy, ictrlaux
      fccwindy=-ictrlwindy
      return
      end
C
C
C
      SUBROUTINE PROGF_WINDOWS
C
C     BIT OF PROGF THAT DEALS WITH CLOSING WINDOWS
C     CALLED BY PROGF IN GLIB AFTER PROGF_CTL AND PROGF_FILES IN CASE
C     THERE ARE ANY PROBLEMS WITH WINDOWS NOT SHUTTING DOWN PROPERLY AND
C     LEAVING A PROGRAM HANGING.
C
      common /win32/ modef,ictrlgr,ihwgr,ictrl0,ihcw0,ictrltx,
     +               ihcwtx, iwin0, ictrlwindy, ictrlaux
C
C
         if (ICTRLWINDY.NE.0) then
          ictrlwindy = 0       
          call window_update@ (ictrlwindy)   
         end if
C
      RETURN
C
      END
Back to top
View user's profile Send private message Visit poster's website
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Tue Jun 26, 2018 12:34 pm    Post subject: Reply with quote

Ian

Your program fails at runtime for me when compiling for 64 bits.
It runs OK but with a delay when terminating for 32 bits.

I have now identified and fixed a related bug in ClearWin+ but I don't know why this did show in earlier releases. Your program now runs correctly for me and there is no delay when terminating for 32 bits.

Let me know how urgently you need a update. An intermediate beta release is probably due anyway.
Back to top
View user's profile Send private message AIM Address
Ian Wright



Joined: 02 Apr 2009
Posts: 13
Location: Epsom, UK

PostPosted: Wed Jun 27, 2018 9:20 am    Post subject: Reply with quote

Paul

Thanks for the speedy reply. We are only using 32bit executables at present. The delay we encountered was around 5-10 seconds for each of the two WerFaults in Windows 10. Are you running with Windows 10?

We would be grateful for an immediate update as we're planning a major release in mid-July and we wish to run some tests over the next couple of weeks. In terms of the next full release (SF 8.40?), do you have an indication of the timeframes?

Thanks

Ian
Back to top
View user's profile Send private message Visit poster's website
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Wed Jun 27, 2018 12:14 pm    Post subject: Reply with quote

Ian

I will see what I can do for an intermediate beta release of the DLLs.
I don't have any information about a date for the next full release.
Back to top
View user's profile Send private message AIM Address
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Sat Jun 30, 2018 2:31 pm    Post subject: Reply with quote

Please see...

http://forums.silverfrost.com/viewtopic.php?t=3827
Back to top
View user's profile Send private message AIM Address
John-Silver



Joined: 30 Jul 2013
Posts: 1520
Location: Aerospace Valley

PostPosted: Wed Jul 04, 2018 12:25 pm    Post subject: Reply with quote

In the light of my problems trying to run the beta279 demo program I 'randomly' picked out Ian's program for additional testing (I'd copied it but not actually run it previously under beta169).

For me under beta 279 it compiles and links fine (no errors) but when I run it it procedes to populate the windows with the dta but then *booo-um* the progrm just closes down automatically.

This occurs after for 32 bit and 64 bit, same behaviour.

I'm on Windows 7
_________________
''Computers (HAL and MARVIN excepted) are incredibly rigid. They question nothing. Especially input data.Human beings are incredibly trusting of computers and don't check input data. Together cocking up even the simplest calculation ... Smile "
Back to top
View user's profile Send private message
John-Silver



Joined: 30 Jul 2013
Posts: 1520
Location: Aerospace Valley

PostPosted: Wed Jul 18, 2018 9:47 pm    Post subject: Reply with quote

Paul, has any progress been made yet on the MDI interface problems (on this post and the other one - the strange behaviours when reducing individual child windows to tabs then recovering, etc ....) or is it still in your pending tray awaiting an opportunity for analysis ? (behinf %pl clean-up of course Wink lol)
I know you've introduced the other interesting addition (the dynamic tabs feaature in the recent bet release) but you can't be going to abandon the basic MDI option no ?
_________________
''Computers (HAL and MARVIN excepted) are incredibly rigid. They question nothing. Especially input data.Human beings are incredibly trusting of computers and don't check input data. Together cocking up even the simplest calculation ... Smile "
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Thu Jul 19, 2018 7:20 am    Post subject: Reply with quote

John

I have looked at this and fixed it to the extent that it is now OK in the tests that I have run. The fixes are in the latest download.
Back to top
View user's profile Send private message AIM Address
John-Silver



Joined: 30 Jul 2013
Posts: 1520
Location: Aerospace Valley

PostPosted: Fri Jul 20, 2018 9:26 pm    Post subject: Reply with quote

Quote:
The fixes are in the latest download

That's good news, I didn't recall dseeing any mention in the .enh file.
v8.3, beta 279 ?
_________________
''Computers (HAL and MARVIN excepted) are incredibly rigid. They question nothing. Especially input data.Human beings are incredibly trusting of computers and don't check input data. Together cocking up even the simplest calculation ... Smile "
Back to top
View user's profile Send private message
DASwainEsq



Joined: 24 Feb 2015
Posts: 4

PostPosted: Thu Aug 02, 2018 10:53 am    Post subject: Further problems with 8.40 beta Reply with quote

Thanks for the quick response to the problem Ian raised.
Now using the latest we get a failure in a simple yes/no question box...

Compiled with the 8.40 beta and accompanied by the 30th June 2018 salflibc.dll (32 bit) the winio@ returns 0.

If I replace the salflinc.dll accompanying the executable with the 2017 version, this appears to work fine?

Code:


      integer*4 winio@
      integer*4 ianswer

      character*256 form
      character*256 form2
      character*256 caption
      character*256 body

      body = 'Ask yes/no - expect 1/2 respectively'


      caption = 'all in one winio'

      form = '%ca@%si!' //
     1  trim(body) //
     2  '%nl%nl%cn%bt[&YES]%ta%`bt[&NO]'

      ianswer = winio@ (form,trim(caption))
      print *,ianswer

      ianswer = winio@ (form,trim(caption))
      print *,ianswer


      caption = 'split over two winio'

      form = '%ca@%si!' //
     1  trim(body) //
     2  '%nl%nl&'

      form2 = '%cn%bt[&YES]%ta%`bt[&NO]'

      ianswer = winio@ (form,trim(caption))
      ianswer = winio@ (form2)
      print *,ianswer

      ianswer = winio@ (form,trim(caption))
      ianswer = winio@ (form2)
      print *,ianswer


      stop
      end
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Fri Aug 03, 2018 7:48 am    Post subject: Reply with quote

Please try the later download which is at

https://www.dropbox.com/s/g3ir4nx0wjxqba1/acw.zip?dl=0
Back to top
View user's profile Send private message AIM Address
John-Silver



Joined: 30 Jul 2013
Posts: 1520
Location: Aerospace Valley

PostPosted: Sun Aug 05, 2018 2:02 am    Post subject: Reply with quote

Quote:
Compiled with the 8.40 beta and accompanied by the 30th June 2018 salflibc.dll (32 bit)


v8.4 beta ??? which on is that ?!

There really should be some kind of register posted somewhere so we can keep track.
_________________
''Computers (HAL and MARVIN excepted) are incredibly rigid. They question nothing. Especially input data.Human beings are incredibly trusting of computers and don't check input data. Together cocking up even the simplest calculation ... Smile "
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> Support All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group