[Development] QProcess fork() failure and overcommit

Kevin Funk kfunk at kde.org
Tue Mar 7 17:29:54 CET 2017


On Tuesday, 7 March 2017 16:42:31 CET René J.V. Bertin wrote:
> On Tuesday March 7 2017 14:20:18 Simon Hausmann wrote:
> Hi
> 
> > But for example if KDevelop ends up using QtScript and you're on a 64-bit
> > system, then we end up allocating 2GB of address space, which the kernel
> > has to copy (in terms of page tables) when forking. It could be that
> > you're short of that.
> That could be, but if my understanding of overcommit_memory=2 is correct I
> should still have enough margin for even that. Unless there's an additional
> per-process limit that comes into play?
> >We should probably mark these address spaces with MADV_DONTFORK.
> 
> I suppose I could test such a change, if that helps.
> 
> >But can you check first if KDevelop ends up using QtScript by chance?
> 
> The CMake project manager appears to use QScript for evaluating math
> expressions but even a session that doesn't load the corresponding plugin
> ends up loading the QtScript library according to its /proc/.../maps file.
> If Kevin picks up on this thread he may be able to say more about the paths
> through which KDevelop ends up using QtScript.

Here it is:

% lddtree .../libKDevPlatformShell.so
  (snip)
    libKDevPlatformLanguage.so.10 => .../libKDevPlatformLanguage.so.10
        libGrantlee_Templates.so.5 => .../libGrantlee_Templates.so.5
            libQt5Script.so.5 => .../libQt5Script.so.5

It's pulled in by the Grantlee library. KF5::TextEditor depends on Qt5::Script 
as well.

Regards,
Kevin

> %> fgrep -i 5script /proc/24536/maps
> 7fd00cc9e000-7fd00cef5000 r-xp 00000000 00:27 37325                     
> /opt/local/libexec/qt5/lib/libQt5Script.so.5.8.0 7fd00cef5000-7fd00d0f5000
> ---p 00257000 00:27 37325                     
> /opt/local/libexec/qt5/lib/libQt5Script.so.5.8.0 7fd00d0f5000-7fd00d107000
> r--p 00257000 00:27 37325                     
> /opt/local/libexec/qt5/lib/libQt5Script.so.5.8.0 7fd00d107000-7fd00d109000
> rw-p 00269000 00:27 37325                     
> /opt/local/libexec/qt5/lib/libQt5Script.so.5.8.0
> 
> R.
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development


-- 
Kevin Funk | kfunk at kde.org | http://kfunk.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20170307/d4f60496/attachment.sig>


More information about the Development mailing list