Crafty problems

Discussion of chess software programming and technical issues.

Moderator: Ras

jwes
Posts: 778
Joined: Sat Jul 01, 2006 7:11 am

Crafty problems

Post by jwes »

1. I tried increasing MAXPLY from 65 to 101 and I now get occasional crashes in search.c in the line
memcpy(&tree->pv[ply - 1].path[ply], &tree->pv[ply].path[ply],
(tree->pv[ply].pathl - ply) * sizeof(int));

(tree->pv[ply].pathl - ply has an unreasonable value sometimes when ply=65. This is the position I was using for testing since I can get deep searches fairly quickly.
[d]2B5/8/3k4/2pPp3/2P1P3/3K4/1n6/8 w - - 40 32

2. Setboard does not use the move number or halfmove count from the epd record.
jwes
Posts: 778
Joined: Sat Jul 01, 2006 7:11 am

Re: Crafty problems

Post by jwes »

jwes wrote:1. I tried increasing MAXPLY from 65 to 101 and I now get occasional crashes in search.c in the line
memcpy(&tree->pv[ply - 1].path[ply], &tree->pv[ply].path[ply],
(tree->pv[ply].pathl - ply) * sizeof(int));

(tree->pv[ply].pathl - ply has an unreasonable value sometimes when ply=65. This is the position I was using for testing since I can get deep searches fairly quickly.
[d]2B5/8/3k4/2pPp3/2P1P3/3K4/1n6/8 w - - 40 32
I found one problem. In hash.c the code that copies the pv cache uses the constant 64. I think it should be MAXPLY-1.
2. Setboard does not use the move number or halfmove count from the epd record.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Crafty problems

Post by bob »

jwes wrote:
jwes wrote:1. I tried increasing MAXPLY from 65 to 101 and I now get occasional crashes in search.c in the line
memcpy(&tree->pv[ply - 1].path[ply], &tree->pv[ply].path[ply],
(tree->pv[ply].pathl - ply) * sizeof(int));

(tree->pv[ply].pathl - ply has an unreasonable value sometimes when ply=65. This is the position I was using for testing since I can get deep searches fairly quickly.
[d]2B5/8/3k4/2pPp3/2P1P3/3K4/1n6/8 w - - 40 32
I found one problem. In hash.c the code that copies the pv cache uses the constant 64. I think it should be MAXPLY-1.
2. Setboard does not use the move number or halfmove count from the epd record.
Fixed...
jwes
Posts: 778
Joined: Sat Jul 01, 2006 7:11 am

Re: Crafty problems

Post by jwes »

jwes wrote:
jwes wrote:1. I tried increasing MAXPLY from 65 to 101 and I now get occasional crashes in search.c in the line
memcpy(&tree->pv[ply - 1].path[ply], &tree->pv[ply].path[ply],
(tree->pv[ply].pathl - ply) * sizeof(int));

(tree->pv[ply].pathl - ply has an unreasonable value sometimes when ply=65. This is the position I was using for testing since I can get deep searches fairly quickly.
[d]2B5/8/3k4/2pPp3/2P1P3/3K4/1n6/8 w - - 40 32
I found one problem. In hash.c the code that copies the pv cache uses the constant 64. I think it should be MAXPLY-1.
One more problem. kibitz_text needs to be bigger. It probably should be 4096 like buffer.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Crafty problems

Post by bob »

jwes wrote:
jwes wrote:
jwes wrote:1. I tried increasing MAXPLY from 65 to 101 and I now get occasional crashes in search.c in the line
memcpy(&tree->pv[ply - 1].path[ply], &tree->pv[ply].path[ply],
(tree->pv[ply].pathl - ply) * sizeof(int));

(tree->pv[ply].pathl - ply has an unreasonable value sometimes when ply=65. This is the position I was using for testing since I can get deep searches fairly quickly.
[d]2B5/8/3k4/2pPp3/2P1P3/3K4/1n6/8 w - - 40 32
I found one problem. In hash.c the code that copies the pv cache uses the constant 64. I think it should be MAXPLY-1.
One more problem. kibitz_text needs to be bigger. It probably should be 4096 like buffer.
Also done...