Recent

Author Topic: FPC 3.2.0rc1 released!  (Read 10557 times)

jiaxing2

  • Full Member
  • ***
  • Posts: 164
Re: FPC 3.2.0rc1 released!
« Reply #60 on: May 16, 2020, 04:33:10 am »
Shortly. It is tagged for release and being build for supported platforms. weeks not months now, afaik.

I hope the developer/packager would package a jvm cross compiler for Linux.

They provided one for Windows, didn't they?

On Linux, we only have a cross compiler for msdos.

Thaddy

  • Hero Member
  • *****
  • Posts: 10119
Re: FPC 3.2.0rc1 released!
« Reply #61 on: May 16, 2020, 07:56:18 am »
It is not too difficult to build the jvm cross compiler on linux your self. Just follow the steps in the wiki and make sure you have the correct toolchain (jasmin etc)
Parent platform does not matter too much as long as it supports Java. https://wiki.freepascal.org/FPC_JVM
I am more like donkey than shrek

Zoran

  • Hero Member
  • *****
  • Posts: 1559
    • http://wiki.lazarus.freepascal.org/User:Zoran
Re: FPC 3.2.0rc1 released!
« Reply #62 on: May 16, 2020, 06:58:47 pm »
(Tested on Windows 7, 32-bit)

Val procedure (and StrToFloat as well) fails with SIGFPE with Math.MaxDouble.

As Val should never raise exception (but only return non-zero value in third parameter), this is even more annoying.

First, take a look at this simple programme. It works with FPC 3.0.4, but not with FPC 3.2:

Code: Pascal  [Select][+][-]
  1. program project1;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. uses SysUtils, Math;
  6.  
  7. var
  8.   D1, D2: Double;
  9.   S: AnsiString;
  10.   E: Integer;
  11. begin
  12.   D1 := Math.MaxDouble;
  13.   WriteLn('D1 = ', D1);
  14.  
  15.   S := FloatToStr(D1);
  16.   // If you replace the previous line with any of the following two, then everything works!
  17.   // But the difference is only in + sign in front of exponent.
  18.   //WriteStr(S, D1);
  19.   //Str(D1, S);
  20.  
  21.   WriteLn('S = ', S);
  22.   Val(S, D2, E);  // SIGFPE here!
  23.   //D2 := StrToFloat(S); // same with this, as it uses Val internally.
  24.  
  25.   WriteLn('D2 = ', D2);
  26.   ReadLn;
  27. end.
  28.  

Now, let's see:
First, the declaration of Math.MaxDouble changed in FPC 3.2
In 3.0.4 it was:
MaxDouble    =  1.7e+308;
And in 3.2 it is:
MaxDouble    =  1.7976931348623157e+308;

Now, if we use old Pascal Str function, or WriteStr, then we get '1.7976931348623157e+308' as result.
FloatToStr gives us '1.7976931348623157e308' (the difference is only in + sign in the exponent).

Then without this + sign, Val gives SIGFPE!

However, it seems that this bug in Val only appears when string value has 16 digits (and MaxDouble has it in FPC 3.2).

« Last Edit: May 16, 2020, 07:02:04 pm by Zoran »

BeRo

  • New Member
  • *
  • Posts: 41
    • My site
Re: FPC 3.2.0rc1 released!
« Reply #63 on: May 21, 2020, 06:51:33 pm »
Hm, it seems that the for anti-TEvent-deadlock-on-linux patch https://bugs.freepascal.org/view.php?id=36149 is not merged into 3.2.0 yet. So, my request would be to merge this patch from trunk into 3.2.0.

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8388
  • FPC developer.
Re: FPC 3.2.0rc1 released!
« Reply #64 on: May 21, 2020, 07:05:54 pm »
Hm, it seems that the for anti-TEvent-deadlock-on-linux patch https://bugs.freepascal.org/view.php?id=36149 is not merged into 3.2.0 yet. So, my request would be to merge this patch from trunk into 3.2.0.

3.2.0 final sources have already been uploaded.

scamp

  • Newbie
  • Posts: 1
