Dev tools, where do I report bugs?

Alex Zavatone

I’m interested in tracking down some memory leaks in Team Fortress 2 and some or its related processes and getting them over to the team. 

The box I’m testing on has 84 GB of RAM and 12 cores under MacOS 10.14.6.

The binary that I’m inspecting is 32 bit.

I can run heap on the hl2_osx binary, but when I run leaks, the leaks binary reports malloc errors in leaks32.

Does anyone know where I should report this?

Thanks in advance.
Alex Zavatone

Crash log for reference.

Crashed Thread:        0  Dispatch queue:

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [39795]

VM Regions Near 0:
    __TEXT                 00000000000c3000-00000000000df000 [  112K] r-x/rwx SM=COW  /Applications/

Application Specific Information:
Command args:    leaks32 39737
Target process:  /Users/USER/Library/Application Support/Steam/*/hl2_osx [39737]
Parent process:  /Users/USER/Library/Application Support/Steam/*/steam_osx [39009]

Thread 0 Crashed:: Dispatch queue:
0     0x00274c4f __80-[DVT_VMUTaskMemoryScanner _orderedScanWithScanner:recorder:keepMapped:actions:]_block_invoke_2 + 3182
1     0x002770d5 __51-[DVT_VMUTaskMemoryScanner scanNodesForReferences:]_block_invoke_3 + 34
2     0x00273fb0 __80-[DVT_VMUTaskMemoryScanner _orderedScanWithScanner:recorder:keepMapped:actions:]_block_invoke + 141
3     0x00272ce6 -[DVT_VMUTaskMemoryScanner _withOrderedNodeMapper:] + 311
4     0x00273ef2 -[DVT_VMUTaskMemoryScanner _orderedScanWithScanner:recorder:keepMapped:actions:] + 158
5     0x002770ab __51-[DVT_VMUTaskMemoryScanner scanNodesForReferences:]_block_invoke_2 + 90
6     0x00271a6e -[DVT_VMUTaskMemoryScanner _withScanningContext:] + 89
7     0x00276f35 -[DVT_VMUTaskMemoryScanner scanNodesForReferences:] + 236
8     0x00277603 -[DVT_VMUTaskMemoryScanner processSnapshotGraphWithOptions:] + 1259
9   leaks32                       0x000cbdea __main_block_invoke.274 + 1824
10  leaks32                       0x000c58c3 withTaskForPid + 1468
11  leaks32                       0x000ca928 main + 2801
12  libdyld.dylib                 0xa7af4051 start + 1

Thread 1:
0   libsystem_pthread.dylib       0xa7ce4788 start_wqthread + 0

Thread 0 crashed with X86 Thread State (32-bit):
  eax: 0x00000000  ebx: 0x0000317b  ecx: 0x5509d000  edx: 0x00000000
  edi: 0x000317c0  esi: 0x060cb000  ebp: 0xbff3c878  esp: 0xbff3c6c0
   ss: 0x00000023  efl: 0x00010246  eip: 0x00274c4f   cs: 0x0000001b
   ds: 0x00000023   es: 0x00000023   fs: 0x00000000   gs: 0x0000000f
  cr2: 0x00000000
Logical CPU:     12
Error Code:      0x00000004
Trap Number:     14

Chris Hanson

On Oct 12, 2020, at 4:59 PM, Alex Zavatone via <> wrote:

Does anyone know where I should report this?
Just reporting it via the same channels you’d use for Xcode itself should be fine, it should get to the right folks that way.

Also, one avenue of investigation for this might be to check whether you’re using a custom allocator or using the operating system’s malloc/free. I know lots of games use their own fine-tuned allocators, which means that some of the general-purpose memory debugging tools won’t work with them. Usually a codebase that does this will have a flag you can set to use the system allocator instead, both so you can use standard memory tools and so you can benchmark.

— Chris