World Congress 2026 Europe Jul 9, 2026 Session details

Go with the Flow: Stop the Leaks Before Your Memory's a Waterfall!

Manfred Bjørlin

Is your Go application secretly hoarding memory? Learn to identify and fix logical leaks, blocked goroutines, and improper slicing before silent OOM crashes bring down your service.

Pause
Mute Enter Fullscreen
#1 about 3 min

Speaker background and an agenda for the technical session

An overview of the developer's background alongside the planned concepts.

#2 about 3 min

Understanding the function stack and data heap

Temporary variables live on the fast execution stack while shared data remains stored securely on the slower memory heap.

#3 about 2 min

Defining logical memory leaks in managed applications

Memory leaks manifest logically in Go when data stays unintentionally referenced despite functioning garbage collectors.

#4 about 2 min

Examining memory allocation and heap size classes

Go manages empty heap space by subdividing pages into discrete size classes designed for variable requirements.

#5 about 1 min

Minimizing struct padding for optimal memory usage

Arranging internal struct fields by optimal size significantly diminishes unnecessary padding inserted for processing alignment boundaries.

#6 about 4 min

Mechanisms of the tri-color garbage collector algorithm

The runtime concurrently locates unused memory nodes by tracing graphs without necessitating drastic execution stops.

#7 about 2 min

Controlling bounded lifetimes for execution-heavy goroutines

Applying timeouts or wait groups bounds completions and limits indefinite stack build-up inside parallel routines.

#8 about 2 min

Avoiding heap migration for large struct allocations

Returning specific pointers or building nested structs automatically triggers underlying memory escape operations towards the heap.

#9 about 3 min

Mitigating reference retention when reslicing data arrays

Instantiating explicit clones instead of returning a smaller view prevents original massive arrays from unintentionally locking resources.

#10 about 3 min

Managing deferred file closures within execution loops

Failing to close files iteratively exhausts file descriptors and continuously piles executions endlessly across defer stacks.

#11 about 1 min

Preventing silent goroutine leaks through channel closures

Open channels actively force idle background listeners completely into indefinitely hanging runtime states unless properly terminated.

#12 about 2 min

Circumventing natural memory retention in dynamic maps

Deleted map elements drop pointers but natively withhold underlying storage footprints until manually triggered map reconstructions occur.

#13 about 1 min

Capping memory usage in global variable caches

Permanently referenced caches sidestep automatic garbage collections and require customized item limits regulating overarching capacities.

#14 about 3 min

Stopping unreferenced time tickers to prevent leaks

Historical environments left discarded timers helplessly stranded across internal queues if closures were not properly explicitly halted.

#15 about 1 min

Brief overview of experimental memory arenas implementation

Manual groupings of data fields were developed for explicit sizing models but halted amidst unresolved execution complications.

#16 about 2 min

Configuring benchmark testing defaults for execution timing

Running scalable benchmark tests precisely surfaces how functions absorb scaling workloads beyond simplistic compiler correctness checks.

#17 about 2 min

Inspecting live heap allocations through pprof profiling

Launching accessible endpoints immediately surfaces exact application behaviors directly mapping variable allocations via interactive dashboards.

#18 about 2 min

Wrapping up common golang memory retention practices

A consolidated checklist reinforcing precision loop techniques, functional object cleanup methods, and ongoing debugging observability workflows.

Matching moments

3:32 min

Isolating metaspace memory leaks with a minimal reproducer

Marco Sussitz Marco Sussitz · WWC Europe 2026

1:31 min

Profiling Java memory to uncover metaspace leaks

Marco Sussitz Marco Sussitz · WWC Europe 2026

6:00 min

Common memory vulnerabilities in managed and unmanaged environments

Rainer Stropek Rainer Stropek · WWC 2021

1:28 min

Fixing memory leak bugs by removing unused string constants

Marco Sussitz Marco Sussitz · WWC Europe 2026

1:23 min

Practical takeaways for investigating obscure runtime memory leaks

Marco Sussitz Marco Sussitz · WWC Europe 2026

8:29 min

Discussion on JIT memory parameters and cross-language benchmarking

Daniel Strmečki · LIVE

Upcoming sessions on this topic

Open session

World Congress 2026 North America

Offloading IoT State: Solving the Memory Crisis on Legacy Hardware

Pravin Nagare

Senior Software Engineer, Roku

Pravin Nagare
Open session

World Congress 2026 North America

public void saveMoney(AI): The Developer's Guide to Unit Economics

Hrushikesh Pokala

Senior Software Engineer Lead at Equifax

Hrushikesh Pokala
Open session

World Congress 2026 North America

KV Cache Is Not About Speed: It's About Surviving Inference Costs

David vonThenen

AI/ML Leader | Keynote Speaker | OSS Engineer & Developer Advocate | Agentic AI, Deep Learning, Production AI | Python, Go, C++

David vonThenen
Open session

World Congress 2026 North America

Merging at Scale: From Broken Builds to Green Mainline

Preetam Dwivedi, Manjari Akella

Preetam Dwivedi
Manjari Akella
Open session

World Congress 2026 North America

When Humans Stop Writing Code: Rethinking Languages, Compilers, and Responsibility

Simon Auer

Organizer of flutter vienna meetup and CEO of marqably

Simon Auer
Open session

World Congress 2026 North America

When Logging Becomes The Outage: Escaping the ECS Logging Trap

Rahul Tanniru

Senior Vice President Of Software Engineering, Jp Morgan Chase

Rahul Tanniru