Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Solved ASSERT failure in QList<T>::at: "index out of range"

    General and Desktop
    qlist qstringlist c++ qurl qt 5.7
    4
    24
    21687
    Loading More Posts
    • 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.
    • Qjay
      Qjay last edited by

      I have initialized current =0; in global scope .

      jsulm 1 Reply Last reply Reply Quote 0
      • jsulm
        jsulm Lifetime Qt Champion @Qjay last edited by

        @Qjay But is it changed somewhere?
        Why not just check like this?

        qDebug() << v.toStringList().size() << current;
        qDebug() << v.toStringList().at(current);
        QUrl url = v.toStringList().at(current);
        

        In such a situation this is actually the first thing to do...

        https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply Reply Quote 1
        • Qjay
          Qjay last edited by

          hey @jsulm

          i tried what you suggested

          qDebug() << v.toStringList().size() << current;
          qDebug() << v.toStringList().at(current);
          QUrl url = v.toStringList().at(current);
          

          i did this

          qDebug() << "stringlist size and current" << v.toStringList().size() << current;
                  qDebug() << "current url in stringlist" << v.toStringList().at(current);
                  QUrl url = v.toStringList().at(current);
                  qDebug() << "why break" << url;
          

          output

          stringlist size and current 33 0
          current url in stringlist   "(http://restbase.wikitolearn.org/en.wikitolearn.org/v1/media/math/render/svg/3cd95482da53d42c5f7f249454f7ee1e85cacc0c)"
          why break QUrl("")
          ""
          

          and then error

          ASSERT failure in QList<T>::at: "index out of range", file ../../Qt5.7.0/5.7/gcc_64/include/QtCore/qlist.h, line 537
          The program has unexpectedly finished.
          
          jsulm 1 Reply Last reply Reply Quote 0
          • jsulm
            jsulm Lifetime Qt Champion @Qjay last edited by

            @Qjay Why is the URL in parentheses?

            (http://restbase.wikitolearn.org/en.wikitolearn.org/v1/media/math/render/svg/3cd95482da53d42c5f7f249454f7ee1e85cacc0c)
            

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply Reply Quote 0
            • SGaist
              SGaist Lifetime Qt Champion last edited by

              Looks like you are doing a lot of parsing, replacement etc.

              The first thing I'd do, is to just ensure that you really have URLs in your list. And get rid of that QVariant parameter. It really doesn't make any sense in your use case.

              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 Reply Quote 0
              • Qjay
                Qjay last edited by Qjay

                Hello , thanks for the suggetions .

                1. yes there were useless ( ) in url . i have removed them . Now i am able to assign url to Qurl :D great!!

                2. i removed the Qvariant thing too

                now the code is

                .cpp : https://ghostbin.com/paste/vv2w7

                header file : https://ghostbin.com/paste/8z4y3

                but the assert error still exist :/

                1 Reply Last reply Reply Quote 0
                • SGaist
                  SGaist Lifetime Qt Champion last edited by

                  Still at the same place ?

                  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 Reply Quote 0
                  • Qjay
                    Qjay last edited by

                    Hey @SGaist , @jsulm , thank you it's solved now

                    To be honest i don't know why it worked :/

                    but below is the code

                    https://ghostbin.com/paste/528m6

                    1 Reply Last reply Reply Quote 0
                    • SGaist
                      SGaist Lifetime Qt Champion last edited by

                      From the looks of it, you're currently lucky.

                      I'd recommend considering refactoring and cleaning up this code. Maybe a full rewrite would even be better.

                      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 Reply Quote 0
                      • Qjay
                        Qjay last edited by

                        I too was also thinking of full rewrite but i don't have much time for that right now :/ .

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post