QWebEngine crash with exception code 0x80000003

QWebEngine is a new web browser engine introduced in Qt 5.4, it’s used to replace the old QWebView. QWebView is based on WebKit, while QWebEngine is based on Chromium browser, so it’s faster and supports more features.

I wrote a very simple program to test QWebEngine, following is the code:

Compiling and running is smooth. But when I tried to run this┬ádemo on another machine, it crashed, and an error dialog is shown with the message “An unknown software exception (0x80000003) has occurred at 0x023c5b7e. Click OK to terminate the program.

By chekcing the log file (debug.log) I found some helpful information:

[ERROR:icu_util.cc(154)] Couldn’t mmap D:\Qt\Qt5.4.0\5.4\msvc2013_64\icudtl.dat
[FATAL:content_main_runner.cc(719)] Check failed: base::i18n::InitializeICU()

We can see the icudtl.dat path is not correct, because it doesn’t exist at all.

To fix it we need to create a new file named “qt.conf” under the application directory, and fill it with following content:

 

(This bug is posted at https://bugreports.qt.io/browse/QTBUG-42083)