I've been working this the past fews days and no progress. The application 
locks up to the point I get a Force quit or wait dialog. It seems to be locked 
in the file reading part.

The first header and part of a file makes it out, but it locks up exactly 80k 
into the first file... every time. The proxy eventually times out and sends 
what it has. I think this is a bug in Qt.

When I pause it when it is dead locked, I get:
0       __GI___fxstat           37      0x7ffff5529044  
1       ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             
0x7ffff5f7e767  
2       ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             
0x7ffff5f892e2  
3       ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             
0x7ffff5f75079  
4       QFileDevice::size() const       
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             0x7ffff5f1c720  
5       ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Network.so.5          
0x7ffff64fc0c0  
6       ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Network.so.5          
0x7ffff64fc91c  
7       QIODevice::read(char*, long long)       
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             0x7ffff5f231ac  
8       ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             
0x7ffff5f26ec6  
9       ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Network.so.5          
0x7ffff64e3d05  
10      ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Network.so.5          
0x7ffff6578745  
11      QObject::event(QEvent*) /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5     
        0x7ffff602a326  
12      QApplicationPrivate::notify_helper(QObject*, QEvent*)   
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Widgets.so.5          0x7ffff76b08f4  
13      QApplication::notify(QObject*, QEvent*) 
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Widgets.so.5          0x7ffff76b4506  
14      QCoreApplication::notifyInternal(QObject*, QEvent*)     
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             0x7ffff5ff5c84  
15      QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)  
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             0x7ffff5ff8868  
16      ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             
0x7ffff6050123  
17      g_main_context_dispatch /lib/x86_64-linux-gnu/libglib-2.0.so.0          
0x7ffff4d163b6  
18      ??      /lib/x86_64-linux-gnu/libglib-2.0.so.0          0x7ffff4d16708  
19      g_main_context_iteration        /lib/x86_64-linux-gnu/libglib-2.0.so.0  
        0x7ffff4d167ac  
20      
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)      
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             0x7ffff60505b3  
...     <More>  
                        
 or

0       read            81      0x7ffff55296bd  
1       ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             
0x7ffff5f754e0  
2       ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             
0x7ffff5f8848e  
3       QFileDevice::readData(char*, long long) 
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             0x7ffff5f1bd43  
4       QIODevice::read(char*, long long)       
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             0x7ffff5f2340f  
5       ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Network.so.5          
0x7ffff64fc17e  
6       ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Network.so.5          
0x7ffff64fca72  
7       QIODevice::read(char*, long long)       
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             0x7ffff5f231ac  
8       ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             
0x7ffff5f26ec6  
9       ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Network.so.5          
0x7ffff64e3d05  
10      ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Network.so.5          
0x7ffff6578745  
11      QObject::event(QEvent*) /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5     
        0x7ffff602a326  
12      QApplicationPrivate::notify_helper(QObject*, QEvent*)   
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Widgets.so.5          0x7ffff76b08f4  
13      QApplication::notify(QObject*, QEvent*) 
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Widgets.so.5          0x7ffff76b4506  
14      QCoreApplication::notifyInternal(QObject*, QEvent*)     
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             0x7ffff5ff5c84  
15      QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)  
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             0x7ffff5ff8868  
16      ??      /opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             
0x7ffff6050123  
17      g_main_context_dispatch /lib/x86_64-linux-gnu/libglib-2.0.so.0          
0x7ffff4d163b6  
18      ??      /lib/x86_64-linux-gnu/libglib-2.0.so.0          0x7ffff4d16708  
19      g_main_context_iteration        /lib/x86_64-linux-gnu/libglib-2.0.so.0  
        0x7ffff4d167ac  
20      
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)      
/opt/Qt5.4.0/5.4/gcc_64/lib/libQt5Core.so.5             0x7ffff60505b3  
...     <More>                          

I would appreciate any tips on how to debug this. Qt 5.4.0



> Sent: Friday, December 12, 2014 at 1:27 PM
> From: "Jason H" <jh...@gmx.com>
> To: "interest@qt-project.org" <interest@qt-project.org>
> Subject: [Interest] QHttpMultiPart not working.
>
> I am trying to sendmultiple files in a multiart message. I've adapted the 
> example, and there is never a boundary or content put out for any part.
> 
> First the code:
>       QHttpMultiPart *multiPart = new 
> QHttpMultiPart(QHttpMultiPart::FormDataType);
> 
>       foreach (QVariant v, filenames) {
>               QString filename = v.toString();
> 
>               QString shortFilename;
>               if (filename.contains("/"))
>                       shortFilename = 
> filename.mid(filename.lastIndexOf("/")+1);
>               else
>                       shortFilename = filename;
> 
>               QString mimeType;
>               if (filename.endsWith(".png"))
>                       mimeType = "image/png";
>               else if (filename.endsWith(".jpg") || 
> filename.endsWith(".jpeg"))
>                       mimeType = "image/jpeg";
> 
>               QFile *file = new QFile(filename);
>               if (file->open(QIODevice::ReadOnly)){
>                       QHttpPart imagePart;
>                       imagePart.setHeader(QNetworkRequest::ContentTypeHeader, 
> QVariant(mimeType));
>                       
> imagePart.setHeader(QNetworkRequest::ContentDispositionHeader, 
> QVariant(QString("form-data; name=\"%1\"").arg(shortFilename)));
>                       imagePart.setBodyDevice(file);
>                       file->setParent(multiPart); // we cannot delete the 
> file now, so delete it with the multiPart
>                       multiPart->append(imagePart);
>                       qDebug() << "appended imgePart" << filename << 
> shortFilename;
>               } else {
>                       qDebug() << Q_FUNC_INFO << "Cannot open file" << 
> filename;
>               }
>       } // foreach
>       QNetworkReply *reply =_nam.post(QNetworkRequest(url), multiPart);
>       multiPart->setParent(reply);
>       connect(reply, SIGNAL(uploadProgress(qint64,qint64)), this, 
> SLOT(completed(qint64,qint64)));
>
> 
> Next, the output:
> --start---
> POST /files HTTP/1.1
> Content-Type: multipart/form-data; 
> boundary="boundary_.oOo._MTk2MDQ2MTg0Mg==NzYxMjMyNTgyNDQ5NDA2MDk="
> MIME-Version: 1.0
> Content-Length: 407
> Connection: Keep-Alive
> Accept-Encoding: gzip, deflate
> Accept-Language: en-US,*
> User-Agent: Mozilla/5.0
> Host: localhost:10000
> 
> --end----
> 
> There are no parts sent.
> 
> Any idea why?
> 
> Thanks!
> _______________________________________________
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
> 
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to