Re: FPC 3.2.0rc1 released!
« Reply #65 on: May 21, 2020, 08:43:38 pm »
I know I am very very late to the game, and I know we should have pushed for inclusion of our bug fix earlier, and should have made it clearer that this is not a "minor" issue as it was classifed.

So, I'll be clear NOW:

Each and every multi-threaded FPC/Lazarus application will sooner or later Deadlock on TEvent, causing a complete unrecoverable failure of the program. Finding out what the issues might take the average user weeks.

It's a terrible nasty bug that sometimes may take ages to show up again, but if it does, you are doomed.

I really really REALLY believe this is an absolute must-fix bug for the stable branch of FPC.

Please consider to stop the release and pull in this fix. The fix is heavily tested by us under load for months, is stable and does not have any side effects - it simply stops FPC server deamons to sooner or later deadlock.

Alextp

  • Hero Member
  • *****
  • Posts: 964
    • UVviewsoft
Re: FPC 3.2.0rc1 released!
« Reply #66 on: May 21, 2020, 10:08:26 pm »
If the above post is correct (I don't know it) - please merge that fix. I use TEvent in CudaText.

Alextp

  • Hero Member
  • *****
  • Posts: 964
    • UVviewsoft
Re: FPC 3.2.0rc1 released!
« Reply #67 on: May 22, 2020, 07:44:27 pm »
Please merge my fixes to TRegExpr upstream
https://github.com/andgineer/TRegExpr/commits/master

markusloew

  • Newbie
  • Posts: 3
Re: FPC 3.2.0rc1 released!
« Reply #68 on: May 23, 2020, 10:21:23 am »
Hello,
I would like to contribute to a new FPC version. Who are the people coordinating FPC development? How to join the specific team?
It would be nice to make run FPC on a System 360. TK4 MVS.
Regards markusloew
PS I do not find the method to open a new topic.
sending a message exceeds knowing someone to be adressed.

PascalDragon

  • Hero Member
  • *****
  • Posts: 1523
  • Compiler Developer
Re: FPC 3.2.0rc1 released!
« Reply #69 on: May 23, 2020, 11:28:18 am »
Hello,
I would like to contribute to a new FPC version. Who are the people coordinating FPC development? How to join the specific team?
It would be nice to make run FPC on a System 360. TK4 MVS.
Regards markusloew
PS I do not find the method to open a new topic.
sending a message exceeds knowing someone to be adressed.

First of this is the announcement forum, you simply don't have the necessary permissions to start a new topic here. For your topic (a port for System 360) you should look at the Free Pascal -> FPC development forum or use the fpc-devel mailing list.
Also you don't simply join the core team. You can get access to your own SVN branch and work there or you fork the unofficial mirror on GitHub. You then work on your port and then present your work (either on the mailing list or the Bugtracker) and we core devs will integrate it if it's okay or pass it back to you for improvements. Once your new port is integrated then or if you further "prove your worth" you'll be elevated to a team member.
Additionally someone else has started to work on a port for the ZSeries. I don't know if they still work on it or if there were any results, but maybe you can use that as a starting point.

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8388
  • FPC developer.
Re: FPC 3.2.0rc1 released!
« Reply #70 on: May 23, 2020, 11:40:19 am »
Please merge my fixes to TRegExpr upstream
https://github.com/andgineer/TRegExpr/commits/master

Please provide cleaned up, minimal patches in the bugtracker.

Alextp

  • Hero Member
  • *****
  • Posts: 964
    • UVviewsoft
Re: FPC 3.2.0rc1 released!
« Reply #71 on: May 27, 2020, 05:13:29 pm »
Quote
>Please provide cleaned up, minimal patches in the bugtracker.
Sorry, no time for this. I mean to make patch VERSUS CURRENT TRUNK - lot of diffs.

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 8388
  • FPC developer.
Re: FPC 3.2.0rc1 released!
« Reply #72 on: May 27, 2020, 05:52:49 pm »
Quote
>Please provide cleaned up, minimal patches in the bugtracker.
Sorry, no time for this. I mean to make patch VERSUS CURRENT TRUNK - lot of diffs.

Yes. That is how it should be. If changes are not related, multiple patches even, it makes reviewing easier.

 

TinyPortal © 2005-2018