Lazarus

Programming => General => Topic started by: madref on January 02, 2018, 01:57:18 pm

Title: Internal error 200611031
Post by: madref on January 02, 2018, 01:57:18 pm
I recently got an internal error 200611031 in a certain unit.
But it is always at line 87 no matter what code there is standing.

Does anyone know how to solve this?
Title: Re: Internal error 200611031
Post by: Thaddy on January 02, 2018, 02:11:05 pm
You probably have a f*cked up install but if you are interested it is easy to find in the compiler sources.
See in symsym.pas:
Title: Re: Internal error 200611031
Post by: Eugene Loza on January 02, 2018, 02:15:29 pm
Try "Clean up and build"
Alternatively you may try installing a newer FPC version (3.1.1+)
Title: Re: Internal error 200611031
Post by: Thaddy on January 02, 2018, 02:16:45 pm
You are not using a fork like CodeTyphon or Newpascal? are you?
If not add example to reproduce...
Title: Re: Internal error 200611031
Post by: Thaddy on January 02, 2018, 02:22:36 pm
Try "Clean up and build"
Alternatively you may try installing a newer FPC version (3.1.1+)
Not necessary. Always advise latest release. You may also want to know about internal error coding: afaik it's a date + info,
Title: Re: Internal error 200611031
Post by: madref on January 02, 2018, 02:36:48 pm
You are not using a fork like CodeTyphon or Newpascal? are you?
If not add example to reproduce...
Both are a no


i am using extra: powerpdf 0.9.15, EC_Controls and dcpcrypt 2.0.4.1


But i am already using Lazarus 1.8.0 / FPC 3.0.4 on Mac OS X El Capitan

I had this once before, but then i was doing this
Code: Pascal  [Select][+][-]
  1. function SingleQuotedStr (St: String) : String;
  2. begin
  3.   SingleQuotedStr := Chr(39)+ St + Chr(39);
  4. end;    // SingleQuotedStr    
Instead of this

Code: Pascal  [Select][+][-]
  1. function SingleQuotedStr (St: String) : String;
  2. begin
  3.   Result := Chr(39)+ St + Chr(39);
  4. end;    // SingleQuotedStr    
Title: Re: Internal error 200611031
Post by: madref on January 02, 2018, 02:38:04 pm
You probably have a f*cked up install but if you are interested it is easy to find in the compiler sources.
See in symsym.pas:


How to UN-f*ck it?
Title: Re: Internal error 200611031
Post by: Thaddy on January 02, 2018, 03:53:37 pm
clean up and re-install? but this code may save you and is standard:
Code: Pascal  [Select][+][-]
  1. {$ifdef fpc}{$mode delphi}{$H+}{$I-}{$endif}
  2. uses sysutils;
  3. var s:string = 'blaat';
  4. begin
  5.   writeln(QuotedStr(s));
  6. end.

Note: it is a bad installation because it is not reproducible here... Not with your code, not with my code, not since 2006,  and there is a standard function for it.
Title: Re: Internal error 200611031
Post by: madref on January 02, 2018, 03:59:40 pm
It doesn't matter what is standing at line 87.


Now it stops at
Code: [Select]
    // Maak een multipart deel aan.Because this is now line 87

And that is a commented line
Title: Re: Internal error 200611031
Post by: Thaddy on January 02, 2018, 06:34:01 pm
It doesn't matter what is standing at line 87.


Now it stops at
Code: [Select]
    // Maak een multipart deel aan.Because this is now line 87

And that is a commented line
That's why you have a F....s install in the first place.
All my platforms pass the tests, both stable 3.0.4 and version 3.1.1-r37880: Your compiler is screwed.
Title: Re: Internal error 200611031
Post by: marcov on January 02, 2018, 06:40:55 pm
These things can happen. FPC is not error free, and sometimes internal errors occur. An internal error in a release version is always report worthy, unless already reported. (and even then it might we worthwhile to check if there already is a reproducable case)

