Recent

Author Topic: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)  (Read 76794 times)

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4458
  • I like bugs.
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #30 on: August 19, 2017, 02:03:06 pm »
Something is wrong with the source editor drawing on gtk2/opensuse.
May be a GTK2 version dependent problem in Suse. It uses the QT based KDE. I guess your editor starts to work when you compile the IDE for QT.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

BeniBela

  • Hero Member
  • *****
  • Posts: 905
    • homepage
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #31 on: August 19, 2017, 08:15:32 pm »
Very unlikely to help, but you can also try to compile with
-dVerboseSynEditInvalidate

Then in the output look for 
Code: Pascal  [Select][+][-]
  1. CustomSynEdit.InvalidateTextLines .... FirstLine=11 LastLine=12 rect=....
  2.  

Where 11 would be the line in the window (0 or 1 based).

This is not the textline. the window always starts with line 1 on top (or 0)....

Then when you edit, the relevant lines should get an invalidate.
The rect should give the area in pixels.

That gave this

Code: [Select]
TCustomSynEdit.InvalidateTextLines SynEdit10:TIDESynEditor FirstLine=663 LastLine=663
  TCustomSynEdit.InvalidateTextLines TLazSynTextArea FirstLine=662 LastLine=662 rect=l=65,t=1083,r=1102,b=666
  TCustomSynEdit.InvalidateTextLines TLazSynTextArea FirstLine=662 LastLine=662 rect=l=65,t=0,r=1102,b=0
TCustomSynEdit.InvalidateTextLines SynEdit10:TIDESynEditor
TCustomSynEdit.InvalidateTextLines SynEdit10:TIDESynEditor FirstLine=630 LastLine=630
  TCustomSynEdit.InvalidateTextLines TLazSynTextArea FirstLine=629 LastLine=629 rect=l=65,t=456,r=1102,b=475
  TCustomSynEdit.InvalidateTextLines TLazSynTextArea FirstLine=629 LastLine=629 rect=l=65,t=0,r=1102,b=0
TCustomSynEdit.InvalidateTextLines SynEdit10:TIDESynEditor
TCustomSynEdit.InvalidateGutterLines SynEdit8:TIDESynEditor FirstLine=15 LastLine=15
  TCustomSynEdit.InvalidateGutterLines TLazSynGutterArea FirstLine=14 LastLine=14 rect=l=0,t=266,r=57,b=285
  TCustomSynEdit.InvalidateGutterLines TLazSynGutterArea FirstLine=14 LastLine=14 rect=l=1122,t=266,r=1135,b=285
  TCustomSynEdit.InvalidateGutterLines TSourceLazSynSurfaceGutter FirstLine=14 LastLine=14 rect=l=0,t=0,r=57,b=0
  TCustomSynEdit.InvalidateGutterLines TSourceLazSynSurfaceGutter FirstLine=14 LastLine=14 rect=l=1122,t=0,r=1135,b=0
TCustomSynEdit.InvalidateGutterLines SynEdit8:TIDESynEditor
TCustomSynEdit.InvalidateGutterLines SynEdit8:TIDESynEditor FirstLine=16 LastLine=16
  TCustomSynEdit.InvalidateGutterLines TLazSynGutterArea FirstLine=15 LastLine=15 rect=l=0,t=285,r=57,b=304
  TCustomSynEdit.InvalidateGutterLines TLazSynGutterArea FirstLine=15 LastLine=15 rect=l=1122,t=285,r=1135,b=304
  TCustomSynEdit.InvalidateGutterLines TSourceLazSynSurfaceGutter FirstLine=15 LastLine=15 rect=l=0,t=0,r=57,b=0
  TCustomSynEdit.InvalidateGutterLines TSourceLazSynSurfaceGutter FirstLine=15 LastLine=15 rect=l=1122,t=0,r=1135,b=0
TCustomSynEdit.InvalidateGutterLines SynEdit8:TIDESynEditor
TCustomSynEdit.InvalidateTextLines SynEdit8:TIDESynEditor FirstLine=15 LastLine=15
  TCustomSynEdit.InvalidateTextLines TLazSynTextArea FirstLine=14 LastLine=14 rect=l=57,t=266,r=1122,b=285
  TCustomSynEdit.InvalidateTextLines TLazSynTextArea FirstLine=14 LastLine=14 rect=l=57,t=0,r=1122,b=0
