Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
qtws26_logo

The Qt Event of the Year: Qt World Summit 2026

Save Your Spot >
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. QtConcurrent::run Access violation reading location
Qt 6.12 LTS is out! See what's new in the release blog

QtConcurrent::run Access violation reading location

Scheduled Pinned Locked Moved General and Desktop
36 Posts 2 Posters 17.2k Views 1 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.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #11

    Since it's a pointer:

    @if (reply)@

    Unless something is wrong, reply should either be NULL or pointing to a valid QNetworkReply (AFAIK, It shouldn't be NULL, but it's better to check to ensure that's not that that is causing you the access violation)

    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
    • ? Offline
      ? Offline
      A Former User
      wrote on last edited by
      #12

      I edit the code
      @QString MainWindow::doRequest(QString url)
      {
      QString out;
      QTimer timer;
      QNetworkAccessManager* manager = new QNetworkAccessManager;
      QEventLoop loop;
      QObject::connect(&timer,SIGNAL(timeout()),&loop,SLOT(quit()));
      QObject::connect(manager,SIGNAL(finished(QNetworkReply*)),&loop,SLOT(quit()));
      QNetworkReply* reply = manager->get(QNetworkRequest(QUrl(url)));
      timer.start(TIMEOUT);
      loop.exec();
      if(!timer.isActive())
      {
      reply->abort();
      }
      else
      {
      if(!reply) ::Beep(1000,1000);
      if(reply->error() == QNetworkReply::NoError)
      {
      out = QString::QString( reply->readAll() );
      }
      reply->close();
      }
      reply->deleteLater();
      manager->deleteLater();
      return out;
      }@

      And i got error
      !http://clip2net.com/clip/m0/1373183493-clip-9kb.png(1)!

      So, i never heard beep

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #13

        I would check reply sooner, you might be calling abort on an invalid reply (though it would be strange)

        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
        • ? Offline
          ? Offline
          A Former User
          wrote on last edited by
          #14

          I edit
          @loop.exec();
          if(!reply)
          {
          ::Beep(10000,10000);
          exit(123456);
          }@
          But i got same violation error
          Maybe I need to create exeptions?

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #15

            Are you sure everything you are accessing is valid (like links[i]) ?

            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
            • ? Offline
              ? Offline
              A Former User
              wrote on last edited by
              #16

              I think yes, i get errors in the middle of work process

              1 Reply Last reply
              0
              • ? Offline
                ? Offline
                A Former User
                wrote on last edited by
                #17

                I runned it from cdb debugger. I see many errors, its showed at startup
                @:0: предупреждение: Exception at 0x7c812aeb, code: 0x6ba: RPC server unavailable, flags=0x1 (execution cannot be continued) (first chance)

                :0: предупреждение: Exception at 0x7c812aeb, code: 0x6ba: RPC server unavailable, flags=0x1 (execution cannot be continued) (first chance)

                :0: предупреждение: Exception at 0x7c812aeb, code: 0x406d1388: Startup complete, flags=0x0 (first chance)

                :0: предупреждение: Exception at 0x7c812aeb, code: 0x6ba: RPC server unavailable, flags=0x1 (execution cannot be continued) (first chance)

                :0: предупреждение: Exception at 0x7c812aeb, code: 0x6a6: Invalid RPC server, flags=0x1 (execution cannot be continued) (first chance)@

                So, on my pc RPC service is runned

                1 Reply Last reply
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #18

                  Then are you sure your server is running and that you can make as much connection that you are trying ?

                  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
                  • ? Offline
                    ? Offline
                    A Former User
                    wrote on last edited by
                    #19

                    Oh, i haven't server, i have only this code.
                    And i don't click any buttons, i only run application and see errors

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #20

                      Then I would :

                      • First step: ensure the server is responding
                      • Second step: try to access the server with one query
                      • Third step: try with several queries in a row
                      • Forth step: Try to parallelize your queries

                      That might include refactoring your code so that for example you'll use QtConcurrent::map to call your function with all the queries from a QList rather than accessing them yourself

                      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
                      • ? Offline
                        ? Offline
                        A Former User
                        wrote on last edited by
                        #21

                        I have more than 100 servers, i can't do it ;(
                        But when i use 1 thread all works correctly. Sometimes some servers are disabled

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #22

                          Then I would refactor the code so that it doesn't use a while loop. Create a QList of queries and either use map or mapped (depending on wether you return a value or not, I think you do return a value)

                          That would leave the entire parallelization to Qt and you'll only have to worry about retrieving the data.

                          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
                          • ? Offline
                            ? Offline
                            A Former User
                            wrote on last edited by
                            #23

                            !http://clip2net.com/clip/m0/1373740625-clip-47kb.png(1)!
                            I launched it from debugger and i see it >_>
                            So many bugs, its increases on 5-10 every second

                            1 Reply Last reply
                            0
                            • SGaistS Offline
                              SGaistS Offline
                              SGaist
                              Lifetime Qt Champion
                              wrote on last edited by
                              #24

                              Did you try starting with only one thread ? And then parallelizing with two and only then more ?

                              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
                              • ? Offline
                                ? Offline
                                A Former User
                                wrote on last edited by
                                #25

                                Yes, i started in one thread. I found the bug in doRequest method.
                                I don't know, but he's somewhere in filing the request
                                But why? I do all correctly

                                1 Reply Last reply
                                0
                                • SGaistS Offline
                                  SGaistS Offline
                                  SGaist
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #26

                                  In that case, you can always use a request known to work for testing that part of your code while debugging the request build part

                                  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
                                  • ? Offline
                                    ? Offline
                                    A Former User
                                    wrote on last edited by
                                    #27

                                    I get critical exeption and warnings in
                                    @loop.exec();@

                                    And many warnings in
                                    @QNetworkReply* reply = manager->get(QNetworkRequest(QUrl(url)));@

                                    1 Reply Last reply
                                    0
                                    • SGaistS Offline
                                      SGaistS Offline
                                      SGaist
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #28

                                      What are the exceptions and warnings ?

                                      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
                                      • ? Offline
                                        ? Offline
                                        A Former User
                                        wrote on last edited by
                                        #29

                                        Those that are in the picture

                                        1 Reply Last reply
                                        0
                                        • SGaistS Offline
                                          SGaistS Offline
                                          SGaist
                                          Lifetime Qt Champion
                                          wrote on last edited by
                                          #30

                                          Did you do a test with a more conventional setup ? I mean have a simple application that creates one QNetworkAccessManager, do one request and get the answer in a slot ?

                                          Seeing that each time you have a RPC server not available warning, that leads me to think that there is something wrong when communicating with the servers.

                                          Like I said before, start small, validate that one query works in a standard setup. Then once that is good, do the same with the "blocking" event loop and then only start multi-threading

                                          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
                                          • Unsolved