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. [QtSerialPort] Simple example crashes

[QtSerialPort] Simple example crashes

Scheduled Pinned Locked Moved General and Desktop
25 Posts 6 Posters 20.5k 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.
  • M Offline
    M Offline
    M4chin3
    wrote on last edited by
    #15

    Hi everybody,

    finally i got ActivePerl installed on the Win7 machine. Sadly it didn't change anything for me :-(. I compiled and installed QtSerialPort both ways: via console and via QtCreator and tested it.

    The programm still crashes in the same behaviour as described before.

    This is the crash track in detail:
    main (QSerialPortInfo::availablePorts()) -> qserialportinfo_win.cpp;line 166 (QString s = devicePortName(deviceInfoSet, &deviceInfoData);) -> qserialportinfo_win.cpp;line 132 (QByteArray data(dataSize, 0);)

    The construction of the QByteArray fails somehow and this creates the Qt5Core.dll error. The question is why?

    1 Reply Last reply
    0
    • M Offline
      M Offline
      M4chin3
      wrote on last edited by
      #16

      Hi,

      okay i' one step further:

      WinXP 32bit:
      Status:
      Couldn't find any serial ports but did not crash like Win7 Pro 64bit. QtSerialPort compiled with Strawberry Perl or ActivePerl didn't matter.

      Problem:
      Administrator priviliges are needed otherwise "::SetupDiEnumDeviceInfo(deviceInfoSet, index++, &deviceInfoData)" returns true but the &deviceInfoData is emtpy respectivly the device name is empty (QString s = devicePortName(deviceInfoSet, &deviceInfoData))

      I'll try to get administrator priviliges tomorrow to try this on Windows7. At least i know how the serial ports are searched on windows systems.

      Will this be changed? Otherwise users of my programm will also need administrator priviliges right? Wouldn't be that good.

      1 Reply Last reply
      0
      • K Offline
        K Offline
        kuzulis
        Qt Champions 2020
        wrote on last edited by
        #17

        @M4chin3,

        bq. The question is why?

        I don't know. For a solution I need to reproduce at itself crash - but I can't.

        bq. Otherwise users of my programm will also need administrator priviliges right?

        No. Privileges of the administrator aren't required. Most likely you have any other restrictions on your user account.

        1 Reply Last reply
        0
        • M Offline
          M Offline
          M4chin3
          wrote on last edited by
          #18

          Hello everyone,

          in the last weeks i had no time for further investigation about the error. Today i opened the example project again, ran it and it works! I Didn't change anything in the code and my priviliges on this machine are the same than i posted the last time.

          I assume that in the time i didn't touch the project the IT department did a windows update via their updatemanagement that fixed my problem. I'll contact them for a list of updates they did in this time. I hope i get a list from them. Maybe i find a patch that could be related to my error.

          I don't have any other explanation for this.

          1 Reply Last reply
          0
          • A Offline
            A Offline
            artem_pisarenko
            wrote on last edited by
            #19

            Similar issue.

            Using QtSerialPort built from current 'stable' branch (50ab4d) causes simple example (from wiki) to crash in first QSerialPort::open() with segmentation fault (application terminates with exit code 255). Using QtSerialPort built from current 'release' branch (84df6e) works ok.

            My setup is:
            Win7 Pro x64
            Qt 4.8.4

            1 Reply Last reply
            0
            • A Offline
              A Offline
              artem_pisarenko
              wrote on last edited by
              #20

              Bisecting between revisions I got following results:

              • da0c6b works ok
              • 43f7c6 seems works ok but adds messages to debug output: "virtual void QSerialPort::close(): device not open"
              • 50ab4d causes crash (as described in previous post)

              (Tests was performed by reusing full rebuild cycle: <module build dir> mingw32-make clean, <module build dir> mingw32-make uninstall, clean <module build dir>, clean <app project>, run qmake on <app project>, ...)

              1 Reply Last reply
              0
              • K Offline
                K Offline
                kuzulis
                Qt Champions 2020
                wrote on last edited by
                #21

                Hi.

                Yes, I confirm it. Thx.

                1 Reply Last reply
                0
                • K Offline
                  K Offline
                  kuzulis
                  Qt Champions 2020
                  wrote on last edited by
                  #22

                  Here a patch:

                  https://codereview.qt-project.org/#change,67801

                  please try it.

                  1 Reply Last reply
                  0
                  • A Offline
                    A Offline
                    artem_pisarenko
                    wrote on last edited by
                    #23

                    Yes, it fixed issue.
                    (But there are still warnings since 43f7c6. Seems like QSerialPort destructor tries to do some finalizing work on already closed port.)

                    1 Reply Last reply
                    0
                    • K Offline
                      K Offline
                      kuzulis
                      Qt Champions 2020
                      wrote on last edited by
                      #24

                      (But there are still warnings since 43f7c6. Seems like QSerialPort destructor tries to do some finalizing work on already closed port.)

                      It is a not problem.

                      1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        djszapi
                        wrote on last edited by
                        #25

                        @JBlackArty:

                        https://codereview.qt-project.org/#change,67910

                        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