ChessUSA.com TalkChess.com
Hosted by Your Move Chess & Games
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

How to go about chasing a bug like this?
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: Programming and Technical Discussions Flat
View previous topic :: View next topic  
Author Message
Colin Jenkins



Joined: 04 Feb 2014
Posts: 320
Location: Mumbles, Wales, UK.

PostPost subject: How to go about chasing a bug like this?    Posted: Thu Feb 09, 2017 6:51 pm Reply to topic Reply with quote

I was watching Lozza play a game this evening, saw a jump in eval and decided to investigate. Usually I assume it's just a horizon thing because Lozza is a relatively slow Javascript engine being interpreted in real-time (i.e. the other engine usually looks deeper).

Pre move:-

[d] 8/4k3/1r6/p5RP/1b1pp3/3p2P1/5P2/1R4K1 w - - 0 61
   ::    ::    ::    ::
::    ::    BK    ::    
   BR    ::    ::    ::
BP    ::    ::    WR WP
   BB    BP BP ::    ::
::    :: BP ::    WP    
   ::    ::    WP    ::
:: WR ::    ::    WK    


Post move:-

http://op12no2.me/stuff/l1.jpg

http://op12no2.me/stuff/l2.jpg

As you can see, after Lozza played Rg7+ it all went to pot and for good reason.

If I send exactly the same UCI command (highlighted above from the Arena debug log) to Lozza in isolation (i.e. not in a game) - it finds Rd5 (same as Stockfish).



So how the hell do you track things like that down. I'm guessing it's probably a TT bug. All I can think of is add a whole wodge of assert()s and try and catch inconsistency. I cannot think how to replicate it (*).

The TT is very simple: always replace.

If anybody is interested the source is here: http://op12no2.me/toys/lozzadev/lozza.js

It's a very simple engine and the TT stuff is in ttPut() and ttGet().

Any insights/advice gratefully received... Smile But good news really, a proper bug!

(*)Ah - send all the go commands up to that move as well...?
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Subject Author Date/Time
How to go about chasing a bug like this? Colin Jenkins Thu Feb 09, 2017 6:51 pm
      Re: How to go about chasing a bug like this? Colin Jenkins Thu Feb 09, 2017 8:06 pm
            Re: How to go about chasing a bug like this? Álvaro Begué Thu Feb 09, 2017 9:33 pm
                  Re: How to go about chasing a bug like this? Colin Jenkins Fri Feb 10, 2017 8:12 am
                        Re: How to go about chasing a bug like this? H.G.Muller Fri Feb 10, 2017 8:47 am
                              Re: How to go about chasing a bug like this? Colin Jenkins Fri Feb 10, 2017 12:11 pm
                                    Re: How to go about chasing a bug like this? Colin Jenkins Fri Feb 10, 2017 12:53 pm
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: Programming and Technical Discussions

 
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
Enhanced with Moby Threads