Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-110888

Crash in QHttpNetworkConnectionChannel::sendRequest

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • None
    • 5.6.3
    • Network: HTTP
    • None
    • imx6 arm processor running 32 bit linux
       uname -a
      Linux eclipse 5.4.195-rt74 #11 SMP PREEMPT_RT Wed Feb 1 19:57:00 GMT 2023 armv7l GNU/Linux
    • Linux/Other display system

    Description

      I'm getting  crash in QHttpNetworkConnectionChannel::sendRequest(). It is a very sporadic issues. Seen only a handful number of times.

      I use http wrappers exposed by qt network library to send Requests and get the responses from Server. The communication works fine and the system is stable almost all the time, only a few times we have seen the crash and the call stack is always consistent. I see these kind of issues mentioned multiple times in QT JIRA.

      Is this a known issue and being worked upon?
      Please let me know if any additional information is required to further work on this issue.

      call stack:

      Crash reason:  SIGSEGV /0x00000000
      Crash address: 0x0
      Process uptime: not availableThread 57 (crashed)
      0  libQt5Network.so.5.6.3!QHttpNetworkConnectionChannel::sendRequest() + 0x8
           r0 = 0x00000000    r1 = 0x00000000    r2 = 0x00000000    r3 = 0x6067a4b0
           r4 = 0x60a503f0    r5 = 0x00000000    r6 = 0x00000000    r7 = 0x04736c48
           r8 = 0x04a79300    r9 = 0x04815bb8   r10 = 0x6d398750   r12 = 0x6f3d66ac
           fp = 0x47180be4    sp = 0x47180988    lr = 0x6f42411c    pc = 0x6f4261e8
          Found by: given as instruction pointer in context    Stack contents:
           47180988 f0 03 a5 60 1c 41 42 6f                          ...`.ABo        
          Possible instruction pointers:
           *(0x4718098c) = 0x6f42411c <QHttpNetworkConnectionPrivate::_q_startNextRequest()> [ : 0 + 0x6f42411c] 1  libQt5Network.so.5.6.3!QHttpNetworkConnectionPrivate::_q_startNextRequest() + 0x8e
           sp = 0x47180990    pc = 0x6f42411c
          Found by: stack scanning    Stack contents:
           47180990 6c 08 b0 60 1f 00 00 00 d8 f2 67 60 b8 5b 81 04  l..`......g`.[..
           471809a0 50 87 39 6d b8 48 42 6f                          P.9m.HBo        
          Possible instruction pointers:
           *(0x471809a4) = 0x6f4248b8 <QHttpNetworkConnection::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)> [ : 0 + 0x6f4248b8] 2  libQt5Network.so.5.6.3!QHttpNetworkConnection::sendRequest(QHttpNetworkRequest const&) + 0xe
           sp = 0x471809a8    pc = 0x6f4248b8
          Found by: stack scanning    Stack contents:
           471809a8 48 6c 73 04 f0 48 42 6f                          Hls..HBo        
          Possible instruction pointers:
           *(0x471809ac) = 0x6f4248f0 <QHttpNetworkConnection::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)> [ : 0 + 0x6f4248f0] 3  libQt5Network.so.5.6.3!QHttpNetworkConnection::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 0x36
           sp = 0x471809b0    pc = 0x6f4248f0
          Found by: stack scanning    Stack contents:
           471809b0 00 c0 be 6e 09 00 00 00 01 00 00 00 b8 5b 81 04  ...n.........[..
           471809c0 50 87 39 6d 98 7f 20 6f                          P.9m.. o        
          Possible instruction pointers:
           *(0x471809c4) = 0x6f207f98 <QMetaCallEvent::placeMetaCall(QObject*)> [ : 0 + 0x6f207f98] 4  libQt5Core.so.5.6.3!QMetaCallEvent::placeMetaCall(QObject*) + 0x82
           sp = 0x471809c8    pc = 0x6f207f98
          Found by: stack scanning    Stack contents:
           471809c8 c8 3a 4d 6f                                      .:Mo            
          Possible instruction pointers:
           *(0x471809c8) = 0x6f4d3ac8 <QNativeSocketEngine::read(char*, long long)> [ : 0 + 0x6f4d3ac8] 5  libQt5Network.so.5.6.3!QNativeSocketEngine::bytesToWrite() const + 0xa
           sp = 0x471809cc    pc = 0x6f4d3ac8
          Found by: stack scanning    Stack contents:
           471809cc 68 55 39 6d 50 87 39 6d b8 5b 81 04 00 50 3d 6f  hU9mP.9m.[...P=o
           471809dc d8 b1 20 6f                                      .. o            
          Possible instruction pointers:
           *(0x471809dc) = 0x6f20b1d8 <QObject::event(QEvent*)> [ : 0 + 0x6f20b1d8] 6  libQt5Core.so.5.6.3!QObject::event(QEvent*) + 0x196
           sp = 0x471809e0    pc = 0x6f20b1d8
          Found by: stack scanning    Stack contents:
           471809e0 5e 00 00 00 00 00 00 00 00 00 00 00 14 e8 02 6f  ^..............o
          Possible instruction pointers:
           *(0x471809ec) = 0x6f02e814 <QArrayData::deallocate(QArrayData*, unsigned int, unsigned int)> [ : 0 + 0x6f02e814] 7  libQt5Core.so.5.6.3!QArrayData::deallocate(QArrayData*, unsigned int, unsigned int) + 0x1a
           sp = 0x471809f0    pc = 0x6f02e814
          Found by: stack scanning    Stack contents:
           471809f0 68 55 39 6d b4 35 03 6f                          hU9m.5.o        
          Possible instruction pointers:
           *(0x471809f4) = 0x6f0335b4 <QByteArray::clear()> [ : 0 + 0x6f0335b4] 8  libQt5Core.so.5.6.3!QByteArray::clear() + 0x86
           sp = 0x471809f8    pc = 0x6f0335b4
          Found by: stack scanning    Stack contents:
           471809f8 00 c5 39 6d 40 d1 7b 04 06 00 00 00 f8 f6 08 6f  ..9m@.{........o
          Possible instruction pointers:
           *(0x47180a04) = 0x6f08f6f8 <QRingBuffer::clear()> [ : 0 + 0x6f08f6f8] 9  libQt5Core.so.5.6.3!QRingBuffer::clear() + 0x8e
           sp = 0x47180a08    pc = 0x6f08f6f8
          Found by: stack scanning    Stack contents:
           47180a08 06 00 00 00 6c 55 39 6d 6c 55 39 6d 6c 55 39 6d  ....lU9mlU9mlU9m
           47180a18 40 c4 39 6d 2c 5e 4c 6f                          @.9m,^Lo        
          Possible instruction pointers:
           *(0x47180a1c) = 0x6f4c5e2c <QAbstractSocket::disconnectFromHost()> [ : 0 + 0x6f4c5e2c]10  libQt5Network.so.5.6.3!QAbstractSocket::disconnectFromHost() + 0xba
           sp = 0x47180a20    pc = 0x6f4c5e2c
          Found by: stack scanning    Stack contents:
           47180a20 c4 0b 18 47 00 00 00 00 40 d1 7b 04 00 93 a7 04  ...G....@.{.....
           47180a30 40 c4 39 6d 00 00 00 00 00 00 00 00 70 6f 4c 6f  @.9m........poLo
          Possible instruction pointers:
           *(0x47180a3c) = 0x6f4c6f70 <QAbstractSocketPrivate::canReadNotification()> [ : 0 + 0x6f4c6f70]11  libQt5Network.so.5.6.3!QAbstractSocketPrivate::canReadNotification() + 0x162
           sp = 0x47180a40    pc = 0x6f4c6f70
          Found by: stack scanning    Stack contents:
           47180a40 30 60 86 04 6c 44 4d 6f                          0`..lDMo        
          Possible instruction pointers:
           *(0x47180a44) = 0x6f4d446c <QNativeSocketEngine::setReadNotificationEnabled(bool)> [ : 0 + 0x6f4d446c]12  libQt5Network.so.5.6.3!QNativeSocketEngine::isReadNotificationEnabled() const + 0x22
           sp = 0x47180a48    pc = 0x6f4d446c
          Found by: stack scanning    Stack contents:
           47180a48 49 01 00 00 c0 d6 41 04 c4 0b 18 47 00 50 3d 6f  I.....A....G.P=o
           47180a58 48 6c 73 04 00 93 a7 04 5e 00 00 00 00 00 00 00  Hls.....^.......
           47180a68 44 0b 18 47 08 be 4c 6f                          D..G..Lo        
          Possible instruction pointers:
           *(0x47180a6c) = 0x6f4cbe08 <non-virtual thunk to QAbstractSocketPrivate::readNotification()> [ : 0 + 0x6f4cbe08]13  libQt5Network.so.5.6.3!non-virtual thunk to QAbstractSocketPrivate::readNotification() + 0xa
           sp = 0x47180a70    pc = 0x6f4cbe08
          Found by: stack scanning    Stack contents:
           47180a70 c0 d6 41 04 88 7d 4b 6f                          ..A..}Ko        
          Possible instruction pointers:
           *(0x47180a74) = 0x6f4b7d88 <QAbstractSocketEngine::readNotification()> [ : 0 + 0x6f4b7d88]14  libQt5Network.so.5.6.3!QAbstractSocketEngine::readNotification() + 0x1e
           sp = 0x47180a78    pc = 0x6f4b7d88
          Found by: stack scanning    Stack contents:
           47180a78 c0 d6 41 04 5c 46 4d 6f                          ..A.\FMo        
          Possible instruction pointers:
           *(0x47180a7c) = 0x6f4d465c <QReadNotifier::event(QEvent*)> [ : 0 + 0x6f4d465c]15  libQt5Network.so.5.6.3!QReadNotifier::event(QEvent*) + 0x26
           sp = 0x47180a80    pc = 0x6f4d465c
          Found by: stack scanning    Stack contents:
           47180a80 c0 d6 41 04 c4 c0 1d 6f                          ..A....o        
          Possible instruction pointers:
           *(0x47180a84) = 0x6f1dc0c4 <QCoreApplicationPrivate::notify_helper(QObject*, QEvent*)> [ : 0 + 0x6f1dc0c4]16  libQt5Core.so.5.6.3!QCoreApplicationPrivate::notify_helper(QObject*, QEvent*) + 0x6a
           sp = 0x47180a88    pc = 0x6f1dc0c4
          Found by: stack scanning    Stack contents:
           47180a88 c0 d6 41 04 50 87 39 6d 00 00 00 00 00 00 00 00  ..A.P.9m........
           47180a98 ff ff ff ff 01 00 00 00 01 00 00 00 00 00 00 00  ................
           47180aa8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
           47180ab8 00 00 00 00 a0 c2 1d 6f                          .......o        
          Possible instruction pointers:
           *(0x47180abc) = 0x6f1dc2a0 <QCoreApplication::notify(QObject*, QEvent*)> [ : 0 + 0x6f1dc2a0]17  libQt5Core.so.5.6.3!QCoreApplication::notify(QObject*, QEvent*) + 0x2e
           sp = 0x47180ac0    pc = 0x6f1dc2a0
          Found by: stack scanning    Stack contents:
           47180ac0 c0 d6 41 04 68 39 11 70                          ..A.h9.p        
          Possible instruction pointers:
           *(0x47180ac4) = 0x70113968 <QGuiApplication::notify(QObject*, QEvent*)> [ : 0 + 0x70113968]18  libQt5Gui.so.5.6.3!QGuiApplication::notify(QObject*, QEvent*) + 0x2e
           sp = 0x47180ac8    pc = 0x70113968
          Found by: stack scanning    Stack contents:
           47180ac8 f0 58 be 7e f0 58 be 7e 08 0b 18 47 48 0b 18 47  .X.~.X.~...GH..G
           47180ad8 60 0b 18 47 bc 0b 54 76                          `..G..Tv        
          Possible instruction pointers:
           *(0x47180adc) = 0x76540bbc <boost::chrono::steady_clock::now()> [ : 0 + 0x76540bbc]
       

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              manordheim Mårten Nordheim
              ravipathuri RAVIVARMA P
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes