Re: GIMP help shouldn't need execstack, should it?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dominick Grift:
> see if it works when you remove the execstack flag from help-browser
> (man execstack)

It turns out the help-browser does not have any execstack flag set.
And none of the libraries involved either.

I used strace to see what actually was done, and found out that this
happens when the process tries to mmap() some anonymous memory:

    17020 gettimeofday( <unfinished ...>
    17020 <... gettimeofday resumed> {1294488756, 742289}, NULL) = 0
    17020 mmap(NULL, 2147483648, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 <unfinished ...>
    17020 <... mmap resumed> )              = -1 EACCES (Permission denied)
    17020 --- SIGSEGV (Segmentation fault) @ 0 (0) ---

Looking a bit more (and repeating how to debug applications that fork
with gdb:-) I found that this is in the
/usr/lib64/libwebkitgtk-1.0.so.0, with the stack trace included below.

I don't know anything about webkitgtk, but strings such as "jit" in
that trace make me suspect that maybe this could be intentional.  Now
I'm not sure what to do.  Should I bug report webkitgtk.  And if so,
is there any "right" way to do just-in-time compilation, if that is
indeed what happens?  Any good pointers I could add to such a bug
report?

(gdb) bt
#0  0x00007f32c379ab13 in FixedVMPoolAllocator (this=<value optimized out>) at JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:308
#1  JSC::ExecutableAllocator::isValid (this=<value optimized out>) at JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:460
#2  0x00007f32c3706e8d in ExecutableAllocator (this=0x7f32c5243a00, globalDataType=<value optimized out>, threadStackType=JSC::ThreadStackTypeLarge) at JavaScriptCore/jit/ExecutableAllocator.h:176
#3  JSC::JSGlobalData::JSGlobalData (this=0x7f32c5243a00, globalDataType=<value optimized out>, threadStackType=JSC::ThreadStackTypeLarge) at JavaScriptCore/runtime/JSGlobalData.cpp:150
#4  0x00007f32c3707883 in JSC::JSGlobalData::create (type=JSC::ThreadStackTypeLarge) at JavaScriptCore/runtime/JSGlobalData.cpp:239
#5  0x00007f32c37078d2 in JSC::JSGlobalData::createLeaked (type=JSC::ThreadStackTypeLarge) at JavaScriptCore/runtime/JSGlobalData.cpp:245
#6  0x00007f32c28f16c2 in WebCore::JSDOMWindowBase::commonJSGlobalData () at WebCore/bindings/js/JSDOMWindowBase.cpp:165
#7  0x00007f32c2942d8c in WebCore::ScriptController::getAllWorlds (worlds=...) at WebCore/bindings/js/ScriptController.cpp:181
#8  0x00007f32c2caf7f2 in WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds (this=0x7f32c5208458) at WebCore/loader/FrameLoader.cpp:3347
#9  0x00007f32c2cafa62 in WebCore::FrameLoader::receivedFirstData (this=0x7f32c5208458) at WebCore/loader/FrameLoader.cpp:617
#10 0x00007f32c2ca8eb8 in WebCore::DocumentWriter::setEncoding (this=<value optimized out>, name=..., userChosen=false) at WebCore/loader/DocumentWriter.cpp:236
#11 0x00007f32c2c9cd26 in WebCore::DocumentLoader::commitData (this=0x7f32c520b800, bytes=0x1860190 "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\";>\n<html xmlns=\"http://www";..., length=8192) at WebCore/loader/DocumentLoader.cpp:305
#12 0x00007f32c30c93c5 in WebKit::FrameLoaderClient::committedLoad (this=0x7f32c51f7b40, loader=0x7f32c520b800, data=0x1860190 "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\";>\n<html xmlns=\"http://www";..., length=8192) at WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:253
#13 0x00007f32c2c9dc06 in WebCore::DocumentLoader::commitLoad (this=0x7f32c520b800, data=0x1860190 "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\";>\n<html xmlns=\"http://www";..., length=8192) at WebCore/loader/DocumentLoader.cpp:292
#14 0x00007f32c2ced7c1 in WebCore::ResourceLoader::didReceiveData (this=0x7f32c5238680, data=0x1860190 "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\";>\n<html xmlns=\"http://www";..., length=8192, lengthReceived=8192, allAtOnce=<value optimized out>) at WebCore/loader/ResourceLoader.cpp:262
#15 0x00007f32c2cda015 in WebCore::MainResourceLoader::didReceiveData (this=0x7f32c5238680, data=0x1860190 "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\";>\n<html xmlns=\"http://www";..., length=8192, lengthReceived=8192, allAtOnce=false) at WebCore/loader/MainResourceLoader.cpp:435
#16 0x00007f32c2cebcfa in WebCore::ResourceLoader::didReceiveData (this=0x7f32c5238680, data=0x1860190 "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\";>\n<html xmlns=\"http://www";..., length=8192, lengthReceived=<value optimized out>) at WebCore/loader/ResourceLoader.cpp:415
#17 0x00007f32c30a5b3a in WebCore::readCallback (source=<value optimized out>, asyncResult=0x1846aa0, data=0x0) at WebCore/platform/network/soup/ResourceHandleSoup.cpp:818
#18 0x00007f32bff90579 in ?? () from /lib64/libgio-2.0.so.0
#19 0x00007f32bff9f258 in ?? () from /lib64/libgio-2.0.so.0
#20 0x00007f32bf41ce33 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#21 0x00007f32bf41d610 in ?? () from /lib64/libglib-2.0.so.0
#22 0x00007f32bf41dc82 in g_main_loop_run () from /lib64/libglib-2.0.so.0
#23 0x00007f32c1f970b7 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
#24 0x0000000000406f85 in run (name=<value optimized out>, nparams=5, param=0x154f8f0, nreturn_vals=<value optimized out>, return_vals=<value optimized out>) at help-browser.c:163
#25 0x00007f32c4cd4ae6 in gimp_proc_run (info=<value optimized out>, argc=<value optimized out>, argv=<value optimized out>) at gimp.c:1917
#26 gimp_loop (info=<value optimized out>, argc=<value optimized out>, argv=<value optimized out>) at gimp.c:1751
#27 gimp_main (info=<value optimized out>, argc=<value optimized out>, argv=<value optimized out>) at gimp.c:487
#28 0x00007f32bee38e7d in __libc_start_main () from /lib64/libc.so.6
#29 0x0000000000406099 in _start ()

Attachment: pgpP9TbTLvGaz.pgp
Description: PGP signature

--
selinux mailing list
selinux@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/selinux

[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux