Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qt 6.3.1 painful....
Forum Updated to NodeBB v4.3 + New Features

Qt 6.3.1 painful....

Scheduled Pinned Locked Moved Unsolved General and Desktop
31 Posts 5 Posters 6.9k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D DerReisende

    @JoeCFD You don't need c++20 to do that, QMessageLogContext does give you the same information if you install a proper message handler:

    static void qt_message_handler(QtMsgType type, [[maybe_unused]] const QMessageLogContext &context, const QString &msg) {
        const QByteArray localMsg = msg.toLocal8Bit();
    #ifdef NDEBUG
        const auto out_msg = fmt::format("\t{}", localMsg.constData());
    #else
        const char *function = context.function ? context.function : "";
        const auto out_msg = fmt::format("\t{} [LINE:{}, {}]",
                                          localMsg.constData(),
                                          context.line,
                                          function);
    #endif
        switch (type) {
            case QtDebugMsg:
                spdlog::debug(out_msg);
                break;
            case QtInfoMsg:
                spdlog::info(out_msg);
                break;
            case QtWarningMsg:
                spdlog::warn(out_msg);
                break;
            case QtCriticalMsg:
                spdlog::error(out_msg);
                break;
            case QtFatalMsg:
                spdlog::critical(out_msg);
                spdlog::shutdown();
                break;
        }
    }
    
    void init_logging() {
        init_spdlog();
    
        qInstallMessageHandler(qt_message_handler);
    } 
    

    I am using spdlog and fmt::format for logging and formatting but in the end you will get almost the same details for all Qt logging calls as with your example.

    SPlattenS Offline
    SPlattenS Offline
    SPlatten
    wrote on last edited by SPlatten
    #22

    @DerReisende , thank you, I've done this already for several years, here is the output to my log file:

    XMLMPAM start-up
    Listening to any local IP address on port: 8123
    S000000000003E000000000374T09:56:43.345T:DL00004842P../clsMainWnd.cpp[void clsXMLnode::update]
    "Node:label ID:lbl1 X:12 Y:261 W:100 H:30 Text:<a href=\"http://google.com\" style=\"color:#000000;text-decoration:none;\">Google</a>:"
    S000000000004E000000000407T09:56:43.378T:DL00003985P../clsMainWnd.cpp[static clsXMLnode *clsXMLnode::spobjParse]
    "label"
    S000000000005E000000000408T09:56:43.379T:DL00004842P../clsMainWnd.cpp[void clsXMLnode::update]
    "Node:label ID:lbl1 X:12 Y:261 W:100 H:30 Text:<a href=\"http://google.com\" style=\"color:#000000;text-decoration:none;\">Google</a>:"
    S000000000006E000000000408T09:56:43.379T:D:"Node:label ID:lbl1 X:12 Y:261 W:100 H:30 Text:<a href=\"http://google.com\" style=\"color:#000000;text-decoration:none;\">Google</a>:"
    S000000000007E000000007037T09:56:50.008T:DL00000798P../clsMainWnd.cpp[clsXMLnode::clsXMLnode]
    "test99"
    S000000000008E000000007037T09:56:50.008T:DL00003985P../clsMainWnd.cpp[static clsXMLnode *clsXMLnode::spobjParse]
    "label"
    S000000000009E000000007104T09:56:50.075T:D:"label"
    S000000000010E000000007113T09:56:50.084T:D:"label"
    S000000000011E000000007128T09:56:50.099T:D:"label"
    Process:  Arg[0]: 8123
    Process:  Arg[1]: 8124
    Process:  Arg[2]: 24150
    Process:  Arg[3]: f1
    Process is NOT running, launching
    S000000000014E000000007171T09:56:50.142T:DL00000553P../clsModule.cpp[void clsModule::setProgram]
    Starting: f1:mdFIO
    Registering decoder for file simon.js, function: blnDecodeFIOcmd
    Process:  Arg[0]: 8123
    Process:  Arg[1]: 8125
    Process:  Arg[2]: 24150
    Process:  Arg[3]: s1
    Process is NOT running, launching
    S000000000018E000000007177T09:56:50.148T:D:Starting: s1:mdSQL
    Registering decoder for file simon.js, function: blnDecodeSQLcmd
    Process:  Arg[0]: 8123
    Process:  Arg[1]: 8126
    Process:  Arg[2]: 24150
    Process:  Arg[3]: x1
    Process is NOT running, launching
    S000000000022E000000007182T09:56:50.153T:D:Starting: x1:mdXML
    Registering decoder for file simon.js, function: blnDecodeXMLcmd
    S000000000024E000000007234T09:56:50.205T:DL00000571P../clsModule.cpp[auto clsModule::setProgram]
    PID for mdXML: 24171, On port: 8123
    Process:  mdXML started
    S000000000026E000000007234T09:56:50.205T:D:PID for mdFIO: 24165, On port: 8123
    Process:  mdFIO started
    S000000000028E000000007234T09:56:50.205T:D:PID for mdSQL: 24168, On port: 8123
    Process:  mdSQL started
    Client connecting...
    Client connecting...
    Client connecting...
    Client connected
    Client connected
    Client connected
    !s1!Client connecting...
    !s1!Client connected
    !f1!Client connecting...
    !f1!Client connected
    !x1!Client connecting...
    !x1!Client connected
    !f1!S000000000042E000000000131T09:56:50.347DL00000731F../mdFIO/clsModFIO.cpp[void clsModFIO::doComm
    !f1!S000000000042E000000000131T09:56:50.347DL00000731F../mdFIO/clsModFIO.cpp[void clsModFIO::doCommand]
    2022-08-17 08:56:50,  Command#1: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
    !f1!S000000000043E000000000131T09:56:50.347D:Length
    !f1!S000000000043E000000000131T09:56:50.347D:Length: 1
    !f1!S000000000044E000000000131T09:56:50.347D:2022-08
    !f1!S000000000044E000000000131T09:56:50.347D:2022-08-17 08:56:50,  Command#2: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
    !f1!S000000000045E000000000131T09:56:50.347D:Length
    !f1!S000000000045E000000000131T09:56:50.347D:Length: 2
    !f1!S000000000046E000000000131T09:56:50.347D:2022-08
    !f1!S000000000046E000000000131T09:56:50.347D:2022-08-17 08:56:50,  Command#3: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
    !f1!S000000000047E000000000131T09:56:50.347D:Length
    !f1!S000000000047E000000000131T09:56:50.347D:Length: 4
    !f1!S000000000048E000000000131T09:56:50.348D:2022-08
    !f1!S000000000048E000000000131T09:56:50.348D:2022-08-17 08:56:50,  Command#4: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
    !f1!S000000000049E000000000131T09:56:50.348D:Length
    !f1!S000000000049E000000000131T09:56:50.348D:Length: 8
    !f1!S000000000050E000000000131T09:56:50.348D:2022-08
    !f1!S000000000050E000000000131T09:56:50.348D:2022-08-17 08:56:50,  Command#5: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
    !f1!S000000000051E000000000131T09:56:50.348D:Length
    !f1!S000000000051E000000000131T09:56:50.348D:Length: 4
    !f1!S000000000052E000000000131T09:56:50.348D:2022-08
    !f1!S000000000052E000000000131T09:56:50.348D:2022-08-17 08:56:50,  Command#6: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
    !f1!S000000000053E000000000131T09:56:50.348D:Length
    !f1!S000000000053E000000000131T09:56:50.348D:Length: 8
    !f1!S000000000054E000000000132T09:56:50.348D:2022-08
    !f1!S000000000054E000000000132T09:56:50.348D:2022-08-17 08:56:50,  Command#7: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
    !f1!S000000000055E000000000132T09:56:50.348D:Length
    !f1!S000000000055E000000000132T09:56:50.348D:Length: 27
    !f1!S000000000056E000000000132T09:56:50.348D:2022-08
    !f1!S000000000056E000000000132T09:56:50.348D:2022-08-17 08:56:50,  Command#8: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
    !f1!S000000000057E000000000132T09:56:50.348D:Length
    !f1!S000000000057E000000000132T09:56:50.348D:Length: 1
    !f1!S000000000058E000000000132T09:56:50.348D:2022-08
    !f1!S000000000058E000000000132T09:56:50.348D:2022-08-17 08:56:50,  Command#9: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
    !f1!S000000000059E000000000132T09:56:50.348D:Length
    !f1!S000000000059E000000000132T09:56:50.348D:Length: 2
    !f1!S000000000060E000000000132T09:56:50.348D:2022-08
    !f1!S000000000060E000000000132T09:56:50.348D:2022-08-17 08:56:50,  Command#10: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
    !f1!S000000000061E000000000132T09:56:50.348D:Length
    !f1!S000000000061E000000000132T09:56:50.348D:Length: 4
    !f1!S000000000062E000000000132T09:56:50.348D:2022-08
    !f1!S000000000062E000000000132T09:56:50.348D:2022-08-17 08:56:50,  Command#11: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
    !f1!S000000000063E000000000132T09:56:50.348D:Length
    !f1!S000000000063E000000000132T09:56:50.348D:Length: 8
    !f1!S000000000064E000000000132T09:56:50.348D:2022-08
    !f1!S000000000064E000000000132T09:56:50.348D:2022-08-17 08:56:50,  Command#12: find, File: /Users/sy/XMLMPAM/config/test.dat, Mode: r
    !f1!S000000000065E000000000132T09:56:50.348D:Length
    !f1!S000000000065E000000000132T09:56:50.348D:Length: 18446744073709551615
    !f1!S000000000066E000000000132T09:56:50.349D:2022-08
    !f1!S000000000066E000000000132T09:56:50.349D:2022-08-17 08:56:50,  Command#13: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rt
    !f1!S000000000067E000000000132T09:56:50.349D:Length
    !f1!S000000000067E000000000132T09:56:50.349D:Length: 3
    !f1!S000000000068E000000000132T09:56:50.349D:2022-08
    !f1!S000000000068E000000000132T09:56:50.349D:2022-08-17 08:56:50,  Command#14: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rt
    !f1!S000000000069E000000000132T09:56:50.349D:Length
    !f1!S000000000069E000000000132T09:56:50.349D:Length: 4
    !f1!S000000000070E000000000132T09:56:50.349D:2022-08
    !f1!S000000000070E000000000132T09:56:50.349D:2022-08-17 08:56:50,  Command#15: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rt
    !f1!S000000000071E000000000132T09:56:50.349D:Positio
    !f1!S000000000071E000000000132T09:56:50.349D:Position: -15
    !f1!S000000000072E000000000133T09:56:50.349D:Length
    !f1!S000000000072E000000000133T09:56:50.349D:Length: 5
    !f1!S000000000073E000000000133T09:56:50.349D:2022-08
    !f1!S000000000073E000000000133T09:56:50.349D:2022-08-17 08:56:50,  Command#16: tell, File: /Users/sy/XMLMPAM/config/test.dat, Mode: r
    !f1!S000000000074E000000000133T09:56:50.349D:Length
    !f1!S000000000074E000000000133T09:56:50.349D:Length: 18446744073709551615
    !s1!S000000000008E000000000137T09:56:50.343DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
    !s1!S000000000008E000000000137T09:56:50.343DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
    {"command":"connect","params":{"database":"test","driver":"QMYSQL","host":"localhost","pass":"resuocra","usr":"root"}}
    !s1!S000000000009E000000000179T09:56:50.384DL00000212F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
    !s1!S000000000009E000000000179T09:56:50.384DL00000212F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
    {"command":"connect","output":"connected"}
    S000000000036E000000007753T09:56:50.724T:W:QObject: Cannot create children for a parent that is in a different thread.
    (Parent is QNativeSocketEngine(0x600000012910), parent's thread is clsServer(0x600000257fc0), current thread is clsThread(0x600002c2a000)
    !s1!S000000000010E000000000519T09:56:50.724DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
    !s1!S000000000010E000000000519T09:56:50.724DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
    {"addrTo":"s1","args":[2],"command":"query","handler":"simon2.js@testFormHandler","msgType":"notify","source":"XMLMPAM","sql":"SELECT * FROM test.tblForm LIMIT ?;"}
    !s1!S000000000011E000000000521T09:56:50.726DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
    !s1!S000000000011E000000000521T09:56:50.726DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
    {"command":"query","handler":"simon2.js@testFormHandler","output":"connected","records":[{"intEmployed":"1","intPri":"1","vcAddress":"Latona House\nStation Road\nCantley\nNorfolk\nNR13 3SQ","vcFirstName":"Simon","vcSex":"Male","vcSurName":"Platten"},{"intEmployed":"1","intPri":"2","vcAddress":"Latona House\nStation Road\nCantley\nNorfolk\nNR13 3SQ","vcFirstName":"Susan","vcSex":"Female","vcSurName":"Platten"}]}
    !s1!S000000000012E000000000781T09:56:50.987DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
    !s1!S000000000012E000000000781T09:56:50.987DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
    {"addrTo":"s1","args":[2],"command":"query","handler":"simon2.js@testFormHandler","msgType":"notify","source":"XMLMPAM","sql":"SELECT * FROM test.tblForm WHERE intPri NOT IN(1,2) LIMIT ?;"}
    !s1!S000000000013E000000000782T09:56:50.987DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
    !s1!S000000000013E000000000782T09:56:50.987DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
    {"command":"query","handler":"simon2.js@testFormHandler","output":"connected"}
    !s1!S000000000014E000000001044T09:56:51.249DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
    !s1!S000000000014E000000001044T09:56:51.249DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
    {"addrTo":"s1","args":[2],"command":"query","handler":"simon2.js@testFormHandler","msgType":"notify","source":"XMLMPAM","sql":"SELECT * FROM test.tblForm WHERE intPri NOT IN(1,2) LIMIT ?;"}
    !s1!S000000000015E000000001044T09:56:51.249DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
    !s1!S000000000015E000000001044T09:56:51.249DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
    {"command":"query","handler":"simon2.js@testFormHandler","output":"connected"}
    !s1!S000000000016E000000001304T09:56:51.510DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
    !s1!S000000000016E000000001304T09:56:51.510DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
    {"addrTo":"s1","args":[2],"command":"query","handler":"simon2.js@testFormHandler","msgType":"notify","source":"XMLMPAM","sql":"SELECT * FROM test.tblForm WHERE intPri NOT IN(1,2) LIMIT ?;"}
    !s1!S000000000017E000000001305T09:56:51.510DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
    !s1!S000000000017E000000001305T09:56:51.510DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
    {"command":"query","handler":"simon2.js@testFormHandler","output":"connected"}
    !s1!S000000000018E000000001562T09:56:51.767DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
    !s1!S000000000018E000000001562T09:56:51.767DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
    {"addrTo":"s1","args":[2],"command":"query","handler":"simon2.js@testFormHandler","msgType":"notify","source":"XMLMPAM","sql":"SELECT * FROM test.tblForm WHERE intPri NOT IN(1,2) LIMIT ?;"}
    !s1!S000000000019E000000001562T09:56:51.768DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
    !s1!S000000000019E000000001562T09:56:51.768DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
    {"command":"query","handler":"simon2.js@testFormHandler","output":"connected"}
    !s1!S000000000020E000000001812T09:56:52.017DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
    !s1!S000000000020E000000001812T09:56:52.017DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
    {"addrTo":"s1","args":[2],"command":"query","handler":"simon2.js@testFormHandler","msgType":"notify","source":"XMLMPAM","sql":"SELECT * FROM test.tblForm WHERE intPri NOT IN(1,2) LIMIT ?;"}
    !s1!S000000000021E000000001812T09:56:52.017DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
    !s1!S000000000021E000000001812T09:56:52.017DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
    {"command":"query","handler":"simon2.js@testFormHandler","output":"connected"}
    S000000000037E000000009157T09:56:52.128T:W:QObject: Cannot create children for a parent that is in a different thread.
    (Parent is QNativeSocketEngine(0x600000025290), parent's thread is clsServer(0x600000255400), current thread is clsThread(0x600002c2a000)
    S000000000038E000000009158T09:56:52.129T:W:QObject: Cannot create children for a parent that is in a different thread.
    (Parent is QNativeSocketEngine(0x6000000196e0), parent's thread is clsServer(0x600000256f60), current thread is clsThread(0x600002c2a000)
    

    Where:
    S is the sequence number
    E is the elapsed time
    T is the time stamp
    T:C Type:Critical warning
    T:D Type:Debug message
    T:F Type:Fatal error
    T:W Type:Warning
    L is the line number
    P is the path and file name

    This is what is shown in the Application Output which suggests the issue is generated during the initialisation of QApplication.

    
    10:04:03: Debugging /Users/sy/XMLMPAM/build-XMLMPAM-Desktop_Qt_5_15_2_clang_64bit-Debug/XMLMPAM.app/Contents/MacOS/XMLMPAM ~/XMLMPAM/config/xmlmpam ...
    
    got fallback qt version 0x50f02
    2022-08-17 10:04:08.921420+0100 XMLMPAM[24714:211122] SecTaskLoadEntitlements failed error=22 cs_flags=20, pid=24714
    2022-08-17 10:04:08.921503+0100 XMLMPAM[24714:211122] SecTaskCopyDebugDescription: XMLMPAM[24714]/0#-1 LF=0
    2022-08-17 10:04:09.414338+0100 XMLMPAM[24714:211122] SecTaskLoadEntitlements failed error=22 cs_flags=20, pid=24714
    2022-08-17 10:04:09.414418+0100 XMLMPAM[24714:211122] SecTaskCopyDebugDescription: XMLMPAM[24714]/0#-1 LF=0
    

    Found this:
    https://apple.stackexchange.com/questions/237465/what-means-sectaskloadentlitlements-failed-error-22

    Kind Regards,
    Sy

    D 1 Reply Last reply
    0
    • D DerReisende

      @JoeCFD You don't need c++20 to do that, QMessageLogContext does give you the same information if you install a proper message handler:

      static void qt_message_handler(QtMsgType type, [[maybe_unused]] const QMessageLogContext &context, const QString &msg) {
          const QByteArray localMsg = msg.toLocal8Bit();
      #ifdef NDEBUG
          const auto out_msg = fmt::format("\t{}", localMsg.constData());
      #else
          const char *function = context.function ? context.function : "";
          const auto out_msg = fmt::format("\t{} [LINE:{}, {}]",
                                            localMsg.constData(),
                                            context.line,
                                            function);
      #endif
          switch (type) {
              case QtDebugMsg:
                  spdlog::debug(out_msg);
                  break;
              case QtInfoMsg:
                  spdlog::info(out_msg);
                  break;
              case QtWarningMsg:
                  spdlog::warn(out_msg);
                  break;
              case QtCriticalMsg:
                  spdlog::error(out_msg);
                  break;
              case QtFatalMsg:
                  spdlog::critical(out_msg);
                  spdlog::shutdown();
                  break;
          }
      }
      
      void init_logging() {
          init_spdlog();
      
          qInstallMessageHandler(qt_message_handler);
      } 
      

      I am using spdlog and fmt::format for logging and formatting but in the end you will get almost the same details for all Qt logging calls as with your example.

      JoeCFDJ Offline
      JoeCFDJ Offline
      JoeCFD
      wrote on last edited by
      #23

      @DerReisende the log function in C++ 20 seems simpler. I use both spdlog and Qt logger.

      D 1 Reply Last reply
      0
      • SPlattenS SPlatten

        @DerReisende , thank you, I've done this already for several years, here is the output to my log file:

        XMLMPAM start-up
        Listening to any local IP address on port: 8123
        S000000000003E000000000374T09:56:43.345T:DL00004842P../clsMainWnd.cpp[void clsXMLnode::update]
        "Node:label ID:lbl1 X:12 Y:261 W:100 H:30 Text:<a href=\"http://google.com\" style=\"color:#000000;text-decoration:none;\">Google</a>:"
        S000000000004E000000000407T09:56:43.378T:DL00003985P../clsMainWnd.cpp[static clsXMLnode *clsXMLnode::spobjParse]
        "label"
        S000000000005E000000000408T09:56:43.379T:DL00004842P../clsMainWnd.cpp[void clsXMLnode::update]
        "Node:label ID:lbl1 X:12 Y:261 W:100 H:30 Text:<a href=\"http://google.com\" style=\"color:#000000;text-decoration:none;\">Google</a>:"
        S000000000006E000000000408T09:56:43.379T:D:"Node:label ID:lbl1 X:12 Y:261 W:100 H:30 Text:<a href=\"http://google.com\" style=\"color:#000000;text-decoration:none;\">Google</a>:"
        S000000000007E000000007037T09:56:50.008T:DL00000798P../clsMainWnd.cpp[clsXMLnode::clsXMLnode]
        "test99"
        S000000000008E000000007037T09:56:50.008T:DL00003985P../clsMainWnd.cpp[static clsXMLnode *clsXMLnode::spobjParse]
        "label"
        S000000000009E000000007104T09:56:50.075T:D:"label"
        S000000000010E000000007113T09:56:50.084T:D:"label"
        S000000000011E000000007128T09:56:50.099T:D:"label"
        Process:  Arg[0]: 8123
        Process:  Arg[1]: 8124
        Process:  Arg[2]: 24150
        Process:  Arg[3]: f1
        Process is NOT running, launching
        S000000000014E000000007171T09:56:50.142T:DL00000553P../clsModule.cpp[void clsModule::setProgram]
        Starting: f1:mdFIO
        Registering decoder for file simon.js, function: blnDecodeFIOcmd
        Process:  Arg[0]: 8123
        Process:  Arg[1]: 8125
        Process:  Arg[2]: 24150
        Process:  Arg[3]: s1
        Process is NOT running, launching
        S000000000018E000000007177T09:56:50.148T:D:Starting: s1:mdSQL
        Registering decoder for file simon.js, function: blnDecodeSQLcmd
        Process:  Arg[0]: 8123
        Process:  Arg[1]: 8126
        Process:  Arg[2]: 24150
        Process:  Arg[3]: x1
        Process is NOT running, launching
        S000000000022E000000007182T09:56:50.153T:D:Starting: x1:mdXML
        Registering decoder for file simon.js, function: blnDecodeXMLcmd
        S000000000024E000000007234T09:56:50.205T:DL00000571P../clsModule.cpp[auto clsModule::setProgram]
        PID for mdXML: 24171, On port: 8123
        Process:  mdXML started
        S000000000026E000000007234T09:56:50.205T:D:PID for mdFIO: 24165, On port: 8123
        Process:  mdFIO started
        S000000000028E000000007234T09:56:50.205T:D:PID for mdSQL: 24168, On port: 8123
        Process:  mdSQL started
        Client connecting...
        Client connecting...
        Client connecting...
        Client connected
        Client connected
        Client connected
        !s1!Client connecting...
        !s1!Client connected
        !f1!Client connecting...
        !f1!Client connected
        !x1!Client connecting...
        !x1!Client connected
        !f1!S000000000042E000000000131T09:56:50.347DL00000731F../mdFIO/clsModFIO.cpp[void clsModFIO::doComm
        !f1!S000000000042E000000000131T09:56:50.347DL00000731F../mdFIO/clsModFIO.cpp[void clsModFIO::doCommand]
        2022-08-17 08:56:50,  Command#1: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
        !f1!S000000000043E000000000131T09:56:50.347D:Length
        !f1!S000000000043E000000000131T09:56:50.347D:Length: 1
        !f1!S000000000044E000000000131T09:56:50.347D:2022-08
        !f1!S000000000044E000000000131T09:56:50.347D:2022-08-17 08:56:50,  Command#2: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
        !f1!S000000000045E000000000131T09:56:50.347D:Length
        !f1!S000000000045E000000000131T09:56:50.347D:Length: 2
        !f1!S000000000046E000000000131T09:56:50.347D:2022-08
        !f1!S000000000046E000000000131T09:56:50.347D:2022-08-17 08:56:50,  Command#3: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
        !f1!S000000000047E000000000131T09:56:50.347D:Length
        !f1!S000000000047E000000000131T09:56:50.347D:Length: 4
        !f1!S000000000048E000000000131T09:56:50.348D:2022-08
        !f1!S000000000048E000000000131T09:56:50.348D:2022-08-17 08:56:50,  Command#4: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
        !f1!S000000000049E000000000131T09:56:50.348D:Length
        !f1!S000000000049E000000000131T09:56:50.348D:Length: 8
        !f1!S000000000050E000000000131T09:56:50.348D:2022-08
        !f1!S000000000050E000000000131T09:56:50.348D:2022-08-17 08:56:50,  Command#5: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
        !f1!S000000000051E000000000131T09:56:50.348D:Length
        !f1!S000000000051E000000000131T09:56:50.348D:Length: 4
        !f1!S000000000052E000000000131T09:56:50.348D:2022-08
        !f1!S000000000052E000000000131T09:56:50.348D:2022-08-17 08:56:50,  Command#6: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
        !f1!S000000000053E000000000131T09:56:50.348D:Length
        !f1!S000000000053E000000000131T09:56:50.348D:Length: 8
        !f1!S000000000054E000000000132T09:56:50.348D:2022-08
        !f1!S000000000054E000000000132T09:56:50.348D:2022-08-17 08:56:50,  Command#7: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
        !f1!S000000000055E000000000132T09:56:50.348D:Length
        !f1!S000000000055E000000000132T09:56:50.348D:Length: 27
        !f1!S000000000056E000000000132T09:56:50.348D:2022-08
        !f1!S000000000056E000000000132T09:56:50.348D:2022-08-17 08:56:50,  Command#8: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
        !f1!S000000000057E000000000132T09:56:50.348D:Length
        !f1!S000000000057E000000000132T09:56:50.348D:Length: 1
        !f1!S000000000058E000000000132T09:56:50.348D:2022-08
        !f1!S000000000058E000000000132T09:56:50.348D:2022-08-17 08:56:50,  Command#9: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
        !f1!S000000000059E000000000132T09:56:50.348D:Length
        !f1!S000000000059E000000000132T09:56:50.348D:Length: 2
        !f1!S000000000060E000000000132T09:56:50.348D:2022-08
        !f1!S000000000060E000000000132T09:56:50.348D:2022-08-17 08:56:50,  Command#10: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
        !f1!S000000000061E000000000132T09:56:50.348D:Length
        !f1!S000000000061E000000000132T09:56:50.348D:Length: 4
        !f1!S000000000062E000000000132T09:56:50.348D:2022-08
        !f1!S000000000062E000000000132T09:56:50.348D:2022-08-17 08:56:50,  Command#11: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rb
        !f1!S000000000063E000000000132T09:56:50.348D:Length
        !f1!S000000000063E000000000132T09:56:50.348D:Length: 8
        !f1!S000000000064E000000000132T09:56:50.348D:2022-08
        !f1!S000000000064E000000000132T09:56:50.348D:2022-08-17 08:56:50,  Command#12: find, File: /Users/sy/XMLMPAM/config/test.dat, Mode: r
        !f1!S000000000065E000000000132T09:56:50.348D:Length
        !f1!S000000000065E000000000132T09:56:50.348D:Length: 18446744073709551615
        !f1!S000000000066E000000000132T09:56:50.349D:2022-08
        !f1!S000000000066E000000000132T09:56:50.349D:2022-08-17 08:56:50,  Command#13: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rt
        !f1!S000000000067E000000000132T09:56:50.349D:Length
        !f1!S000000000067E000000000132T09:56:50.349D:Length: 3
        !f1!S000000000068E000000000132T09:56:50.349D:2022-08
        !f1!S000000000068E000000000132T09:56:50.349D:2022-08-17 08:56:50,  Command#14: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rt
        !f1!S000000000069E000000000132T09:56:50.349D:Length
        !f1!S000000000069E000000000132T09:56:50.349D:Length: 4
        !f1!S000000000070E000000000132T09:56:50.349D:2022-08
        !f1!S000000000070E000000000132T09:56:50.349D:2022-08-17 08:56:50,  Command#15: read, File: /Users/sy/XMLMPAM/config/test.dat, Mode: rt
        !f1!S000000000071E000000000132T09:56:50.349D:Positio
        !f1!S000000000071E000000000132T09:56:50.349D:Position: -15
        !f1!S000000000072E000000000133T09:56:50.349D:Length
        !f1!S000000000072E000000000133T09:56:50.349D:Length: 5
        !f1!S000000000073E000000000133T09:56:50.349D:2022-08
        !f1!S000000000073E000000000133T09:56:50.349D:2022-08-17 08:56:50,  Command#16: tell, File: /Users/sy/XMLMPAM/config/test.dat, Mode: r
        !f1!S000000000074E000000000133T09:56:50.349D:Length
        !f1!S000000000074E000000000133T09:56:50.349D:Length: 18446744073709551615
        !s1!S000000000008E000000000137T09:56:50.343DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
        !s1!S000000000008E000000000137T09:56:50.343DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
        {"command":"connect","params":{"database":"test","driver":"QMYSQL","host":"localhost","pass":"resuocra","usr":"root"}}
        !s1!S000000000009E000000000179T09:56:50.384DL00000212F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
        !s1!S000000000009E000000000179T09:56:50.384DL00000212F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
        {"command":"connect","output":"connected"}
        S000000000036E000000007753T09:56:50.724T:W:QObject: Cannot create children for a parent that is in a different thread.
        (Parent is QNativeSocketEngine(0x600000012910), parent's thread is clsServer(0x600000257fc0), current thread is clsThread(0x600002c2a000)
        !s1!S000000000010E000000000519T09:56:50.724DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
        !s1!S000000000010E000000000519T09:56:50.724DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
        {"addrTo":"s1","args":[2],"command":"query","handler":"simon2.js@testFormHandler","msgType":"notify","source":"XMLMPAM","sql":"SELECT * FROM test.tblForm LIMIT ?;"}
        !s1!S000000000011E000000000521T09:56:50.726DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
        !s1!S000000000011E000000000521T09:56:50.726DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
        {"command":"query","handler":"simon2.js@testFormHandler","output":"connected","records":[{"intEmployed":"1","intPri":"1","vcAddress":"Latona House\nStation Road\nCantley\nNorfolk\nNR13 3SQ","vcFirstName":"Simon","vcSex":"Male","vcSurName":"Platten"},{"intEmployed":"1","intPri":"2","vcAddress":"Latona House\nStation Road\nCantley\nNorfolk\nNR13 3SQ","vcFirstName":"Susan","vcSex":"Female","vcSurName":"Platten"}]}
        !s1!S000000000012E000000000781T09:56:50.987DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
        !s1!S000000000012E000000000781T09:56:50.987DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
        {"addrTo":"s1","args":[2],"command":"query","handler":"simon2.js@testFormHandler","msgType":"notify","source":"XMLMPAM","sql":"SELECT * FROM test.tblForm WHERE intPri NOT IN(1,2) LIMIT ?;"}
        !s1!S000000000013E000000000782T09:56:50.987DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
        !s1!S000000000013E000000000782T09:56:50.987DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
        {"command":"query","handler":"simon2.js@testFormHandler","output":"connected"}
        !s1!S000000000014E000000001044T09:56:51.249DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
        !s1!S000000000014E000000001044T09:56:51.249DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
        {"addrTo":"s1","args":[2],"command":"query","handler":"simon2.js@testFormHandler","msgType":"notify","source":"XMLMPAM","sql":"SELECT * FROM test.tblForm WHERE intPri NOT IN(1,2) LIMIT ?;"}
        !s1!S000000000015E000000001044T09:56:51.249DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
        !s1!S000000000015E000000001044T09:56:51.249DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
        {"command":"query","handler":"simon2.js@testFormHandler","output":"connected"}
        !s1!S000000000016E000000001304T09:56:51.510DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
        !s1!S000000000016E000000001304T09:56:51.510DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
        {"addrTo":"s1","args":[2],"command":"query","handler":"simon2.js@testFormHandler","msgType":"notify","source":"XMLMPAM","sql":"SELECT * FROM test.tblForm WHERE intPri NOT IN(1,2) LIMIT ?;"}
        !s1!S000000000017E000000001305T09:56:51.510DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
        !s1!S000000000017E000000001305T09:56:51.510DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
        {"command":"query","handler":"simon2.js@testFormHandler","output":"connected"}
        !s1!S000000000018E000000001562T09:56:51.767DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
        !s1!S000000000018E000000001562T09:56:51.767DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
        {"addrTo":"s1","args":[2],"command":"query","handler":"simon2.js@testFormHandler","msgType":"notify","source":"XMLMPAM","sql":"SELECT * FROM test.tblForm WHERE intPri NOT IN(1,2) LIMIT ?;"}
        !s1!S000000000019E000000001562T09:56:51.768DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
        !s1!S000000000019E000000001562T09:56:51.768DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
        {"command":"query","handler":"simon2.js@testFormHandler","output":"connected"}
        !s1!S000000000020E000000001812T09:56:52.017DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
        !s1!S000000000020E000000001812T09:56:52.017DL00000171F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
        {"addrTo":"s1","args":[2],"command":"query","handler":"simon2.js@testFormHandler","msgType":"notify","source":"XMLMPAM","sql":"SELECT * FROM test.tblForm WHERE intPri NOT IN(1,2) LIMIT ?;"}
        !s1!S000000000021E000000001812T09:56:52.017DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoC
        !s1!S000000000021E000000001812T09:56:52.017DL00000276F../mdSQL/clsModSQL.cpp[bool clsModSQL::blnDoCmd]
        {"command":"query","handler":"simon2.js@testFormHandler","output":"connected"}
        S000000000037E000000009157T09:56:52.128T:W:QObject: Cannot create children for a parent that is in a different thread.
        (Parent is QNativeSocketEngine(0x600000025290), parent's thread is clsServer(0x600000255400), current thread is clsThread(0x600002c2a000)
        S000000000038E000000009158T09:56:52.129T:W:QObject: Cannot create children for a parent that is in a different thread.
        (Parent is QNativeSocketEngine(0x6000000196e0), parent's thread is clsServer(0x600000256f60), current thread is clsThread(0x600002c2a000)
        

        Where:
        S is the sequence number
        E is the elapsed time
        T is the time stamp
        T:C Type:Critical warning
        T:D Type:Debug message
        T:F Type:Fatal error
        T:W Type:Warning
        L is the line number
        P is the path and file name

        This is what is shown in the Application Output which suggests the issue is generated during the initialisation of QApplication.

        
        10:04:03: Debugging /Users/sy/XMLMPAM/build-XMLMPAM-Desktop_Qt_5_15_2_clang_64bit-Debug/XMLMPAM.app/Contents/MacOS/XMLMPAM ~/XMLMPAM/config/xmlmpam ...
        
        got fallback qt version 0x50f02
        2022-08-17 10:04:08.921420+0100 XMLMPAM[24714:211122] SecTaskLoadEntitlements failed error=22 cs_flags=20, pid=24714
        2022-08-17 10:04:08.921503+0100 XMLMPAM[24714:211122] SecTaskCopyDebugDescription: XMLMPAM[24714]/0#-1 LF=0
        2022-08-17 10:04:09.414338+0100 XMLMPAM[24714:211122] SecTaskLoadEntitlements failed error=22 cs_flags=20, pid=24714
        2022-08-17 10:04:09.414418+0100 XMLMPAM[24714:211122] SecTaskCopyDebugDescription: XMLMPAM[24714]/0#-1 LF=0
        

        Found this:
        https://apple.stackexchange.com/questions/237465/what-means-sectaskloadentlitlements-failed-error-22

        D Offline
        D Offline
        DerReisende
        wrote on last edited by
        #24

        @SPlatten Then maybe this procedure might help you with qmake to get an entitlement running. Apart from networking I dont know what else you might need.
        With CMake it should be easier to add an entitlement to your qt app

        SPlattenS 1 Reply Last reply
        0
        • JoeCFDJ JoeCFD

          @DerReisende the log function in C++ 20 seems simpler. I use both spdlog and Qt logger.

          D Offline
          D Offline
          DerReisende
          wrote on last edited by
          #25

          @JoeCFD Yes, your link looks simpler, I only wanted to highlight that you can get almost the same result if you want to stay with c++17.
          And I am sort of reluctant to use c++20 as I got shot several times in the foot trying to compile code on macOS Xcode clang which was written on windows with VC++ :( XCode‘s clang seems to be not the most modern clang available and does lack quite some features available elsewhere.

          JoeCFDJ 1 Reply Last reply
          0
          • D DerReisende

            @JoeCFD Yes, your link looks simpler, I only wanted to highlight that you can get almost the same result if you want to stay with c++17.
            And I am sort of reluctant to use c++20 as I got shot several times in the foot trying to compile code on macOS Xcode clang which was written on windows with VC++ :( XCode‘s clang seems to be not the most modern clang available and does lack quite some features available elsewhere.

            JoeCFDJ Offline
            JoeCFDJ Offline
            JoeCFD
            wrote on last edited by
            #26

            @DerReisende I am switching to Ubuntu 22 which has complete C++20 features and am looking forward to using more C++20 features in the hope of making code simpler and more organized. Linking more libs is often annoying. I prefer to use fewer third party libs. Version matching and compatibility are painful in deployment.

            D 1 Reply Last reply
            0
            • D DerReisende

              @SPlatten Then maybe this procedure might help you with qmake to get an entitlement running. Apart from networking I dont know what else you might need.
              With CMake it should be easier to add an entitlement to your qt app

              SPlattenS Offline
              SPlattenS Offline
              SPlatten
              wrote on last edited by
              #27

              @DerReisende , I'm really not sure what the messages SecTaskLoadEntitlements mean or what action I need to take?

              Kind Regards,
              Sy

              D 1 Reply Last reply
              0
              • SPlattenS SPlatten

                @DerReisende , I'm really not sure what the messages SecTaskLoadEntitlements mean or what action I need to take?

                D Offline
                D Offline
                DerReisende
                wrote on last edited by
                #28

                @SPlatten The entitlement stuff should have no impact for local development but will be necessary for deployment to other machines later with the hardened runtime otherwise you might not get any network connectivity etc.
                Do you still have those crashes from the beginning of the thread?

                1 Reply Last reply
                0
                • JoeCFDJ JoeCFD

                  @DerReisende I am switching to Ubuntu 22 which has complete C++20 features and am looking forward to using more C++20 features in the hope of making code simpler and more organized. Linking more libs is often annoying. I prefer to use fewer third party libs. Version matching and compatibility are painful in deployment.

                  D Offline
                  D Offline
                  DerReisende
                  wrote on last edited by
                  #29

                  @JoeCFD If you gonna take a look here what c++20 features are supported by Apple's clang you are going to start crying and wishing you could have VC++ on macOS :D

                  J.HilkJ 1 Reply Last reply
                  0
                  • D DerReisende

                    @JoeCFD If you gonna take a look here what c++20 features are supported by Apple's clang you are going to start crying and wishing you could have VC++ on macOS :D

                    J.HilkJ Offline
                    J.HilkJ Offline
                    J.Hilk
                    Moderators
                    wrote on last edited by
                    #30

                    @DerReisende said in Qt 6.3.1 painful....:

                    wishing you could have VC++ on macOS :D

                    no-one wishes to use MSVC !🤪


                    Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                    Q: What's that?
                    A: It's blue light.
                    Q: What does it do?
                    A: It turns blue.

                    JoeCFDJ 1 Reply Last reply
                    0
                    • J.HilkJ J.Hilk

                      @DerReisende said in Qt 6.3.1 painful....:

                      wishing you could have VC++ on macOS :D

                      no-one wishes to use MSVC !🤪

                      JoeCFDJ Offline
                      JoeCFDJ Offline
                      JoeCFD
                      wrote on last edited by JoeCFD
                      #31

                      @J-Hilk I liked it although I do not use it for now. I think it is a good one. You can see VS is the first one to have implemented full C++20 features.

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved