iovisor / iovisor/bcc

trace.py can't output full user stack trace

Open
#3,515 12 comments 1 reaction 1 assignee Claimed by @davemarchevsky View on GitHub
enhancement
Dominant language
C
Stars
22.7k
Forks
4.1k
Avg merge
10d 4h
Merged PRs (30d)
3

Description

Hi,

I captured the stack trace of the same action. But the user stack trace from trace.py is very short.

Stack traces captured with trace.py:
```
31325 22575 RenderThread kgsl_mem_alloc size is 507904
b'gpumem_alloc_entry+0x240 [kernel]'
b'gpumem_alloc_entry+0x240 [kernel]'
b'kgsl_ioctl_gpuobj_alloc+0x2c [kernel]'
b'kgsl_ioctl_helper+0x100 [kernel]'
b'kgsl_ioctl+0x48 [kernel]'
b'do_vfs_ioctl+0x378 [kernel]'
b'__arm64_sys_ioctl+0x78 [kernel]'
b'el0_svc_common+0x9c [kernel]'
b'el0_svc_handler+0x80 [kernel]'
b'el0_svc+0x8 [kernel]'
b'__ioctl+0x8 [libc.so]'
b'[unknown] [libgsl.so]'
b'ioctl_kgsl_sharedmem_alloc+0x158 [libgsl.so]'
b'gsl_memory_alloc_pure+0x5c [libgsl.so]'
b'[unknown] [libGLESv2_adreno.so]'
b'[unknown] [libGLESv2_adreno.so]'
b'[unknown] [libGLESv2_adreno.so]'
b'[unknown] [libGLESv2_adreno.so]'
b'[unknown] [libGLESv2_adreno.so]'
```
Stack traces captured with simpleperf:
```
RenderThread 22575 [005] 169653.802264: 1 kgsl:kgsl_mem_alloc:
ffffffe16bc19c50 gpumem_alloc_entry ([kernel.kallsyms])
ffffffe16bc19c4e gpumem_alloc_entry ([kernel.kallsyms])
ffffffe16bc19d12 kgsl_ioctl_gpuobj_alloc ([kernel.kallsyms])
ffffffe16bc223b6 kgsl_ioctl_helper ([kernel.kallsyms])
ffffffe16bc224be kgsl_ioctl ([kernel.kallsyms])
ffffffe16b710ad6 do_vfs_ioctl ([kernel.kallsyms])
ffffffe16b711606 __arm64_sys_ioctl ([kernel.kallsyms])
ffffffe16b49cfee el0_svc_common ([kernel.kallsyms])
ffffffe16b49cf46 el0_svc_handler ([kernel.kallsyms])
ffffffe16b484646 el0_svc ([kernel.kallsyms])
7276c7ca98 __ioctl (/apex/com.android.runtime/lib64/bionic/libc.so)
7276c39584 ioctl (/apex/com.android.runtime/lib64/bionic/libc.so)
71d588b5e4 !!!0000!3a4be7d9bfa8ce1de708d9937123e3!cb906521bd! (/vendor/lib64/libgsl.so)
71d588fc4c ioctl_kgsl_sharedmem_alloc (/vendor/lib64/libgsl.so)
71d5760048 gsl_memory_alloc_pure (/vendor/lib64/libgsl.so)
71d53335c4 !!!0000!032cab158bdf680e30677ffb9724c6!cb906521bd! (/vendor/lib64/egl/libGLESv2_adreno.so)
71d52f9a74 !!!0000!e35ea7f86ea880357b1b481ca2f0b1!cb906521bd! (/vendor/lib64/egl/libGLESv2_adreno.so)
71d542cc54 !!!0000!58cf0a22f61be0c18bfabb82068e46!cb906521bd! (/vendor/lib64/egl/libGLESv2_adreno.so)
71d542e6e4 !!!0000!115befedd67dce09304c97e11cb591!cb906521bd! (/vendor/lib64/egl/libGLESv2_adreno.so)
71d5384680 !!!0000!0e6b00ab8c4b112f9f6effa6a8b2b5!cb906521bd! (/vendor/lib64/egl/libGLESv2_adreno.so)
71d53816c8 !!!0000!4ecf3032464df959aad423cba1a73c!cb906521bd! (/vendor/lib64/egl/libGLESv2_adreno.so)
71d53a019c !!!0000!141e50cb152287019aff218176d094!cb906521bd! (/vendor/lib64/egl/libGLESv2_adreno.so)
71d53b8350 !!!0000!838e96e6042a39f699090106d8c25f!cb906521bd! (/vendor/lib64/egl/libGLESv2_adreno.so)
71d52b6c60 glTexSubImage2D (/vendor/lib64/egl/libGLESv2_adreno.so)
727407437c GrGLGpu::uploadTexData(GrGLFormat, GrColorType, int, int, unsigned int, int, int, int, int, GrColorType, GrMipLevel const*, int, GrMipMapsStatus*) (/system/lib64/libhwui.so)
7273faebdc GrGpu::writePixels(GrSurface*, int, int, int, int, GrColorType, GrColorType, GrMipLevel const*, int, bool) (/system/lib64/libhwui.so)
7273fae6f8 GrGpu::createTexture(SkISize, GrBackendFormat const&, GrRenderable, int, SkBudgeted, GrProtected, GrColorType, GrColorType, GrMipLevel const*, int) (/system/lib64/libhwui.so)
7273fe53fc GrResourceProvider::createTexture(SkISize, GrBackendFormat const&, GrColorType, GrRenderable, int, SkBudgeted, GrProtected, GrMipLevel const*, int) (/system/lib64/libhwui.so)
7273fe6220 GrResourceProvider::createTexture(SkISize, GrBackendFormat const&, GrColorType, GrRenderable, int, SkBudgeted, SkBackingFit, GrProtected, GrMipLevel const&) (/system/lib64/libhwui.so)
7273fc4414 _ZNSt3__110__function6__funcIZN15GrProxyProvider30createNonMippedProxyFromBitmapERK8SkBitmap12SkBackingFitRK15GrBackendFormat11GrColorTypeE3$_0NS_9allocatorISB_EEFN14GrSurfaceProxy18LazyCallbackResultEP18GrResourceProviderEEclEOSH_$54bc43c58c7b81871b96f5561e4dc395 (/system/lib64/libhwui.so)
7273ff2670 GrSurfaceProxyPriv::doLazyInstantiation(GrResourceProvider*) (/system/lib64/libhwui.so)
7273fc0f0c GrProxyProvider::createProxyFromBitmap(SkBitmap const&, GrMipMapped, SkBackingFit) (/system/lib64/libhwui.so)
7273f8e630 GrBitmapTextureMaker::refOriginalTextureProxyView(bool, GrTextureMaker::AllowedTexGenType) (/system/lib64/libhwui.so)
7273ffb090 GrTextureMaker::onRefTextureProxyViewForParams(GrSamplerState, bool, float*) (/system/lib64/libhwui.so)
7273e682ac SkImage_Raster::onPinAsTexture(GrContext*) const (/system/lib64/libhwui.so)
7273cb9458 android::uirenderer::skiapipeline::SkiaPipeline::pinImages(std::__1::vector >&) (/system/lib64/libhwui.so)
7273c6bbe4 android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c6bdec android::uirenderer::skiapipeline::SkiaDisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function) (/system/lib64/libhwui.so)
7273c93850 android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, int) (/system/lib64/libhwui.so)
7273c930dc android::uirenderer::RenderNode::prepareTree(android::uirenderer::TreeInfo&) (/system/lib64/libhwui.so)
7273c98acc android::uirenderer::RootRenderNode::prepareTree(android::uirenderer::TreeInfo&) (/system/lib64/libhwui.so)
7273cc0ee0 android::uirenderer::renderthread::CanvasContext::prepareTree(android::uirenderer::TreeInfo&, long*, long, android::uirenderer::RenderNode*) (/system/lib64/libhwui.so)
7273cc3b78 _ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvvEEclEv$c303f2d2360db58ed70a2d0ac7ed911b (/system/lib64/libhwui.so)
7273cb208c android::uirenderer::WorkQueue::process() (/system/lib64/libhwui.so)
7273cd4030 android::uirenderer::renderthread::RenderThread::threadLoop() (/system/lib64/libhwui.so)
7275bab4cc android::Thread::_threadLoop(void*) (/system/lib64/libutils.so)
7275baad90 thread_data_t::trampoline(thread_data_t const*) (/system/lib64/libutils.so)
7276c9186c __pthread_start(void*) (/apex/com.android.runtime/lib64/bionic/libc.so)
7276c31a48 __start_thread (/apex/com.android.runtime/lib64/bionic/libc.so)
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.