Severe windows 10 problems. What to do?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Severe windows 10 problems. What to do?

Post by Sven »

Joost Buijs wrote: Sun Jul 21, 2019 4:54 pm Maybe there is still a very subtle bug in Microsofts threading library, it would not be the first, the last year they removed several bugs in this subsystem. Pretty soon I will have a Linux system up and running and I just want to see if it also crashes when I compile my engine with GCC.
Why not gcc under Windows?

Another point: usually "random crashes" are not really random, they follow a certain pattern which we just did not happen to understand. Have you been able to observe the crash under control of a debugger?
Sven Schüle (engine author: Jumbo, KnockOut, Surprise)
Joost Buijs
Posts: 1563
Joined: Thu Jul 16, 2009 10:47 am
Location: Almere, The Netherlands

Re: Severe windows 10 problems. What to do?

Post by Joost Buijs »

GCC under Windows?, you probably mean MinGW-w64 or something like that. The point is that I'm running out of Windows activation keys, I have about 10 active Windows keys, pretty soon I want to build a new system and I don't want to spend money on an additional activation key.

Yes I observed the crash under a debugger, it happened when I tried to lock a mutex, I got 'error trying to access memory location 0xFFFFFFFFFFFFFFFF', so (void *)-1. This exception seems to occur when I try to lock a mutex twice from within the same thread, which is not possible if you look at the code flow. The strange thing is that it only happened when I used Winboard as interface, Cutechess GUI, no problem, Arena, no problem, and with Winboard it crashed on average one out of 20 games. I suspected pondering, but that never gave a problem before. Finally I solved it by adding an extra lock at a location where it should not be necessary at all. I still don't understand why this works.

I have 18 years experience with multi threaded programming (not only for chess), mostly with Windows threads, C++ threads are more or less new to me, but they resemble boost threads very closely. With all these constructs like atomics, lock_guard, scoped_lock and unique_lock they are trying to make your life easy, but it actually adds more complexity and increases the possibility of hidden bugs in the library.
User avatar
flok
Posts: 481
Joined: Tue Jul 03, 2018 10:19 am
Full name: Folkert van Heusden

Re: Severe windows 10 problems. What to do?

Post by flok »

Joost Buijs wrote: Sun Jul 21, 2019 4:05 pm
Sven wrote: Sun Jul 21, 2019 12:14 pm
Joost Buijs wrote: Sun Jul 21, 2019 8:57 am I just found the error, somehow a statement in the hash update disappeared like I expected.
Aren't you using a version control system, e.g. Git? It would be a trivial task to review all changes when using Git.
No, I never did. I stem from an age that all these things didn't exist. I make automated backups on a daily basis though, so I can always fall back to an earlier version.
So you started developing before 1972? Because https://en.wikipedia.org/wiki/Source_Co ... rol_System is of 1972 ;-)
Joost Buijs
Posts: 1563
Joined: Thu Jul 16, 2009 10:47 am
Location: Almere, The Netherlands

Re: Severe windows 10 problems. What to do?

Post by Joost Buijs »

flok wrote: Tue Jul 23, 2019 8:19 pm
Joost Buijs wrote: Sun Jul 21, 2019 4:05 pm
Sven wrote: Sun Jul 21, 2019 12:14 pm
Joost Buijs wrote: Sun Jul 21, 2019 8:57 am I just found the error, somehow a statement in the hash update disappeared like I expected.
Aren't you using a version control system, e.g. Git? It would be a trivial task to review all changes when using Git.
No, I never did. I stem from an age that all these things didn't exist. I make automated backups on a daily basis though, so I can always fall back to an earlier version.
So you started developing before 1972? Because https://en.wikipedia.org/wiki/Source_Co ... rol_System is of 1972 ;-)
No, I'm not that old, I started computer programming in 1977 if you don't count the programmable TI calculators. But hey it is 42 years, and I'm still busy.