TCustomSynEdit.InvalidateTextLines SynEdit8:TIDESynEditor

and when I copied the lines from the terminal the X server crashed, but luckily I could save the clipboard from the tty. There was a short window between pressing ctrl+alt+backspace, where the clipboard became accessible again to xclip and the X server had not yet restarted
« Last Edit: August 19, 2017, 08:18:29 pm by BeniBela »

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #32 on: August 19, 2017, 09:07:49 pm »
I am assuming that the lines match the text you modified.

So then this problem must be in the lcl widgetset code for gtk2.

It must be something severe, if it upsets your x server enough to crash it.

---------------
One thing you can still try:
components\synedit\syneditpointclasses.pas
line 2884...
Code: Pascal  [Select][+][-]
  1. procedure TSynEditScreenCaretPainterInternal.Init;
  2. begin
  3.   {$IFDEF LCLCarbon}
  4.     FForcePaintEvents := True;
  5. ...
After the whole ifdef, set FForcePaintEvents := True;
So it is always true.


dicepd

  • Full Member
  • ***
  • Posts: 163
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #33 on: August 20, 2017, 09:57:14 am »
Trying to get back to normal programming with the new versions I notice that if errors occur which are caught in  LCL files on a break it does not reuse a copy of the file already opened but opens a new editor instance of the file with the postfix (2) against the name.

Quickly leads to too many editor windows when back tracing bugs.

Peter
Lazarus 1.8rc5 Win64 / Linux gtk2 64 / FreeBSD qt4

dicepd

  • Full Member
  • ***
  • Posts: 163
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #34 on: August 20, 2017, 11:32:53 am »
Another project moved over to latest with only one change which is of note.

A RTTI TTIPropertyGrid which previously did not care about the current TIObject being freed from underneath it, now tries to access the dangling pointer in a paint event.

An easy one to place a guard against but a change in behaviour non the less.

Peter


Update/
Thinking about this some more this is probably a bug. RTTI should be following the Observer design pattern and as such should not participate in the lifetime of the object being observed. Therefore it is perfectly valid for an object to be freed and the Observer should be robust enough to not care.
« Last Edit: August 20, 2017, 12:05:22 pm by dicepd »
Lazarus 1.8rc5 Win64 / Linux gtk2 64 / FreeBSD qt4

JZS

  • Full Member
  • ***
  • Posts: 194
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #35 on: August 20, 2017, 11:44:37 am »
Thank you...
It's really nice to have double version advancing at once.

I just discovered a nasty bug in the 1.8 RC4 and it happens in 1.9 as well.

When you drop FBAdmin on a new project (just empty form) you start having problems when you run and close. Also you get errors when you try to delete that component.

Shall I file a bug?

Win7 64, Laz 1.8rc4, Laz 1.9
I use recent stable release

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4458
  • I like bugs.
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #36 on: August 20, 2017, 12:01:50 pm »
Trying to get back to normal programming with the new versions I notice that if errors occur which are caught in  LCL files on a break it does not reuse a copy of the file already opened but opens a new editor instance of the file with the postfix (2) against the name.
Is it about symlinked files? Is it a regression?

When you drop FBAdmin on a new project (just empty form) you start having problems when you run and close. Also you get errors when you try to delete that component.
Shall I file a bug?
Yes if it can be reproduced. Is it a regression?
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

RAW

  • Hero Member
  • *****
  • Posts: 868
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #37 on: August 20, 2017, 11:14:11 pm »
Hi, I know this is not a RC4 problem... but maybe it's easy to solve...  :)
If I use a bold font for the dialogfields under WINDOWS then LAZARUS changes the font inside Options, Object Inspector and Messages window. That's very nice, but it looks not very nice.

I know most people don't use the CLASSIC THEME and even if they use it, they probably don't change the standard font, so I guess nobody really cares about this.
Windows 7 Pro (x64 Sp1) & Windows XP Pro (x86 Sp3).

EganSolo

  • Sr. Member
  • ****
  • Posts: 290
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #38 on: August 24, 2017, 08:50:28 am »
The Lazarus team is glad to announce the fourth release candidate of
Lazarus 1.8.

So far so good. I've been using it extensively and have not noticed any issues. Great Icon refresh.

Two outstanding bugs from 1.6.x: (a) projectgroup panel is still forgetting to load the last project group when you open Laz and (b): Laz crashes whenever I switch from two monitors back down to one. This happens when I'm on my docked laptop using two monitors and I undock the laptop. Laz invariably crashes.

