| 29 Nov 2025 |
dramforever | ooh it crashes with just the debug build, time to keep refcnt logging | 13:07:38 |
dramforever | i got the log but it's like 3 gigs | 13:18:15 |
dramforever | do you have anything specific you're looking for? | 13:18:52 |
K900 | Not particularly | 13:19:31 |
K900 | Refcounts going negative possibly | 13:19:39 |
dramforever | oh hey
<pipe_martian_resource<229>> 0x7fff47038d00 26137 Create
<pipe_martian_resource<229>> 0x7fff47038d00 26137 AddRef 3857049062
| 13:23:07 |
dramforever | is this ... bad? | 13:23:11 |
dramforever | oh that's 0xe5 | 13:24:07 |
dramforever | yeah that's pretty bad | 13:24:13 |
K900 | Uh oh | 13:24:27 |
K900 | Yeah that looks bad | 13:24:30 |
K900 | "pipemartianresource" is also kinda weird | 13:24:54 |
K900 | pipe_martian_resource is also kinda weird | 13:24:58 |
K900 | https://elixir.bootlin.com/mesa/mesa-25.3.0/source/src/gallium/auxiliary/util/u_debug_describe.c#L70 | 13:25:12 |
K900 | That's a "we don't know what this is" type | 13:25:17 |
dramforever | i think that makes sense if the entire struct has been memset(0xe5)'d | 13:25:36 |
K900 | Oh yeah | 13:25:46 |
dramforever | including the refcnt 3857049062 which is 0xe5e5e5e6 | 13:26:01 |
K900 | Bumped by one | 13:26:22 |
K900 | Yeah | 13:26:23 |
K900 | Conditional breakpoint time? | 13:26:39 |
dramforever | oh dear | 13:28:38 |
dramforever | wait i don't have to run it with refcnt log now, if i can just break on the function | 13:29:09 |
K900 | Well you don't know what the function is | 13:33:54 |
K900 | But you can break on refcnt_add probably | 13:33:59 |
dramforever | i have a backtrace | 13:34:58 |
dramforever | last 2000 lines of refcnt.log for reference https://gist.github.com/dramforever/7689f686881cb863039614ef1ef1e0e0 | 13:35:22 |
K900 | I want to see when it's created | 13:38:13 |
K900 | Not when it's dereferenced | 13:38:16 |
dramforever | oh good point | 13:40:28 |