https://bugs.freedesktop.org/show_bug.cgi?id=91982
Bug ID: 91982 Summary: [radeonsi] fs leak in get_radeon_bo() Product: Mesa Version: git Hardware: Other OS: All Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/radeonsi Assignee: dri-devel@lists.freedesktop.org Reporter: shawn.starr@rogers.com QA Contact: dri-devel@lists.freedesktop.org
While debugging something for Borderlands 2, I broke the DRI driver, tripped a file descriptor leak
Mesa git master (Sept 10th build), kernel 4.3.0-0.rc0.git9.2.fc24.x86_64m libdrm-2.4.64 aug 18th
Steps to reproduce fd leak ==========================
Take my trace for Borderlands 2 from here: https://drive.google.com/open?id=0Bze7CJKD12nORWQ4RTdIbk4zT1k
1) apitrace trim --frames=0-2469 --exact -o bl2469.trace Borderlands2-menu.trace 2) apitrace replay --loop -b bl2469.trace
Wait... it will crash... see attachment
Kernel:
[129925.490377] VFS: file-max limit 100000 reached [129925.651137] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (135168, 2, 4096, -23) [129925.651717] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (135168, 2, 4096, -23) [129925.652239] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (135168, 2, 4096, -23) [129925.652754] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (135168, 2, 4096, -23) [129925.653278] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (1216512, 2, 4096, -23) [129925.653813] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (1216512, 2, 4096, -23) [129925.764233] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (8847360, 6, 16384, -23) [129925.764829] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (8847360, 6, 16384, -23) [131671.087659] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (4096, 6, 4096, -23) [131671.207257] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (4096, 6, 4096, -23) [131671.241259] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (4096, 6, 4096, -23) [131671.311307] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (4096, 2, 4096, -23) [131671.312227] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (4096, 2, 4096, -23) [131671.331355] [drm:radeon_gem_object_create [radeon]] *ERROR* Failed to allocate GEM object (3244032, 2, 4096, -23)
See attachment for stack dump from DRI
https://bugs.freedesktop.org/show_bug.cgi?id=91982
--- Comment #1 from Shawn Starr shawn.starr@rogers.com --- Created attachment 118218 --> https://bugs.freedesktop.org/attachment.cgi?id=118218&action=edit Crash of apitrace due to fd leakage
https://bugs.freedesktop.org/show_bug.cgi?id=91982
--- Comment #2 from Michel Dänzer michel@daenzer.net --- This could also be a bug in apitrace, couldn't it?
Can you try running it in valgrind --leak-check=full to see if that shows anything interesting?
https://bugs.freedesktop.org/show_bug.cgi?id=91982
--- Comment #3 from Shawn Starr shawn.starr@rogers.com --- Created attachment 118251 --> https://bugs.freedesktop.org/attachment.cgi?id=118251&action=edit Valgrind output
https://bugs.freedesktop.org/show_bug.cgi?id=91982
--- Comment #4 from Shawn Starr shawn.starr@rogers.com --- Created attachment 118252 --> https://bugs.freedesktop.org/attachment.cgi?id=118252&action=edit More detailed valgrind trace
https://bugs.freedesktop.org/show_bug.cgi?id=91982
iive ikalvachev@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ikalvachev@gmail.com
--- Comment #5 from iive ikalvachev@gmail.com --- Created attachment 118258 --> https://bugs.freedesktop.org/attachment.cgi?id=118258&action=edit Valgrind trace of memory leaks in Mesa3D when compiling same shader over and over. R600 Redwood variant.
You need to run valgrind with `--trace-children` to check something else than apitrace itself. :)
I'm attaching log created with the following command:
`valgrind --log-file=mesa.memleak.r600.valgrind.txt --trace-children=yes --leak-check=full --undef-value-errors=no --partial-loads-ok=yes --freelist-vol=200000000 apitrace replay --loop -b bl2469.trace`
I didn't let it die from memory exhaustion, I pressed ESC and exited normally, so the leaks in this log are definitely lost.
https://bugs.freedesktop.org/show_bug.cgi?id=91982
--- Comment #6 from Shawn Starr shawn.starr@rogers.com --- Created attachment 118270 --> https://bugs.freedesktop.org/attachment.cgi?id=118270&action=edit Valgrind output with ulimit capped at 1GB (Virtual)
This is stdout output only
https://bugs.freedesktop.org/show_bug.cgi?id=91982
--- Comment #7 from Dave Airlie airlied@freedesktop.org --- does it happen with the original untrimmed trace?
this seems like an apitrace bug not a mesa bug.
https://bugs.freedesktop.org/show_bug.cgi?id=91982
Shawn Starr shawn.starr@rogers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID
--- Comment #8 from Shawn Starr shawn.starr@rogers.com --- I defer to Dave on this one, there's been so much changes recently this bug is probably obsolete anyway.
dri-devel@lists.freedesktop.org