Alouette 0.0.1

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

tpoppins
Posts: 919
Joined: Tue Nov 24, 2015 9:11 pm
Location: upstate

Re: Alouette 0.0.1

Post by tpoppins »

Roland Chastain wrote: Mon Apr 29, 2019 2:24 am I have made a ZIP file including a binary compiled with DEBUG option: it's alouette.exe. The other files (alouette32.exe and alouette64.exe) are binaries compiled with RELEASE option. The main difference is that the DEBUG version produces a log file.

alouette-20190429.zip

@Tirsa
If you have time for a new test, please use alouette.exe.
Thank you for taking the time to look into it, Roland.

Attempting to run alouette.exe produces this error:

Code: Select all

An unhandled exception occurred at $004272D8:
EAssertionFailed: Assertion failed (essais.pas, line 23)
  $004272D8  ESSAIS_$$_init$,  line 39 of essais.pas
  $0040A9A4
and an empty log file.

WER report:

Code: Select all

Version=1
EventType=APPCRASH
EventTime=132009921122201584
ReportType=2
Consent=1
UploadTime=132009921122711613
ReportIdentifier=24f6ac91-6a46-11e9-8533-002713cab278
IntegratorReportIdentifier=24f6ac90-6a46-11e9-8533-002713cab278
WOW64=1
Response.BucketId=3148485691
Response.BucketTable=285975491
Response.type=4
Sig[0].Name=Application Name
Sig[0].Value=alouette-2019-04-29.exe
Sig[1].Name=Application Version
Sig[1].Value=0.0.0.0
Sig[2].Name=Application Timestamp
Sig[2].Value=00000000
Sig[3].Name=Fault Module Name
Sig[3].Value=KERNELBASE.dll
Sig[4].Name=Fault Module Version
Sig[4].Value=6.1.7601.24408
Sig[5].Name=Fault Module Timestamp
Sig[5].Value=5c92f101
Sig[6].Name=Exception Code
Sig[6].Value=c0000005
Sig[7].Name=Exception Offset
Sig[7].Value=000373de
DynamicSig[1].Name=OS Version
DynamicSig[1].Value=6.1.7601.2.1.0.256.48
DynamicSig[2].Name=Locale ID
DynamicSig[2].Value=1033
DynamicSig[22].Name=Additional Information 1
DynamicSig[22].Value=59d2
DynamicSig[23].Name=Additional Information 2
DynamicSig[23].Value=59d28f4851ee3e61e3aa57edc696ac9e
DynamicSig[24].Name=Additional Information 3
DynamicSig[24].Value=96e5
DynamicSig[25].Name=Additional Information 4
DynamicSig[25].Value=96e5d9c06ef15df24e090b4b614092d0
UI[2]=C:\Program Files\ChessBase\Engines.x64\CCRL\a-c\alouette\alouette-2019-04-29.exe
UI[3]=alouette-2019-04-29.exe has stopped working
UI[4]=Windows can check online for a solution to the problem.
UI[5]=Check online for a solution and close the program
UI[6]=Check online for a solution later and close the program
UI[7]=Close the program
LoadedModule[0]=C:\Program Files\ChessBase\Engines.x64\CCRL\a-c\alouette\alouette-2019-04-29.exe
LoadedModule[1]=C:\Windows\SysWOW64\ntdll.dll
LoadedModule[2]=C:\Windows\syswow64\kernel32.dll
LoadedModule[3]=C:\Windows\syswow64\KERNELBASE.dll
LoadedModule[4]=C:\Windows\syswow64\oleaut32.dll
LoadedModule[5]=C:\Windows\syswow64\ole32.dll
LoadedModule[6]=C:\Windows\syswow64\msvcrt.dll
LoadedModule[7]=C:\Windows\syswow64\GDI32.dll
LoadedModule[8]=C:\Windows\syswow64\USER32.dll
LoadedModule[9]=C:\Windows\syswow64\ADVAPI32.dll
LoadedModule[10]=C:\Windows\SysWOW64\sechost.dll
LoadedModule[11]=C:\Windows\syswow64\RPCRT4.dll
LoadedModule[12]=C:\Windows\syswow64\SspiCli.dll
LoadedModule[13]=C:\Windows\syswow64\CRYPTBASE.dll
LoadedModule[14]=C:\Windows\syswow64\LPK.dll
LoadedModule[15]=C:\Windows\syswow64\USP10.dll
LoadedModule[16]=C:\Windows\system32\IMM32.DLL
LoadedModule[17]=C:\Windows\syswow64\MSCTF.dll
LoadedModule[18]=C:\Windows\system32\uxtheme.dll
State[0].Key=Transport.DoneStage1
State[0].Value=1
State[1].Key=DataRequest
State[1].Value=iData=1/nDumpFile=//Upload//iCab//139-3b997e5e03234eb5930fd2de4e066009-c852876da7a372c4110ba3c3bbaa143b-1-1228255384451028027-AppCrash32-6-1-7601-2.cab/nDumpServer=watson.microsoft.com/nResponseServer=watson.microsoft.com/nResponseURL=//dw//StageFour.asp?iBucket=1228255384451028027&szCab=3b997e5e03234eb5930fd2de4e066009.cab&EventType=AppCrash32&BucketHash=c852876da7a372c4110ba3c3bbaa143b&MID=FEE2AA27-9D66-4CAD-858E-73E264EB7636/nBucket=-1146481605/nBucketTable=285975491/nResponse=1/n
FriendlyEventName=Stopped working
ConsentKey=APPCRASH
AppName=alouette-2019-04-29.exe
AppPath=C:\Program Files\ChessBase\Engines.x64\CCRL\a-c\alouette\alouette-2019-04-29.exe
edit: exact same error on a 16-core Sandybridge dual Xeon (E5-2670), same OS (Win 7 x64 Pro SP1).
Last edited by tpoppins on Mon Apr 29, 2019 8:28 am, edited 1 time in total.
Tirsa Poppins
CCRL
tpoppins
Posts: 919
Joined: Tue Nov 24, 2015 9:11 pm
Location: upstate