Aside from these two issues, the environment feel rock solid.

Thanks for another great release.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4458
  • I like bugs.
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #39 on: August 24, 2017, 11:16:51 am »
Two outstanding bugs from 1.6.x: (a) projectgroup panel is still forgetting to load the last project group when you open Laz
Is this reported?
Quote
and (b): Laz crashes whenever I switch from two monitors back down to one. This happens when I'm on my docked laptop using two monitors and I undock the laptop. Laz invariably crashes.
Can you get a debugger backtrace?
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

Ondrej Pokorny

  • Full Member
  • ***
  • Posts: 220
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #40 on: August 24, 2017, 10:06:54 pm »
Quote
Quote
and (b): Laz crashes whenever I switch from two monitors back down to one. This happens when I'm on my docked laptop using two monitors and I undock the laptop. Laz invariably crashes.
Can you get a debugger backtrace?

+ what OS/WS? AFAIK somebody fixed this on Windows: https://mantis.freepascal.org/view.php?id=30763 (the fix is included in 1.8 ). I have no problem undocking my laptop from 2-external-monitor setup (on Windows).

EganSolo

  • Sr. Member
  • ****
  • Posts: 290
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #41 on: August 25, 2017, 03:30:51 am »
With regards to the undocking bug: It's windows 10 32b running in a VMWare VM on a Win 7 host. I'll report back tomorrow once I  dock it and use both monitors then undock it.

BeniBela

  • Hero Member
  • *****
  • Posts: 905
    • homepage
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #42 on: August 29, 2017, 01:02:02 am »

One thing you can still try:
components\synedit\syneditpointclasses.pas
line 2884...
Code: Pascal  [Select][+][-]
  1. procedure TSynEditScreenCaretPainterInternal.Init;
  2. begin
  3.   {$IFDEF LCLCarbon}
  4.     FForcePaintEvents := True;
  5. ...
After the whole ifdef, set FForcePaintEvents := True;
So it is always true.


It has not happened, since I put that there, but I have not used Lazarus much in the time


It must be something severe, if it upsets your x server enough to crash it.


That must have been just a coincidence. Atm my X server is crashing twice a day. I think that just happens on kde when I press alt+tab too quickly (back and forth to the terminal to copy the output)



Trying to get back to normal programming with the new versions I notice that if errors occur which are caught in  LCL files on a break it does not reuse a copy of the file already opened but opens a new editor instance of the file with the postfix (2) against the name.
Is it about symlinked files?


That is what I said

I know most people don't use the CLASSIC THEME and even if they use it, they probably don't change the standard font, so I guess nobody really cares about this.

The 90s are calling  :o

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9754
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #43 on: August 29, 2017, 03:01:03 am »
Code: Pascal  [Select][+][-]
  1.     FForcePaintEvents := True;

It has not happened, since I put that there, but I have not used Lazarus much in the time

Ok, so that needs to be added for gtk2 then. (will do next week)

Devstructor

  • New Member
  • *
  • Posts: 27
    • Devstructor.com - Lazarus Tutorials and more
Re: Lazarus Release Candidate 4 of 1.8 (includes RC1 of fpc 3.0.4)
« Reply #44 on: August 30, 2017, 07:12:11 pm »
I really like the new release candidate, but I found a problem  :)

After compiling a weblaz HTTP server application which was created with Lazarus 1.6.4 the project does not work anymore.

The routing seems to not work correctly. The HTTP server just responses
:Module Error The application encountered the following error: Error: Not found

It seems like the routing is not working, I cannot reach any of the existing OnRequest Methods of the TFPWebModule.

The bug is really easy to produce. Just install weblaz (shipped with Lazarus 1.8RC4), and create a new HTTP server application. A simple test does not even require the use of actions, you can just create the following OnRequest method:
Code: Pascal  [Select][+][-]
  1. procedure TFPWebModule1.DataModuleRequest(Sender: TObject; ARequest: TRequest;
  2.   AResponse: TResponse; Var Handled: Boolean);
  3. begin
  4.   AResponse.Content:='This test is working, great :)';
  5.   AResponse.Code:=200;
  6.   Handled:=True;
  7. end;  
  8.  

Thank you for your work  :)
http://www.devstructor.com    Devstructor.com - Lazarus Tutorials and more

 

TinyPortal © 2005-2018