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. QSqlDatabase open() crashes when db cannot be accessed ?
Forum Updated to NodeBB v4.3 + New Features

QSqlDatabase open() crashes when db cannot be accessed ?

Scheduled Pinned Locked Moved Solved General and Desktop
qsqldatabaseqpsql
27 Posts 5 Posters 5.2k 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.
  • S Offline
    S Offline
    SGaist
    Lifetime Qt Champion
    wrote on 17 Jul 2020, 21:34 last edited by
    #21

    At the end of what loop ?

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    R 1 Reply Last reply 17 Jul 2020, 22:04
    0
    • S SGaist
      17 Jul 2020, 21:34

      At the end of what loop ?

      R Offline
      R Offline
      R-P-H
      wrote on 17 Jul 2020, 22:04 last edited by
      #22

      @SGaist said in QSqlDatabase open() crashes when db cannot be accessed ?:

      At the end of what loop ?

      It's a thread with a while loop that emits images to another window for display. The thread (with the loop) is running while the database is opened...

      1 Reply Last reply
      0
      • S Offline
        S Offline
        SGaist
        Lifetime Qt Champion
        wrote on 18 Jul 2020, 06:04 last edited by
        #23

        Some sort of splash screen ?

        In any case, it looks like that thread implementation might need a look into it to avoid future issues.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        R 1 Reply Last reply 18 Jul 2020, 15:51
        0
        • S SGaist
          18 Jul 2020, 06:04

          Some sort of splash screen ?

          In any case, it looks like that thread implementation might need a look into it to avoid future issues.

          R Offline
          R Offline
          R-P-H
          wrote on 18 Jul 2020, 15:51 last edited by
          #24

          @SGaist said in QSqlDatabase open() crashes when db cannot be accessed ?:

          Some sort of splash screen ?

          In any case, it looks like that thread implementation might need a look into it to avoid future issues.

          No, its a live video. The basic flow is like this:

          //On MainWindow Load...
          //Database class is created which contains database settings.
          //Create thread class and start the thread.
          //Thread runs a while() loop that captures an image and emits the image to MainWindow via a signal.
          //MainWindow receives the signal with the image and displays it inside a label.
          
          //User clicks a button inside MainWindow...
          //Open database using the database class.
          //Do something...
          //Close database.
          

          I don't really see anything very wrong with the above program flow. Yet having QCoreApplication::processEvents(); inside the loop breaks the database opening. Very strange.

          1 Reply Last reply
          0
          • S Offline
            S Offline
            SGaist
            Lifetime Qt Champion
            wrote on 18 Jul 2020, 16:43 last edited by
            #25

            The fact that processEvent is called in a thread is usually the sign of something off.

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            R 1 Reply Last reply 18 Jul 2020, 16:49
            0
            • S SGaist
              18 Jul 2020, 16:43

              The fact that processEvent is called in a thread is usually the sign of something off.

              R Offline
              R Offline
              R-P-H
              wrote on 18 Jul 2020, 16:49 last edited by
              #26

              @SGaist said in QSqlDatabase open() crashes when db cannot be accessed ?:

              The fact that processEvent is called in a thread is usually the sign of something off.

              It was actually being called inside the slot in MainWindow to ensure that the label renders the image. But you are correct, it shouldn't be there. Is there any danger in using it ?

              1 Reply Last reply
              0
              • S Offline
                S Offline
                SGaist
                Lifetime Qt Champion
                wrote on 15 Aug 2020, 20:56 last edited by
                #27

                I have usually seen processEvent called from the main thread directly which forces processing of events however calling it from a different thread is the first time. As you can see there's some strange interaction. I currently wonder whether you have an event that is processed by the wrong event loop.

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                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