Re: Alouette 0.0.1

Post by tpoppins »

I tried building from the source you provided in your last post. Same error.

Code: Select all

C:\msys64\home\admin\alouette\source>C:\FPC\3.0.4\bin\i386-win32\fpc.exe -B -M
jfpc -Sh -Sa -Fcutf8 -FUunits -dDEBUG alouette
Compiling Debug Version
Free Pascal Compiler version 3.0.4 [2017/10/06] for i386
Copyright (c) 1993-2017 by Florian Klaempfl and others
Target OS: Win32 for i386
Compiling alouette.pas
Compiling journal.pas
Compiling joueur.pas
Compiling echecs.pas
Compiling damier.pas
Compiling tables.pas
Compiling deplacement.pas
Compiling meilleur.pas
Compiling coups.pas
coups.pas(166,12) Note: Local variable "passives" is assigned but never used
Compiling roque.pas
Compiling histoire.pas
Compiling tablespiececase.pas
Compiling tri.pas
meilleur.pas(136,66) Note: Local variable "LBalanceMateriel" not used
Compiling outils.pas
Compiling essais.pas
Compiling numero.pas
Compiling performance.pas
Linking alouette.exe
7114 lines compiled, 0.3 sec, 182960 bytes code, 44708 bytes data
2 note(s) issued

C:\msys64\home\admin\alouette\source>alouette
An unhandled exception occurred at $004272D8:
EAssertionFailed: Assertion failed (essais.pas, line 23)
  $004272D8  ESSAIS_$$_init$,  line 39 of essais.pas
  $0040A9A4

edit: Also built a 64-bit v0.0.3 -- need to test it make our current blitz entry more balanced. It runs without errors but stalls just like the official exec.
Perhaps it's a timing issue. Alouette sends bestmove to the GUI instantly. How about inserting a delay -- say, 100 or 500 ms -- before each command it sends to the GUI?
Tirsa Poppins
CCRL
User avatar
Roland Chastain
Posts: 640
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Alouette 0.0.1

Post by Roland Chastain »

@Tirsa
Thank you for your message. For the first error that you reported, it's because the program doesn't find the file chess960.fen, which is used for a test (only in the DEBUG version). The file was included in the ZIP file. You can also solve that problem by removing the test unit (named Essais) and recompiling.

Code: Select all

// alouette.pas

program Alouette;

uses
  Classes, SysUtils, Journal, Joueur, Echecs, Outils,
{$ifdef DEBUG}
  //Essais, <----
{$endif}
  Performance;
OK, I will try to add a delay as you suggest. Thank you.
Qui trop embrasse mal étreint.
tpoppins
Posts: 919
Joined: Tue Nov 24, 2015 9:11 pm
Location: upstate

Re: Alouette 0.0.1

Post by tpoppins »

Sorry, that was dumb of me to miss the significance of the .fen file. The error went away with the file placed into the same dir.

I ran a short tmt vs. Sapeli RND and set up Cute Chess to abort after the first problem -- Recover crashed engines=off. Concurrency was set to one, to keep things simple. Curiously, this produced the longest uninterrupted series of games I've seen from Alouette so far. It finally stalled on the 21st game after winning 20 in 11 seconds. Log and PGN attached.
Tirsa Poppins
CCRL
User avatar
Roland Chastain
Posts: 640
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Alouette 0.0.1

Post by Roland Chastain »

Thank you Tirsa. I can reproduce the bug here. I come back as soon as it is fixed.
Qui trop embrasse mal étreint.
tpoppins
Posts: 919
Joined: Tue Nov 24, 2015 9:11 pm
Location: upstate

Re: Alouette 0.0.1

Post by tpoppins »

Good, I'm looking forward to the fix.

While trying to generate some more games for the v0.0.3 entry on the blitz list I managed to unearth this:

[pgn][Event "Sapeli 1.02 64-bit RND 40/4"] [Site "Dual X5670"] [Date "2019.04.29"] [Round "30"] [White "Sapeli 1.02 64-bit RND"] [Black "Alouette 0.0.3 64-bit"] [Result "1-0"] [ECO "B10"] [GameDuration "00:00:00"] [GameEndTime "2019-04-29T06:55:39.175 Eastern Daylight Time"] [GameStartTime "2019-04-29T06:55:39.146 Eastern Daylight Time"] [Opening "Caro-Kann"] [PlyCount "49"] [Termination "illegal move"] [TimeControl "40/120"] [Variation "Closed (Breyer) Variation"] 1. e4 {book} c6 {book} 2. d3 {book} e5 {book} 3. d4 {book} exd4 {book} 4. Qxd4 {book} d5 {book} 5. Bd3 a5 6. e5 h5 7. Bf4 Bg4 8. Bc4 a4 9. Be2 Bf5 10. e6 h4 11. Qe5 Bxc2 12. b3 f6 13. Qd6 Bxd6 14. Bd2 Qb6 15. Bf3 Qd4 16. Ne2 Qb2 17. Bg5 fxg5 18. Nbc3 a3 19. Nd4 Bd3 20. Nc2 Qxc2 21. Bxd5 Qxc3+ 22. Kd1 cxd5 23. e7 Nc6 24. Rc1 Qd4 25. f3 {Black makes an illegal move: e8c8} 1-0 [/pgn]

If later version didn't explicitly fixed this it's worth looking into, rare as it is.
Tirsa Poppins
CCRL
User avatar
Roland Chastain
Posts: 640
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Alouette 0.0.1

Post by Roland Chastain »

OK, the first bug is fixed. It was a very important bug and I wonder how I didn't see it before. Thank you Tirsa.

alouette-201904291647.zip

Now I will make something for the bug that you reported in your latest message. :)
Qui trop embrasse mal étreint.
tpoppins
Posts: 919
Joined: Tue Nov 24, 2015 9:11 pm
Location: upstate

Re: Alouette 0.0.1

Post by tpoppins »

Whoa, that some quick work, Roland!

100 40/2 games vs. Sapeli RND with concurrency=4 completed in 1m 8s without a single error! Bravo!
Now I just need to backport this to v0.0.3 -- since v0.0.5 scores over 90% vs. a random mover v0.0.3 should still be useful.

So far I figured out that the following needs to be inserted in interprete.pas at line 152, after { Promotion }

Code: Select all

    if (Length(ACoup) = 4) and EstUnePromotion(APos, ACoup) then
    begin
      Eteint_(LType^, LDep);
      Allume_(APos.Dames, LDep);
      LType := @APos.Dames;
    end else
but the changes in meilleur.pas are beyond me.
Tirsa Poppins
CCRL
User avatar
Roland Chastain
Posts: 640
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Alouette 0.0.1

Post by Roland Chastain »

tpoppins wrote: Mon Apr 29, 2019 7:05 pm Now I just need to backport this to v0.0.3 -- since v0.0.5 scores over 90% vs. a random mover v0.0.3 should still be useful.

So far I figured out that the following needs to be inserted in interprete.pas at line 152, after { Promotion }

Code: Select all

    if (Length(ACoup) = 4) and EstUnePromotion(APos, ACoup) then
    begin
      Eteint_(LType^, LDep);
      Allume_(APos.Dames, LDep);
      LType := @APos.Dames;
    end else
but the changes in meilleur.pas are beyond me.
Thank you Tirsa. I believe that the modification above is enough. If I remember correctly, other changes are just extra code that I wrote to find the bug.

But there was a bug in v0.0.3, and I don't remember exactly which one. If you need a version weaker than the current version, I could add a setting for that, to reproduce the behaviour of the previous versions (but without bugs).
Qui trop embrasse mal étreint.
User avatar
Roland Chastain
Posts: 640
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Alouette 0.0.1

Post by Roland Chastain »

@Tirsa

I fixed the other bug that you have reported (illegal castling).

alouette-201904291956.zip

Thank you very much!
Qui trop embrasse mal étreint.