In this case, if Thaddy had bothered to check mantis instead of a knee-jerk reaction, he would have found https://bugs.freepascal.org/view.php?id=32352 right on the first page with errors.

The trick then is to minimalize it to a fairly small source (e.g. a .dpr and one or two units max) without lazarus. Typically you start to cut source code and used units till the error doesn't occur anymore. If that happens, restore the last change, and cut something else etc.

No reproduction yet. Even a small lazarus project without much dependencies will be accepted, and I will try to reproduce it myself.
Title: Re: Internal error 200611031
Post by: Thaddy on January 02, 2018, 07:23:15 pm
In this case, if Thaddy had bothered to check mantis instead of a knee-jerk reaction, he would have found https://bugs.freepascal.org/view.php?id=32352 right on the first page with errors.
@Marco
I am fully aware of that report. Same thing: It is not reproducible and I test on many platforms both trunk and stable. It is not even intermittently reproducible for me.
Code to reproduce it, with platform, bitness, widgetset, FPC version and Laz version would be appreciated.

I happen to check these things, because I have little else to do because of my current health..You know that. (I 'll still be 100+ but..)
Title: Re: Internal error 200611031
Post by: jamie on January 02, 2018, 11:39:50 pm
Ok, I have to ask, what is on line 86 ?
Title: Re: Internal error 200611031
Post by: madref on January 02, 2018, 11:42:31 pm

Line 86:
Code: Pascal  [Select][+][-]
  1.     Mime.Header.From := SenderName + '<' + SenderEMail + '>';
That's why you have a F....s install in the first place.



But the question remain?
How to un-f*ck it?
Title: Re: Internal error 200611031
Post by: jamie on January 02, 2018, 11:47:08 pm
Comment that line and see if it compiles after that?
Title: Re: Internal error 200611031
Post by: madref on January 02, 2018, 11:55:14 pm
It doesn't matter what stands at that line.
When it stops, it always stops a line 87.
Title: Re: Internal error 200611031
Post by: jamie on January 03, 2018, 12:31:56 am
do a full folder clean out and re-install the files.

 I think it's a possibility you could of corrupted a file by accident.
Title: Re: Internal error 200611031
Post by: madref on January 03, 2018, 12:43:48 am
which folder...?
and how do you do a full folder clean out?
what does it even mean?
Title: Re: Internal error 200611031
Post by: jamie on January 03, 2018, 01:10:51 am
It means make sure you start with a completely empty folder.
and install the product again.

 even deleting the folder would be a good start then install it..
Title: Re: Internal error 200611031
Post by: soerensen3 on January 03, 2018, 01:32:36 am
Have you tried a recompile clean/cleanup and build on your packages/your project. I sometimes had to do this for some reason.
Title: Re: Internal error 200611031
Post by: madref on January 03, 2018, 09:44:48 am
It means make sure you start with a completely empty folder.
and install the product again.

 even deleting the folder would be a good start then install it..
So delete lazarus, fpc, fpc-scr and all its associated files
then re-install all?


or do you mean delete all my app-source files and copy them to a new folder?
Title: Re: Internal error 200611031
Post by: fjabouley on March 07, 2018, 09:54:11 am
Hello all,
I got the same issue for a while now (but with 3 lines).
It does not want to compile showing that error.
The workaround is to add and then delete a line for example (anywhere in the code and because 3 lines show the error, I have to do this 3 times), then it compiles correctly...
Very weird bug.
Cleaning all and installing again lazarus makes it work for some time, then it starts again to show that error...
Title: Re: Internal error 200611031
Post by: madref on March 07, 2018, 04:11:00 pm
i still don't know why it did that.
But after a complete delete of all the lazarus files and programs, a complete new install and a delete of my app's LIB-directory it didn't return.


So i really think it was a bad install or something like that.
Title: Re: Internal error
Post by: BrunoK on July 10, 2018, 05:06:28 pm
I have had the problem just now.

It seems to be caused by the fact that *.o and *.ppu can be found in different directories, maybe with different compile options, in my case my development directory and my trunk directory where I modified sources.

Backups are always useful before massive deletes ...

Working solution this time :
1° with the file exlorer select *.ppu files in all the concerned directories, that is yours and lazarus's and delete them.
2° same with *.o  files in all the concerned directories, BE CAREFUL to delete only files with .o and .or extensions because with f*** W10  it also selects .odt.

Recompile.

That got rid of the 200611031 this time.
Title: Re: Internal error 200611031
Post by: Thaddy on July 10, 2018, 05:34:18 pm
Internal errors should always be reported.
On mantis under "compiler". With version of FPC, Laz, and if you are using trunk with revsion number.
Lazarus has no internal errors. It relies on the compiler.
It would be very helpful and respected to report internal errors.
Title: Re: Internal error 200611031
Post by: madref on July 10, 2018, 07:10:45 pm
I noticed that when I get this error a had a fault in my source code.
My background in programming is Turbo Pascal 5, from way back....
In Pascal you assign the result of a function to the function name
Code: [Select]
function Test: Integer;
begin
  do a lot
  Test := Do a lot;
end;


In Lazarus it becomes
Code: [Select]
result := Do a lot;

And this creates this particular error
Title: Re: Internal error 200611031
Post by: Nitorami on July 10, 2018, 08:13:37 pm
You can still assign the function result to the function name, that works in all compiler modes, while "result" only works in objfpc and delphi mode. That has nothing to do with Lazarus, it's just the compiler.
Title: Re: Internal error 200611031
Post by: Thaddy on July 10, 2018, 10:36:04 pm
@Nitorami
Internal errors should always be reported. Period!.
Title: Re: Internal error 200611031
Post by: BrunoK on July 10, 2018, 11:36:03 pm
At Daddy how is your article on the satanic use of FreeAndNil going ?
Title: Re: Internal error 200611031
Post by: fjabouley on August 19, 2018, 11:00:35 am
Same issue here, and for many weeks/months...
I got 2 compiler options (for 32 / 64 bits).
And the error pops up randomly while compiling.
The workaround is to delete and insert a line (it changes nothing but then it can compile).
Althought it takes few seconds everytime I compile, It's really annoying.
Title: Re: Internal error 200611031
Post by: Bart on August 19, 2018, 11:34:05 am
I sometimes get this, always here:
win32wsmenus.pp(253,1) Error: Internal error 200611031

Only a clean rebuild helps unfortunately.

Bart
Title: Re: Internal error 200611031
Post by: Soner on April 21, 2019, 06:48:58 pm
I sometimes get this, always here:
win32wsmenus.pp(253,1) Error: Internal error 200611031

Only a clean rebuild helps unfortunately.

Bart
Also I get this error there, I made this:
Code: Pascal  [Select][+][-]
  1.   if AMenuItem.ShortCut <> scNone then
  2.     Result := Result + Spacing + MenuItemShortCut(AMenuItem);
  3.  
to this:
Code: Pascal  [Select][+][-]
  1.   if AMenuItem.ShortCut <> scNone then Result := Result + Spacing + MenuItemShortCut(AMenuItem);
  2.  
Then the error is gone.

Here is my topic with this error:
https://forum.lazarus.freepascal.org/index.php/topic,45133.0.html (https://forum.lazarus.freepascal.org/index.php/topic,45133.0.html)
Title: Re: Internal error 200611031
Post by: hubblec4 on August 25, 2022, 01:32:35 am
Hello all,
I got the same issue for a while now (but with 3 lines).
It does not want to compile showing that error.
The workaround is to add and then delete a line for example (anywhere in the code and because 3 lines show the error, I have to do this 3 times), then it compiles correctly...
Very weird bug.
Cleaning all and installing again lazarus makes it work for some time, then it starts again to show that error...


Many thanks for this info.
I had also this error and I have installed many times all from scratch. But no luck, the error occurs again.

I use Lazarus 2.2.0 x64 on Win7.

After add a new line and delete them, all works fine.
TinyPortal © 2005-2018