[Development] 32bit linux build of qt5.10.0 w/ webengine
Toan Pham
tpham3783 at gmail.com
Tue Jan 16 00:01:45 CET 2018
Hi all,
I found out what the problem was, as to why qtwebnegineview did not show up
on my embedded target (x86 pentium4). The problem was that on my embedded
target, I wrote my own version of udev, which did not account for folder
creation of /dev/shm when that event came in over netlink-bus. By creating
that folder manually (mkdir -p /dev/shm) first, then launch the browser,
everything begin to work as expected. So this was just a bug on my udev
process. Cheers!
On Fri, Jan 12, 2018 at 9:54 AM, Toan Pham <tpham3783 at gmail.com> wrote:
>
> I am suspecting that the reason why qtwebengineview did not render because
> it could not establish IPC connection to qtwebengineprocess. As seen in
> the error below, qtwebengineview aborted when it received unexpected number
> of bytes from the IPC initialization call (recvmsg): "unexpected number of
> handles". The second error is related to QT not able to allocate more
> memory: "FATAL:memory.cc(22)] Out of memory. size=262144". The system had
> more than 1.8G of RAM, so I do not see how it is possible.
>
>
>
> Reference: Error and stack trace of application:
>
> >> [13118:13122:0112/095238.425618:ERROR:broker_posix.cc(46)] Received
> unexpected number of handles
>
> My assumption here is that qt could not establish IPC connection with
> webengineprocess!
>
>
>
> >> [13118:13122:0112/095238.425832:WARNING:client_shared_bitmap_manager.cc(98)]
> Browser failed to allocate shared memory
> >> [13118:13122:0112/095238.425986:FATAL:memory.cc(22)] Out of memory.
> size=262144
> >> #0 0x0000412c4f36 <unknown>
> >> #1 0x0000412c4c5d <unknown>
> >> #2 0x0000412d6c4d <unknown>
>
> Obviously, bitmap manager could not allocate memory. The question is
> why? system had pretty of RAM.
>
>
>
> On Thu, Jan 11, 2018 at 12:49 PM, Toan Pham <tpham3783 at gmail.com> wrote:
>
>>
>> Thiago,
>>
>> I managed to get the build completed by performing these steps:
>>
>> 1. Followed your advise on enabling sse2 because it is a
>> hard-requirement.
>> 2. Patched libvpx heavily to disable avx+avx2/sse3+ (see attached
>> patch)
>> 3. Patched libyuv (see attached patch)
>> 4. Patched qwebengine/src/core/Makefile.gn_run to launch ninja in
>> single thread - otherwise build w/ terminate by Out-Of-Memory manager.
>> 5. Used 32bit native linker even though you recommended a 64bit linker.
>>
>> Step# 2 and 3 were needed because the compiler I was using was optimized
>> for pentium4, it wouldn't be able to compile/link-in SIMD instructions
>> beyond SSE2.
>>
>>
>> After all that hard work, minimal webengine browser (located at
>> qtwebengine/examples/webengine/minimal) did not show anything when I
>> launched it (see attached screenshot). I also launched the same browser
>> which worked fine under lxc-ubuntu16.04-32bit; but did not show anything
>> within the chroot environment of the pentium4 build. OnPageLoad event of
>> qtwebengine showed that webpage loaded successfully; so it made me to
>> believe that this is an issue with qwebenginewidget. FYI, within the same
>> build environment, I was able to run QtWebKit from Qt-5.x a few months
>> back. Please help if you know what possibly happened to qwebengineview not
>> rendering anything on the view.
>>
>>
>> Thank you,
>>
>> TP
>>
>>
>>
>>
>> On Mon, Jan 8, 2018 at 3:21 AM, Lars Knoll <lars.knoll at qt.io> wrote:
>>
>>> >
>>> >> For me, it's quite simple:
>>> >> No (opensource/commercial) Qt CI = No (opensource/commercial) Qt
>>> >> binaries = No (opensource/commercial) support.
>>> >
>>> > No CI, see above.
>>> > No binaries, build from sources.
>>> > No support, sorry, I can't comment.
>>>
>>> Just a quick comment from TQtC’s perspective on this: We do commercially
>>> support more platforms than we create binaries for. Linux/32bit is
>>> certainly one of those.
>>>
>>> But as Thiago pointed out, those platforms are not always tested quite
>>> as well (unfortunately we can’t possibly test all combinations of OS/CPU
>>> architecture/distribution in our CI).
>>>
>>> Cheers,
>>> Lars
>>>
>>> >
>>> >> If you don't build and test on a regular basis, it can break at any
>>> >> moment without anyone noticing (and it did happened at least once)
>>> >
>>> > You're right, but given all the other permutations, we're very likely
>>> covered
>>> > at a good 99% certainty.
>>> >
>>> >> PS: In case you think I'm ranting for free here, i would like to say
>>> >> (again) that I think Qt is a great piece of (opensource/commercial)
>>> >> SW, and big thumb up to anyone behind this, The Qt Project, The Qt
>>> >> Company, Intel, ICS, KDAB, KDE, ... and everyone else, individual or
>>> >> corporate.
>>> >
>>> > We're having a constructive conversation, don't worry.
>>> >
>>> > --
>>> > Thiago Macieira - thiago.macieira (AT) intel.com
>>> > Software Architect - Intel Open Source Technology Center
>>> >
>>> > _______________________________________________
>>> > Development mailing list
>>> > Development at qt-project.org
>>> > http://lists.qt-project.org/mailman/listinfo/development
>>>
>>> _______________________________________________
>>> Development mailing list
>>> Development at qt-project.org
>>> http://lists.qt-project.org/mailman/listinfo/development
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20180115/d987a9d6/attachment.html>
More information about the Development
mailing list