[PATCH 00/34] Windows non-stop mode

Tom Tromey tromey@adacore.com
Wed May 15 17:35:40 GMT 2024


Tom> At some point I'll apply the patches and run them through the AdaCore
Tom> test suite.

I did this today and I found a few failures.

Now, one thing to note is that I did this by merging your branch into
the AdaCore branch; and AdaCore carries a few local changes.

In particular AdaCore still has the "random thread switch" change that I
submitted a long time ago -- and one of the problems seems to be related
to that.  Without really debugging I don't know if that's a problem in
the series or with the local changes.

Anyway, there are some other problems as well.  For instance:

    (gdb) start
    Temporary breakpoint 1 at 0x140001aab: file p.adb, line 4.
    Starting program: C:\Users\itmgr\sandbox\x86_64-windows64\gdb_version-head_test\tmp\tes
    t\gdb-TS-f539jxg_\J225-024__attach_detach_task\p.exe

    Thread 1 hit Temporary breakpoint 1, p () at p.adb:4
    4          Barrier : Integer := 0;
    PASSED:J225-024__attach_detach_task:start
    (gdb) detach
    Detaching from program: C:\Users\itmgr\sandbox\x86_64-windows64\gdb_version-head_test\t
    mp\test\gdb-TS-f539jxg_\J225-024__attach_detach_task\p.exe, process 4272
    [Inferior 1 (process 4272) detached]
    PASSED:J225-024__attach_detach_task:detach
    (gdb) attach 4272
    Can't attach to process 4272 (error 87): The parameter is incorrect.

Here the test detaches and then re-attaches -- but attach fails.


Another test runs gdb without a symbol file and then does an attach.
The expected output (happens with gdb head) is:

    (gdb) attach 2328
    Attaching to process 2328
    Reading symbols from C:\Users\itmgr\sandbox\x86_64-windows64\gdb_version-head_test\tmp\
    test\gdb-TS-bgt06sfm\N203-009__attach_no_exe\foo_n203_009.EXE...

However with the branch, gdb doesn't try to read the symbols and instead
mentions some system dll:

    (gdb) attach 1276
    Attaching to process 1276
    0x00007ff8b9b50274 in ntdll!ZwDelayExecution ()
       from C:\Windows\SYSTEM32\ntdll.dll


There was also a timeout when detaching.  The inferior being run is
fairly ordinary -- nothing special, just a spot to set a breakpoint:

    (gdb) tbreak break_me
    Temporary breakpoint 1 at 0x140001ca4: file pck.adb, line 37.
    PASSED:CA30-017__detach:tbreak break_me
    (gdb) run
    Starting program: C:\Users\itmgr\sandbox\x86_64-windows64\gdb_version-head_test\tmp\test\gdb-TS-f539jxg_\CA30-017__detach\foo.exe 

    Thread 1 hit Temporary breakpoint 1, pck.break_me () at pck.adb:37
    37	      null;
    PASSED:CA30-017__detach:runto 'break_me'
    (gdb) detach
    TIMEOUT:CA30-017__detach:detach (timeout)
    [killing GDB (pid = N/A (already dead?))]



FWIW I ran the tests before and after the series, on the same machine,
so there shouldn't be any machine configuration issues or anything like
that.

hope this helps,
Tom


More information about the Gdb-patches mailing list