Hello list. I'm using the very latest GNU-make built on Win-10 by myself. Except I've disabled the call to 'SetUnhandledExceptionFilter()'.
In one particular Wine Makefile I get a crash in 'hash_free_items()': gnumake!hash_free_items+0x22 gnumake!hash_free+0x30 gnumake!clear_directory_contents+0x34 gnumake!find_directory+0xed gnumake!dir_file_exists_p+0xd gnumake!selective_vpath_search+0x239 gnumake!vpath_search+0x9d gnumake!pattern_search+0x1212 ... This is when creating an .res-file from a .rc-file. And I use this 'vpath %.rc obj' construct. I've a hard time creating a minimal example, but running with max debug (make --debug=verbose), I see this: Considering target file 'objects/oleview.res'. File 'objects/oleview.res' does not exist. Directory objects cache invalidated (count 1 != command 42) Directory . cache invalidated (count 40 != command 42) Considering target file 'oleview.rc'. Directory RCS cache invalidated (count 40 != command 42) Directory ./objects cache invalidated (count 0 != command 42) ---------- What does 'count 0' means? So just sensing 'ctr == 0' is important, I did this: --- a/dir.c 2022-11-27 02:43:12 +++ b/dir.c 2022-12-30 11:18:00 @@ -493,7 +493,7 @@ DB (DB_VERBOSE, ("Directory %s cache invalidated (count %lu != command %lu)\n", name, ctr, command_count)); - if (dir->contents) + if (dir->contents && ctr > 0) clear_directory_contents (dir->contents); } else --------------- and no more crash in that special Makefile. -- --gv