Project

General

Profile

Bug #3440

wtwithqt crash and deadlock fix

Added by Anonymous about 8 years ago. Updated almost 8 years ago.

Status:
Feedback
Priority:
Normal
Assignee:
Target version:
Start date:
07/07/2014
Due date:
% Done:

0%

Estimated time:

Description

Hello!

I use wtwithqt with event loop.

I got following error message with wtwithqt when Wt session was dying:

QThread: Destroyed while thread is still running
127.0.0.1 - - [2014-Jul-07 04:42:23.207523] "POST /?wtd=768l3wTrCnOZQh0p HTTP/1.1" 200 248
qtinwt: /usr/include/boost/thread/pthread/pthread_mutex_scoped_lock.hpp:26: boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_sco
ped_lock(pthread_mutex_t*): Assertion `!pthread_mutex_lock(m)' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffaa982700 (LWP 11715)]
0x00007ffff2e863a9 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#0  0x00007ffff2e863a9 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff2e894c8 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff2e7f4c6 in __assert_fail_base () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007ffff2e7f572 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x0000000000452691 in boost::pthread::pthread_mutex_scoped_lock::pthread_mutex_scoped_lock(pthread_mutex_t*) ()
#5  0x0000000000452b8f in boost::condition_variable_any::notify_one() ()
#6  0x0000000000451fb5 in Wt::DispatchThread::signalDone() ()
#7  0x0000000000451e4d in Wt::DispatchThread::run() () (DispatchThread.C, line 72)
#8  0x00007ffff45f4d0b in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007ffff7bc8062 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007ffff2f36c1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

I propose the following patch for this:

WQApplication.C, add "thread_->wait();" before "delete thread_;".

This seems to work.

#1

Updated by Koen Deforche almost 8 years ago

  • Status changed from New to InProgress
  • Assignee set to Koen Deforche
  • Target version set to 3.3.4
#2

Updated by Koen Deforche almost 8 years ago

  • Status changed from InProgress to Feedback

I can't reproduce this issue. What version of Wt are you using?

My version already has 'thread*->wait()' before 'delete thread*' ?

The wtwithqt got some fixes in Wt 3.3.3

Also available in: Atom PDF