bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #64806] "invalid output sync mutex" on windows


From: Gergely Pinter
Subject: [bug #64806] "invalid output sync mutex" on windows
Date: Mon, 15 Jan 2024 11:08:23 -0500 (EST)

Follow-up Comment #22, bug#64806 (group make):

I am afraid, we are now somewhat over my Windows competence, here is what I
was able to derive.  Variable osync_handle is (HANDLE) 0x120:

(gdb) attach 14472
(gdb) thread 1
(gdb) bt
#0  0x771f2bcc in ntdll!ZwWaitForSingleObject ()
   from C:\WINDOWS\SysWOW64\ntdll.dll
#1  0x762fac59 in WaitForSingleObjectEx ()
   from C:\WINDOWS\SysWOW64\KernelBase.dll
#2  0x762fabb2 in WaitForSingleObject ()
   from C:\WINDOWS\SysWOW64\KernelBase.dll
#3  0x009070ce in osync_acquire () at src/w32/w32os.c:476
#4  0x008f8148 in output_dump (out=out@entry=0x3a848a8) at src/output.c:280
#5  0x008f28ce in reap_children (block=<optimized out>, block@entry=0,
    err=err@entry=0) at src/job.c:1058
#6  0x008f3aaf in new_job (file=0x3a7c548) at src/job.c:1866
#7  0x008ffe5b in remake_file (file=0x3a7c548) at src/remake.c:1313
#8  update_file_1 (depth=<optimized out>, file=<optimized out>)
    at src/remake.c:905
#9  update_file (file=file@entry=0x3a7c548, depth=<optimized out>)
    at src/remake.c:367
#10 0x009004b7 in check_dep (file=0x3a7c548, depth=depth@entry=1,
    this_mtime=<optimized out>, must_make_ptr=<optimized out>,
    must_make_ptr@entry=0x1bff054) at src/remake.c:1100
#11 0x008ff2ba in update_file_1 (depth=<optimized out>, file=<optimized out>)
    at src/remake.c:633
#12 update_file (file=file@entry=0x3a7c9c8, depth=<optimized out>)
    at src/remake.c:367
#13 0x0090077e in update_goal_chain (goaldeps=<optimized out>)
    at src/remake.c:184
#14 0x009143ce in main (argc=<optimized out>, argv=<optimized out>,
    envp=<optimized out>) at src/main.c:2921

(gdb) f 3
#3  0x009070ce in osync_acquire () at src/w32/w32os.c:476
476           DWORD result = WaitForSingleObject (osync_handle, INFINITE);

(gdb) p osync_handle
$1 = (HANDLE) 0x120


Now the interpretation of this handle is beyond my understanding, since
Process Explorer tells that it is a File handle ("\Device\ConDrv"), see
attached image -- note that I may seriously misunderstand something here. 
Maybe this is related to the original submission by Michael who in comment #5
suspected some use after free situation causing apparently random strings
printed in their case (just guessing)?

(file #55572)

    _______________________________________________________

Additional Item Attachment:

File name: mingw32-make-procexp-handle.png Size:4 KB
   
<https://file.savannah.gnu.org/file/mingw32-make-procexp-handle.png?file_id=55572>


    AGPL NOTICE

These attachments are served by Savane. You can download the corresponding
source code of Savane at
https://git.savannah.nongnu.org/cgit/administration/savane.git/snapshot/savane-3f5b69a3b837951a0e5c0b7730ee347c798a8844.tar.gz


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?64806>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]