• Re: ChatGPT explains why rebuttals of my work are incorrect

    From tTh@21:1/5 to olcott on Tue Oct 15 01:14:35 2024
    On 10/14/24 04:57, olcott wrote:

    *Fully operational code is here* https://github.com/plolcott/x86utm/blob/master/Halt7.c

    This program does not compile, so it cannot be executed.
    Halting problem solved.

    --
    +++
    tTh des Bourtoulots
    +++

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mike Terry@21:1/5 to Chris M. Thomasson on Tue Oct 15 01:36:01 2024
    On 15/10/2024 00:33, Chris M. Thomasson wrote:
    On 10/14/2024 4:14 PM, tTh wrote:
    On 10/14/24 04:57, olcott wrote:

    *Fully operational code is here*
    https://github.com/plolcott/x86utm/blob/master/Halt7.c

       This program does not compile, so it cannot be executed.
       Halting problem solved.


    Shit happens. A lot of things. I cannot get it to compile at all. MSVC, GCC, whatever...





    main.c: In function ‘Decide_Halting0’:
    main.c:239:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      239 |     PushBack(*execution_trace, (u32)*decoded, sizeof(Decoded_Line_Of_Code));
          |                                ^

    You're trying to compile it as 64 bit code. PO's x86utm.exe expects 32-bit.

    Mike.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mike Terry@21:1/5 to Chris M. Thomasson on Tue Oct 15 17:06:10 2024
    On 15/10/2024 04:57, Chris M. Thomasson wrote:
    On 10/14/2024 5:36 PM, Mike Terry wrote:
    On 15/10/2024 00:33, Chris M. Thomasson wrote:
    On 10/14/2024 4:14 PM, tTh wrote:
    On 10/14/24 04:57, olcott wrote:

    *Fully operational code is here*
    https://github.com/plolcott/x86utm/blob/master/Halt7.c

       This program does not compile, so it cannot be executed.
       Halting problem solved.


    Shit happens. A lot of things. I cannot get it to compile at all. MSVC, GCC, whatever...





    main.c: In function ‘Decide_Halting0’:
    main.c:239:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
       239 |     PushBack(*execution_trace, (u32)*decoded, sizeof(Decoded_Line_Of_Code));
           |                                ^

    You're trying to compile it as 64 bit code.  PO's x86utm.exe expects 32- bit.

    Ahhhh.... Let me try again for x86 in MSVC. Well:


    _______________________
    Severity    Code    Description    Project    File    Line    Suppression State    Details
    Error (active)    E0140    too many arguments in function call ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1177 Error (active)    E0140    too many arguments in function call ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1239 Error (active)    E0140    too many arguments in function call ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1320 Error (active)    E0167    argument of type "void (*)(u32 N)" is incompatible with parameter of type
    "ptr" (aka "void (*)()")    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1262 Error (active)    E0167    argument of type "ptr2" (aka "int (*)()") is incompatible with parameter
    of type "ptr" (aka "void (*)()") ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311 Error (active)    E0167    argument of type "ptr2" (aka "int (*)()") is incompatible with parameter
    of type "ptr" (aka "void (*)()") ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311 Error (active)    E0167    argument of type "int (*)(int (*M)())" is incompatible with parameter of
    type "int (*)()"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376 Error (active)    E0167    argument of type "int (*)()" is incompatible with parameter of type "ptr"
    (aka "void (*)()")    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1230 Error (active)    E0167    argument of type "int (*)()" is incompatible with parameter of type "ptr"
    (aka "void (*)()")    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1251 Error (active)    E0167    argument of type "int (*)()" is incompatible with parameter of type "ptr"
    (aka "void (*)()")    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1302 Error (active)    E0167    argument of type "int (*)()" is incompatible with parameter of type "ptr"
    (aka "void (*)()")    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349 Error (active)    E0167    argument of type "int (*)()" is incompatible with parameter of type "ptr"
    (aka "void (*)()")    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349 Error (active)    E0167    argument of type "int (*)()" is incompatible with parameter of type "ptr"
    (aka "void (*)()")    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369 Error (active)    E0167    argument of type "int (*)()" is incompatible with parameter of type "ptr"
    (aka "void (*)()")    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 102 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 106 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 107 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 248 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 250 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 252 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1093 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1094 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1095 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1100 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1117 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1118 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1119 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1124 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1337 Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376 Error    C2664    'void OutputString(char *)': cannot convert argument 1 from 'const char [49]' to
    'char *'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 250 Error    C2664    'void OutputString(char *)': cannot convert argument 1 from 'const char [48]' to
    'char *'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1100 Error    C2664    'void OutputString(char *)': cannot convert argument 1 from 'const char [48]' to
    'char *'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1124 Error    C2664    'void OutputString(char *)': cannot convert argument 1 from 'const char [44]' to
    'char *'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 248 Error    C2664    'void OutputString(char *)': cannot convert argument 1 from 'const char [41]' to
    'char *'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 252 Error    C2664    'void OutputString(char *)': cannot convert argument 1 from 'const char [25]' to
    'char *'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1337 Error    C2664    'void Output(char *,u32)': cannot convert argument 1 from 'const char [51]' to
    'char *'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1093 Error    C2664    'void Output(char *,u32)': cannot convert argument 1 from 'const char [50]' to
    'char *'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1117 Error    C2664    'void Output(char *,u32)': cannot convert argument 1 from 'const char [34]' to
    'char *'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 106 Error    C2664    'void Output(char *,u32)': cannot convert argument 1 from 'const char [34]' to
    'char *'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 107 Error    C2664    'void Output(char *,u32)': cannot convert argument 1 from 'const char [15]' to
    'char *'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1094 Error    C2664    'void Output(char *,u32)': cannot convert argument 1 from 'const char [14]' to
    'char *'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1118 Error    C2664    'void Output(char *,u32)': cannot convert argument 1 from 'const char [12]' to
    'char *'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 102 Error    C2664    'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'void (__cdecl *)(u32)'
    to 'ptr'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1262 Error    C2664    'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'int (__cdecl *)(void)'
    to 'ptr'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1251 Error    C2664    'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'int (__cdecl *)(void)'
    to 'ptr'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1302 Error    C2664    'u32 H0(ptr)': cannot convert argument 1 from 'int (__cdecl *)(void)' to 'ptr'
    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1230
    Error    C2664    'u32 H(ptr,ptr)': cannot convert argument 1 from 'ptr2' to 'ptr'
    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311
    Error    C2664    'u32 H(ptr,ptr)': cannot convert argument 1 from 'int (__cdecl *)(void)' to
    'ptr'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349 Error    C2664    'u32 H(ptr,ptr)': cannot convert argument 1 from 'int (__cdecl *)(void)' to
    'ptr'    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369 Error    C2664    'u32 Decide_Halting0(char *,u32 *,Decoded_Line_Of_Code **,u32,Registers
    **,Registers **,u32 **,u32,u32)': cannot convert argument 1 from 'const char [5]' to 'char *'
    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1095
    Error    C2664    'u32 Decide_Halting0(char *,u32 *,Decoded_Line_Of_Code **,u32,Registers
    **,Registers **,u32 **,u32,u32)': cannot convert argument 1 from 'const char [4]' to 'char *'
    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1119
    Error    C2197    'ptr': too many arguments for call    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1177 Error    C2197    'ptr': too many arguments for call    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1239 Error    C2197    'ptr': too many arguments for call    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1320 Error    C2664    'int D(int (__cdecl *)(void))': cannot convert argument 1 from 'int (__cdecl
    *)(int (__cdecl *)(void))' to 'int (__cdecl *)(void)' ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376

    _______________________

    You seem to be compiling the wrong program. The source code is halt7.c and has nothing to do with
    ct_threads.

    Mike.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mike Terry@21:1/5 to Mike Terry on Tue Oct 15 17:46:42 2024
    On 15/10/2024 17:06, Mike Terry wrote:
    On 15/10/2024 04:57, Chris M. Thomasson wrote:
    On 10/14/2024 5:36 PM, Mike Terry wrote:
    On 15/10/2024 00:33, Chris M. Thomasson wrote:
    On 10/14/2024 4:14 PM, tTh wrote:
    On 10/14/24 04:57, olcott wrote:

    *Fully operational code is here*
    https://github.com/plolcott/x86utm/blob/master/Halt7.c

       This program does not compile, so it cannot be executed.
       Halting problem solved.


    Shit happens. A lot of things. I cannot get it to compile at all. MSVC, GCC, whatever...





    main.c: In function ‘Decide_Halting0’:
    main.c:239:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
       239 |     PushBack(*execution_trace, (u32)*decoded, sizeof(Decoded_Line_Of_Code));
           |                                ^

    You're trying to compile it as 64 bit code.  PO's x86utm.exe expects 32- bit.

    Ahhhh.... Let me try again for x86 in MSVC. Well:


    _______________________
    Severity    Code    Description    Project    File    Line    Suppression State    Details
    Error (active)    E0140    too many arguments in function call ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1177
    Error (active)    E0140    too many arguments in function call ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1239
    Error (active)    E0140    too many arguments in function call ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1320
    Error (active)    E0167    argument of type "void (*)(u32 N)" is incompatible with parameter of
    type "ptr" (aka "void (*)()")    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1262
    Error (active)    E0167    argument of type "ptr2" (aka "int (*)()") is incompatible with
    parameter of type "ptr" (aka "void (*)()") ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311
    Error (active)    E0167    argument of type "ptr2" (aka "int (*)()") is incompatible with
    parameter of type "ptr" (aka "void (*)()") ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311
    Error (active)    E0167    argument of type "int (*)(int (*M)())" is incompatible with parameter
    of type "int (*)()"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376
    Error (active)    E0167    argument of type "int (*)()" is incompatible with parameter of type
    "ptr" (aka "void (*)()")    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1230
    Error (active)    E0167    argument of type "int (*)()" is incompatible with parameter of type
    "ptr" (aka "void (*)()")    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1251
    Error (active)    E0167    argument of type "int (*)()" is incompatible with parameter of type
    "ptr" (aka "void (*)()")    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1302
    Error (active)    E0167    argument of type "int (*)()" is incompatible with parameter of type
    "ptr" (aka "void (*)()")    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349
    Error (active)    E0167    argument of type "int (*)()" is incompatible with parameter of type
    "ptr" (aka "void (*)()")    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349
    Error (active)    E0167    argument of type "int (*)()" is incompatible with parameter of type
    "ptr" (aka "void (*)()")    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369
    Error (active)    E0167    argument of type "int (*)()" is incompatible with parameter of type
    "ptr" (aka "void (*)()")    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369
    Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 102 >> Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 106 >> Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 107 >> Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 248 >> Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 250 >> Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 252 >> Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1093
    Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1094
    Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1095
    Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1100
    Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1117
    Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1118
    Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1119
    Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1124
    Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1337
    Error (active)    E0167    argument of type "const char *" is incompatible with parameter of type
    "char *"    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376
    Error    C2664    'void OutputString(char *)': cannot convert argument 1 from 'const char [49]' to
    'char *'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 250 >> Error    C2664    'void OutputString(char *)': cannot convert argument 1 from 'const char [48]' to
    'char *'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1100
    Error    C2664    'void OutputString(char *)': cannot convert argument 1 from 'const char [48]' to
    'char *'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1124
    Error    C2664    'void OutputString(char *)': cannot convert argument 1 from 'const char [44]' to
    'char *'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 248 >> Error    C2664    'void OutputString(char *)': cannot convert argument 1 from 'const char [41]' to
    'char *'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 252 >> Error    C2664    'void OutputString(char *)': cannot convert argument 1 from 'const char [25]' to
    'char *'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1337
    Error    C2664    'void Output(char *,u32)': cannot convert argument 1 from 'const char [51]' to
    'char *'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1093
    Error    C2664    'void Output(char *,u32)': cannot convert argument 1 from 'const char [50]' to
    'char *'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1117
    Error    C2664    'void Output(char *,u32)': cannot convert argument 1 from 'const char [34]' to
    'char *'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 106 >> Error    C2664    'void Output(char *,u32)': cannot convert argument 1 from 'const char [34]' to
    'char *'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 107 >> Error    C2664    'void Output(char *,u32)': cannot convert argument 1 from 'const char [15]' to
    'char *'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1094
    Error    C2664    'void Output(char *,u32)': cannot convert argument 1 from 'const char [14]' to
    'char *'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1118
    Error    C2664    'void Output(char *,u32)': cannot convert argument 1 from 'const char [12]' to
    'char *'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 102 >> Error    C2664    'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'void (__cdecl
    *)(u32)' to 'ptr'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1262
    Error    C2664    'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'int (__cdecl
    *)(void)' to 'ptr'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1251
    Error    C2664    'u32 H_prior(ptr,void *)': cannot convert argument 1 from 'int (__cdecl
    *)(void)' to 'ptr'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1302
    Error    C2664    'u32 H0(ptr)': cannot convert argument 1 from 'int (__cdecl *)(void)' to 'ptr'
    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1230
    Error    C2664    'u32 H(ptr,ptr)': cannot convert argument 1 from 'ptr2' to 'ptr'
    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1311
    Error    C2664    'u32 H(ptr,ptr)': cannot convert argument 1 from 'int (__cdecl *)(void)' to
    'ptr'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1349
    Error    C2664    'u32 H(ptr,ptr)': cannot convert argument 1 from 'int (__cdecl *)(void)' to
    'ptr'    ct_thread_playground
    D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1369
    Error    C2664    'u32 Decide_Halting0(char *,u32 *,Decoded_Line_Of_Code **,u32,Registers
    **,Registers **,u32 **,u32,u32)': cannot convert argument 1 from 'const char [5]' to 'char *'
    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1095
    Error    C2664    'u32 Decide_Halting0(char *,u32 *,Decoded_Line_Of_Code **,u32,Registers
    **,Registers **,u32 **,u32,u32)': cannot convert argument 1 from 'const char [4]' to 'char *'
    ct_thread_playground D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1119
    Error    C2197    'ptr': too many arguments for call    ct_thread_playground >> D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1177
    Error    C2197    'ptr': too many arguments for call    ct_thread_playground >> D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1239
    Error    C2197    'ptr': too many arguments for call    ct_thread_playground >> D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1320
    Error    C2664    'int D(int (__cdecl *)(void))': cannot convert argument 1 from 'int (__cdecl
    *)(int (__cdecl *)(void))' to 'int (__cdecl *)(void)' ct_thread_playground >> D:\ct_dev\projects\ct_thread_playground\ct_thread_playground\ct_main.cpp 1376

    _______________________

    You seem to be compiling the wrong program.  The source code is halt7.c and has nothing to do with
    ct_threads.

    ..and note the code being compiled is C code, not C++..


    Mike.





    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mike Terry@21:1/5 to Chris M. Thomasson on Wed Oct 16 02:43:46 2024
    On 14/10/2024 23:17, Chris M. Thomasson wrote:
    On 10/13/2024 7:57 PM, olcott wrote:
    On 10/13/2024 11:34 AM, Kaz Kylheku wrote:
    On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> wrote: >>>> On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
    On 12.10.2024 11:32, Jan van den Broek wrote:
    2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> schrieb: >>>>>>> On 10/11/2024 7:50 PM, olcott wrote:

    [Schnipp]

    As I see it, the main Halting Problem is Olcott not halting.

    LOL! - A very nice one. Thanks for that. :-)

    I second that. :^)

    You're likely thousand-seconding that. The Olcott not halting joke
    is many years old now, and will likely come up again.



    My cancer has gotten worse.

    *ChatGPT explains why rebuttals of my work are incorrect*
    https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e

    I had to dumb this down from the original halting problem
    input so that reviewers can verify that HHH is correct
    without hardly paying any attention at all:

    void DDD()
    {
       HHH(DDD);
       return;
    }

    When HHH is an x86 emulation based termination analyzer
    then each DDD emulated by any HHH that it calls never returns.
    [...]

    Isn't that similar to:

    void foobar()
    {
        foobar();
    }

    ? >

    Similar, but different because HHH only performs a /partial/ step by step emulation of DDD - it
    stops emulating after a while and returns, so DDD() halts. foobar() will never halt (ignoring
    physical resource constraints like running out of stack). foobar() undergoes infinite recursive
    call. DDD() exhibits /finite/ recursive emulation, then halts.

    Mike.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mike Terry@21:1/5 to Chris M. Thomasson on Wed Oct 16 02:37:05 2024
    On 15/10/2024 20:40, Chris M. Thomasson wrote:
    On 10/15/2024 9:06 AM, Mike Terry wrote:
    [...]
    _______________________

    You seem to be compiling the wrong program.  The source code is halt7.c and has nothing to do with
    ct_threads.

    Shit happens Mike, sorry about that. Anyway, it compiles with C for x86:

    https://i.ibb.co/1bKYQMv/image.png

    but crashes during a run:

    https://i.ibb.co/T0f1Wjg/image.png

    The call stack for the error is:

       ct_thread_playground.exe!Init_Halts_HH(unsigned int * * Aborted, unsigned int * *
    execution_trace, Decoded * * decoded, unsigned int * code_end, unsigned int P, x86_Registers * *
    master_state, x86_Registers * * slave_state, unsigned int * * slave_stack) Line 544    C
         ct_thread_playground.exe!H(void(*)() P, void(*)() I) Line 701    C
         ct_thread_playground.exe!D(int(*)() M) Line 1369    C
         ct_thread_playground.exe!main(...) Line 1376    C
         ct_thread_playground.exe!invoke_main() Line 78    C++
         ct_thread_playground.exe!__scrt_common_main_seh() Line 288    C++
         ct_thread_playground.exe!__scrt_common_main() Line 331    C++
         ct_thread_playground.exe!mainCRTStartup(void * __formal) Line 17    C++
         kernel32.dll!74d17ba9()    Unknown
         [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
         ntdll.dll!76fdc0cb()    Unknown
         ntdll.dll!76fdc04f()    Unknown


    It looks like you've compiled halt7.c and linked it to form an executable, then you're running that
    executable as an OS process? That's not what you need to do.

    halt7.c needs to be compiled to halt7.obj (assuming Windows) which is a COFF file. You've done that
    bit. The halt7.obj file is passed as a parameter to PO's x86utm.exe, whichx reads the COFF file as
    input data, and provides a virtual x86 environment in which to "run" the obj code. I'm actually a
    bit surprised that you were able to link halt7.obj to create an executable!

    So if you want to try out the code in halt7.c, you will need to build x86utm.exe, which provides the
    virtual environment in which it "runs". The source on Github has all the source, including the
    PO-written code and the code coming from libx86emu, which is the x86 emulation software PO uses.
    There is a MSVS project file to do the build, or you could compile/link the files manually if you
    had to. There are 6 C compilation units (from libx86emu) and 1 C++ compilation unit (x86utm.xpp).
    I think the code is written as 32-bit. (Obviously you need the header files also on Github.)

    So the process you will run in your debugger is x86utm.exe. That makes it tricky to "step through"
    halt7.c code, since halt7.c code is just data being manipulated within the x86utm process.

    The reason you can't just link halt7.c to an OS executable and run it is that it is full of calls to
    "primitive" ops like Allocate() and DebugStep() which are intercepted by x86utm.exe and processed
    within x86utm. Like a supervisor call mechanism.


    Mike.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mike Terry@21:1/5 to Chris M. Thomasson on Sat Oct 19 16:21:06 2024
    On 16/10/2024 21:41, Chris M. Thomasson wrote:
    On 10/15/2024 6:43 PM, Mike Terry wrote:
    On 14/10/2024 23:17, Chris M. Thomasson wrote:
    On 10/13/2024 7:57 PM, olcott wrote:
    On 10/13/2024 11:34 AM, Kaz Kylheku wrote:
    On 2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> wrote: >>>>>> On 10/12/2024 11:28 AM, Janis Papanagnou wrote:
    On 12.10.2024 11:32, Jan van den Broek wrote:
    2024-10-12, Chris M. Thomasson <chris.m.thomasson.1@gmail.com> schrieb:
    On 10/11/2024 7:50 PM, olcott wrote:

    [Schnipp]

    As I see it, the main Halting Problem is Olcott not halting.

    LOL! - A very nice one. Thanks for that. :-)

    I second that. :^)

    You're likely thousand-seconding that. The Olcott not halting joke
    is many years old now, and will likely come up again.



    My cancer has gotten worse.

    *ChatGPT explains why rebuttals of my work are incorrect*
    https://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3e

    I had to dumb this down from the original halting problem
    input so that reviewers can verify that HHH is correct
    without hardly paying any attention at all:

    void DDD()
    {
       HHH(DDD);
       return;
    }

    When HHH is an x86 emulation based termination analyzer
    then each DDD emulated by any HHH that it calls never returns.
    [...]

    Isn't that similar to:

    void foobar()
    {
         foobar();
    }

    ? >

    Similar, but different because HHH only performs a /partial/ step by step emulation of DDD - it
    stops emulating after a while and returns, so DDD() halts.  foobar() will never halt (ignoring
    physical resource constraints like running out of stack).  foobar() undergoes infinite recursive
    call.  DDD() exhibits /finite/ recursive emulation, then halts.

    So, any similar to:
    ______________
    void foo(
        unsigned long ri,
        unsigned long rn
    ) {
        if (ri > rn) return;
        foo(ri + 1, rn);
    }
    ______________

    foo(0, 5);

    ?

    Yes - similar in that both :
    - foo and PO's DDD exhibit a flavour of recursion, and
    - both foo and DDD break the recursion at some point and subsequently halt

    Different in that:
    - foo exhibits "recursive call" while DDD exhibits "recursive simulation".

    When a call is made, the caller cannot receive control until the callee returns. So with call
    recursion, for the pattern to break, the break has to occur at the innermost call - like with your foo.

    When a simulation is made, the simulator is still in control, probably running a loop that simulates
    each individual instruction of the simulated computation. So recursive simulation may break in the
    same way as your foo, namely from the inner simulation then percolating back through the nested
    simulations until the outer simulation exits. Also it can break by one of the simulations simply
    deciding not to continue its simulation any more and quiting its instruction simulation loop.
    That's what PO's DDD does.

    Another example: Suppose GGG is coded to simulate 10000000 instrucions of GGG then exit. That is
    more similar to DDD than your foo, because like DDD it exhibits recursive simulation, and like DDD
    the recursion breaks from the outside. Everybody agrees that GGG terminates - would you be tempted
    to say that it is correct to say GGG never halts because it "exhibits infinitely recursive
    behaviour"? [meaning that the combined GGG emulation trace shows that simulated GGG simulates the
    exact same GGG again]. I doubt that! (The whole idea is beyond stupid, given we agree GGG halts.)


    Mike.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)