# leak

Published articles for leak.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Meta's Next-gen MR Headset Appears to Have Leaked Ahead of Connect

DevFeed: [Meta's Next-gen MR Headset Appears to Have Leaked Ahead of Connect](<https://devfeed.tech/articles/meta-s-next-gen-mr-headset-appears-to-have-leaked-ahead-of-connect-17323.md>)

Original publisher: [Read original article](<https://roadtovr.com/meta-next-gen-mr-headset-phoenix-leak-connect-2026/>)

Author: Scott Hayden

Published: 2026-09-11T08:53:50Z

Content type: news

Language: en

Sources: [Road to VR](<https://devfeed.tech/sources/road-to-vr.md>)

Topics: [Meta](<https://devfeed.tech/topics/meta.md>), [FIRST](<https://devfeed.tech/topics/first.md>)

Tags: [leak](<https://devfeed.tech/tags/leak.md>), [meta](<https://devfeed.tech/tags/meta.md>), [meta-quest-3-news-reviews](<https://devfeed.tech/tags/meta-quest-3-news-reviews.md>), [news](<https://devfeed.tech/tags/news.md>), [os](<https://devfeed.tech/tags/os.md>), [sensors](<https://devfeed.tech/tags/sensors.md>), [xr-industry-news](<https://devfeed.tech/tags/xr-industry-news.md>)

### AI overview

Images and video appearing to show Meta's Project Phoenix mixed reality headset have reportedly leaked ahead of Meta Connect. The material suggests a slim standalone headset with prescription lenses, hand and eye tracking, multiple sensors, and a cable-tethered compute unit, while its official name, price, and release date remain unknown.

### Source excerpt

Images of Meta's 'Project Phoenix' mixed reality headset appear to have leaked ahead of its anticipated unveiling at Connect later this month. The News Serial leaker 'Luna' appears to have found video within Quest's Horizon OS showing off the headset's prescription lenses, which are apparently set to be released in partnership by Meta's official prescription [...] The post Meta's Next-gen MR Headset Appears to Have Leaked Ahead of Connect appeared first on Road to VR.

## Report: 13TB of Steam data leaked after users access 'publicly accessible endpoint'

DevFeed: [Report: 13TB of Steam data leaked after users access 'publicly accessible endpoint'](<https://devfeed.tech/articles/report-13tb-of-steam-data-leaked-after-users-access-publicly-accessible-endpoint-15091.md>)

Original publisher: [Read original article](<https://www.gamedeveloper.com/pc/report-13tb-of-steam-data-leaked-after-users-access-publicly-accessible-endpoint->)

Author: Bryant Francis

Published: 2026-08-31T15:07:37Z

Content type: news

Language: en

Sources: [gamedeveloper](<https://devfeed.tech/sources/gamedeveloper.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [Security](<https://devfeed.tech/topics/security.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [breach](<https://devfeed.tech/tags/breach.md>), [games](<https://devfeed.tech/tags/games.md>), [leak](<https://devfeed.tech/tags/leak.md>), [pre-release](<https://devfeed.tech/tags/pre-release.md>), [report](<https://devfeed.tech/tags/report.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

A reported 13TB leak exposed Steam-related data uploaded between 2003 and 2013, including early Valve game builds and screenshots as well as beta builds from other publishers. The data was reportedly accessible through a public endpoint, though the source and scope of the breach remain unclear.

### Source excerpt

The leaked data apparently includes beta builds and screenshots of pre-release Valve titles--and games from other publishers like EA and WB Games.

## \[webapps\] Duplicati 2.2.0.3 - JWT Signing Key Leak

DevFeed: [\[webapps\] Duplicati 2.2.0.3 - JWT Signing Key Leak](<https://devfeed.tech/articles/webapps-duplicati-2-2-0-3-jwt-signing-key-leak-34739.md>)

Original publisher: [Read original article](<https://www.exploit-db.com/exploits/52646>)

Author: Gabriel Rodrigues

Published: 2026-08-17T00:00:00Z

Content type: article

Language: en

Sources: [Exploit-DB.com RSS Feed](<https://devfeed.tech/sources/exploit-db-com-rss-feed.md>)

Topics: [JSON Web Tokens](<https://devfeed.tech/topics/jwt.md>), [Exploit](<https://devfeed.tech/topics/exploit.md>)

Tags: [exploit](<https://devfeed.tech/tags/exploit.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [leak](<https://devfeed.tech/tags/leak.md>), [multiple](<https://devfeed.tech/tags/multiple.md>), [platform](<https://devfeed.tech/tags/platform.md>), [signing](<https://devfeed.tech/tags/signing.md>), [webapps](<https://devfeed.tech/tags/webapps.md>)

### AI overview

An exploit listing identifies a JWT signing key leak in Duplicati 2.2.0.3 and describes it as a web application exploit for multiple platforms.

### Source excerpt

Duplicati 2.2.0.3 - JWT Signing Key Leak

## Xiaomi Smart Storage NAS Revealed

DevFeed: [Xiaomi Smart Storage NAS Revealed](<https://devfeed.tech/articles/xiaomi-smart-storage-nas-revealed-17355.md>)

Original publisher: [Read original article](<https://nascompares.com/2026/08/03/xiaomi-smart-storage-nas-revealed/>)

Author: Rob Andrews

Published: 2026-08-03T16:00:11Z

Content type: article

Language: en

Sources: [NAS Compares](<https://devfeed.tech/sources/nas-compares.md>)

Topics: [Hardware](<https://devfeed.tech/topics/hardware.md>), [Specifications](<https://devfeed.tech/topics/specifications.md>), [QNAP](<https://devfeed.tech/topics/qnap.md>), [Synology](<https://devfeed.tech/topics/synology.md>)

Tags: [2-bay-nas](<https://devfeed.tech/tags/2-bay-nas.md>), [capacity](<https://devfeed.tech/tags/capacity.md>), [china](<https://devfeed.tech/tags/china.md>), [consumer](<https://devfeed.tech/tags/consumer.md>), [crowdfunding](<https://devfeed.tech/tags/crowdfunding.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [home-nas](<https://devfeed.tech/tags/home-nas.md>), [hyperos](<https://devfeed.tech/tags/hyperos.md>), [launch](<https://devfeed.tech/tags/launch.md>), [leak](<https://devfeed.tech/tags/leak.md>), [nas](<https://devfeed.tech/tags/nas.md>), [nas-2026](<https://devfeed.tech/tags/nas-2026.md>), [nas-news](<https://devfeed.tech/tags/nas-news.md>), [network-attached-storage-nas](<https://devfeed.tech/tags/network-attached-storage-nas.md>), [news](<https://devfeed.tech/tags/news.md>), [news-2026](<https://devfeed.tech/tags/news-2026.md>), [private-cloud](<https://devfeed.tech/tags/private-cloud.md>), [product](<https://devfeed.tech/tags/product.md>), [qnap](<https://devfeed.tech/tags/qnap.md>), [qnap-2026](<https://devfeed.tech/tags/qnap-2026.md>), [qnap-alternative](<https://devfeed.tech/tags/qnap-alternative.md>), [qnap-news](<https://devfeed.tech/tags/qnap-news.md>), [realtek-rtd1619b](<https://devfeed.tech/tags/realtek-rtd1619b.md>), [specifications](<https://devfeed.tech/tags/specifications.md>), [storage](<https://devfeed.tech/tags/storage.md>), [synology](<https://devfeed.tech/tags/synology.md>), [synology-2026](<https://devfeed.tech/tags/synology-2026.md>), [synology-alternative](<https://devfeed.tech/tags/synology-alternative.md>), [synology-news](<https://devfeed.tech/tags/synology-news.md>), [uncategorised](<https://devfeed.tech/tags/uncategorised.md>), [xiaomi](<https://devfeed.tech/tags/xiaomi.md>), [xiaomi-nas](<https://devfeed.tech/tags/xiaomi-nas.md>), [xiaomi-smart-storage](<https://devfeed.tech/tags/xiaomi-smart-storage.md>), [xiaomi-youpin](<https://devfeed.tech/tags/xiaomi-youpin.md>)

### AI overview

Xiaomi Smart Storage is a two-bay consumer NAS launched in China through Xiaomi Youpin crowdfunding. The article describes its family-focused storage use cases, bundled-drive pricing, and leaked engineering-sample hardware specifications, while distinguishing official details from unconfirmed specifications.

### Source excerpt

Xiaomi has now officially moved into the home NAS market with Xiaomi Smart Storage, a two-bay consumer storage box that is being launched in China through Xiaomi Youpin crowdfunding. The product is being positioned less like a traditional enthusiast NAS and more like a family storage appliance for phone backup, photo management, files, and home [...]

## Managing Environment Variables and Secrets in DevOps

DevFeed: [Managing Environment Variables and Secrets in DevOps](<https://devfeed.tech/articles/managing-environment-variables-and-secrets-in-devops-17486.md>)

Original publisher: [Read original article](<https://kodekloud.com/blog/managing-environment-variables-and-secrets-devops/>)

Author: Pramodh Kumar M

Published: 2026-08-01T13:00:47Z

Content type: tutorial

Language: en

Sources: [Kubernetes - KodeKloud Blog | DevOps, Cloud, Kubernetes, AI Tutorials & More](<https://devfeed.tech/sources/kubernetes-kodekloud-blog-devops-cloud-kubernetes-ai-tutorials-more.md>)

Topics: [DevOps](<https://devfeed.tech/topics/devops.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [GitGuardian](<https://devfeed.tech/topics/gitguardian.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Terraform](<https://devfeed.tech/topics/terraform.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [ci-cd-secrets-management](<https://devfeed.tech/tags/ci-cd-secrets-management.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [collaboration-tools](<https://devfeed.tech/tags/collaboration-tools.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [container](<https://devfeed.tech/tags/container.md>), [crash](<https://devfeed.tech/tags/crash.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devsecops](<https://devfeed.tech/tags/devsecops.md>), [dynamic-secrets](<https://devfeed.tech/tags/dynamic-secrets.md>), [env-file-security](<https://devfeed.tech/tags/env-file-security.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [gitguardian](<https://devfeed.tech/tags/gitguardian.md>), [github](<https://devfeed.tech/tags/github.md>), [hardcoded-credentials](<https://devfeed.tech/tags/hardcoded-credentials.md>), [hashicorp-vault](<https://devfeed.tech/tags/hashicorp-vault.md>), [jira](<https://devfeed.tech/tags/jira.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [kubernetes-secrets](<https://devfeed.tech/tags/kubernetes-secrets.md>), [leak](<https://devfeed.tech/tags/leak.md>), [managing-environment-variables-and-secrets](<https://devfeed.tech/tags/managing-environment-variables-and-secrets.md>), [rotation](<https://devfeed.tech/tags/rotation.md>), [safety](<https://devfeed.tech/tags/safety.md>), [sealed-secrets](<https://devfeed.tech/tags/sealed-secrets.md>), [secret-rotation](<https://devfeed.tech/tags/secret-rotation.md>), [secret-scanning](<https://devfeed.tech/tags/secret-scanning.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [secrets-management-best-practices](<https://devfeed.tech/tags/secrets-management-best-practices.md>), [security](<https://devfeed.tech/tags/security.md>), [storage](<https://devfeed.tech/tags/storage.md>), [terraform](<https://devfeed.tech/tags/terraform.md>), [vault](<https://devfeed.tech/tags/vault.md>)

### AI overview

A guide to managing environment variables and secrets in DevOps. It explains how secrets escape through repositories, processes, crash reports, containers, collaboration tools, Kubernetes Secrets, and Terraform state, and discusses storage, access controls, lifecycles, and rotation.

### Source excerpt

Nearly 29 million secrets were pushed to public GitHub in a single year, and most teams still discover their own leaks by accident. Here is how environment variables actually escape, and what to use instead at each stage.

## July 2026 Updates #1 for XCP-ng 8.3 LTS

DevFeed: [July 2026 Updates #1 for XCP-ng 8.3 LTS](<https://devfeed.tech/articles/july-2026-updates-1-for-xcp-ng-8-3-lts-12822.md>)

Original publisher: [Read original article](<https://xcp-ng.org/blog/2026/07/28/july-2026-updates-1-for-xcp-ng-8-3-lts/>)

Author: Philippe Coval

Published: 2026-07-28T14:32:38Z

Content type: release

Language: en

Sources: [XCP-ng Blog](<https://devfeed.tech/sources/xcp-ng-blog.md>)

Topics: [Security](<https://devfeed.tech/topics/security.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [iso](<https://devfeed.tech/tags/iso.md>), [leak](<https://devfeed.tech/tags/leak.md>), [lts](<https://devfeed.tech/tags/lts.md>), [regression](<https://devfeed.tech/tags/regression.md>), [release](<https://devfeed.tech/tags/release.md>), [security](<https://devfeed.tech/tags/security.md>), [update](<https://devfeed.tech/tags/update.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

This release provides security and maintenance updates for XCP-ng 8.3 LTS. It updates Xen to address multiple security advisories, fixes a XAPI regression that caused VBD leaks, and includes minor changes needed to build an updated installer ISO.

### Source excerpt

This release batch contains a security update for Xen. This update also brings a fix for a XAPI regression causing VBD leaks. Other minor changes were needed to build an updated XCP-ng 8.3 LTS installer (ISO).

## The real AI risk is inside the labs

DevFeed: [The real AI risk is inside the labs](<https://devfeed.tech/articles/the-real-ai-risk-is-inside-the-labs-20663.md>)

Original publisher: [Read original article](<http://antirez.com/news/172>)

Published: 2026-07-28T09:00:11Z

Content type: opinion

Language: en

Sources: [Antirez](<https://devfeed.tech/sources/antirez.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Frontier AI](<https://devfeed.tech/topics/frontier-ai.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [incident](<https://devfeed.tech/topics/incident.md>), [Security](<https://devfeed.tech/topics/security.md>), [Maintainers](<https://devfeed.tech/topics/maintainers.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [frontier-ai](<https://devfeed.tech/tags/frontier-ai.md>), [incident](<https://devfeed.tech/tags/incident.md>), [leak](<https://devfeed.tech/tags/leak.md>), [llms](<https://devfeed.tech/tags/llms.md>), [maintainers](<https://devfeed.tech/tags/maintainers.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [openai](<https://devfeed.tech/tags/openai.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

The article argues that the most serious AI risks are more likely to emerge within frontier AI laboratories through accidents, misuse, or leaks than through the public release of open-weight models. It also discusses how restricted access to defensive LLM capabilities could worsen cybersecurity risks.

### Source excerpt

Amodei in his latest blog post wrote a mix of agreeable things and things that I believe misrepresent where the real risk of AI is located. I want to focus my attention on why, among all the risks, open weight models constitute the mildest one. I write these words as a person who strongly believes AI may be very dangerous in the near future: 1. Exactly like what happened during the OpenAI / HF incident (which was a joke, but focus on the modalities, not the outcomes), the first serious AI incident is very likely to happen *inside* the walls of frontier AI labs, while testing a new model, or while the AI lab employees, or the few externals who have access, do something wrong compared to the expected power of the model. 2. Closed models that will never even be opened to the public will be just a few TBs of data. All you need to leak one is a single person with access and the wrong goals, and you are back in the situation of open models. Open models are released *after* testing, and after similarly capable models were already available for some time under an API. The real risk is leaks, not releases, and leaks happen inside frontier companies. 3. As Amodei says, open models, once LLMs are dangerous enough in fields like biology, can be trained on a corpus ablated of certain branches of science, while still being useful for a number of other things. The limited context window of a model that lacks strong pre-training in certain domains is a strong protection even if the model is otherwise very capable. We are currently not in a place where open models can constitute that kind of danger. 4. In the context of cyber security, *not* having widespread access to the defensive security and bug seeking provided by LLMs creates exactly the "LLMs as a weapon" problem. It is already happening: open source maintainers, if they are out of some cyber program, can't find all the security bugs they could, while people with the right interests will be able to access frontier cyber model

## How Claude Code's Source Map Was Shipped and Rebuilt by the Community

DevFeed: [How Claude Code's Source Map Was Shipped and Rebuilt by the Community](<https://devfeed.tech/articles/diving-into-claude-code-s-source-code-leak-39083.md>)

Original publisher: [Read original article](<https://read.engineerscodex.com/p/diving-into-claude-codes-source-code>)

Author: Engineer's Codex

Published: 2026-04-01T06:25:24Z

Content type: article

Language: en

Sources: [Engineer's Codex](<https://devfeed.tech/sources/engineer-s-codex.md>)

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [anthropic](<https://devfeed.tech/topics/anthropic.md>), [Code generation](<https://devfeed.tech/topics/code-generation.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Code review](<https://devfeed.tech/topics/code-review.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [anthropic](<https://devfeed.tech/tags/anthropic.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [codegen](<https://devfeed.tech/tags/codegen.md>), [github](<https://devfeed.tech/tags/github.md>), [leak](<https://devfeed.tech/tags/leak.md>), [npm](<https://devfeed.tech/tags/npm.md>), [openai](<https://devfeed.tech/tags/openai.md>), [post-mortems](<https://devfeed.tech/tags/post-mortems.md>)

### AI overview

The article examines how Anthropic accidentally included a sourcemap in a Claude Code npm package, how the exposed code was mirrored and ported to other languages, and the resulting copyright questions around AI-assisted clean-room rebuilding.

### Source excerpt

Engineer's Codex is a publication about real-world software engineering.

## Stressing the JVM GC on Android

DevFeed: [Stressing the JVM GC on Android](<https://devfeed.tech/articles/stressing-the-jvm-gc-on-android-28537.md>)

Original publisher: [Read original article](<https://www.amanjeet.me/stressing-the-jvm-gc-on-android/>)

Author: Amanjeet Singh Gurtatta

Published: 2024-03-10T08:49:55Z

Content type: tutorial

Language: en

Sources: [Amanjeet Singh](<https://devfeed.tech/sources/amanjeet-singh.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Java](<https://devfeed.tech/topics/java.md>), [Code](<https://devfeed.tech/topics/code.md>), [now-in-android](<https://devfeed.tech/topics/now-in-android.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [android](<https://devfeed.tech/tags/android.md>), [android-vitals](<https://devfeed.tech/tags/android-vitals.md>), [anr](<https://devfeed.tech/tags/anr.md>), [fragmentation](<https://devfeed.tech/tags/fragmentation.md>), [gc](<https://devfeed.tech/tags/gc.md>), [java](<https://devfeed.tech/tags/java.md>), [leak](<https://devfeed.tech/tags/leak.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-performance](<https://devfeed.tech/tags/mobile-performance.md>), [now-in-android](<https://devfeed.tech/tags/now-in-android.md>), [outofmemory](<https://devfeed.tech/tags/outofmemory.md>), [performance](<https://devfeed.tech/tags/performance.md>), [stress](<https://devfeed.tech/tags/stress.md>), [stresstest](<https://devfeed.tech/tags/stresstest.md>)

### AI overview

This tutorial describes GCStress, a Java application that deliberately creates garbage-collection pressure through repeated random byte-array allocations and cache removals. It explains how to integrate it into Google's Now in Android app, trigger it with an Android broadcast and adb, and observe effects such as skipped UI frames, possible ANRs, and potential out-of-memory errors.

### Source excerpt

This post talks about a way to stress Java garbage collector.

## Discovering iOS memory leaks: A case study with Firefox app II

DevFeed: [Discovering iOS memory leaks: A case study with Firefox app II](<https://devfeed.tech/articles/discovering-ios-memory-leaks-a-case-study-with-firefox-app-ii-28529.md>)

Original publisher: [Read original article](<https://www.amanjeet.me/discovering-ios-memory-leaks-case-study-part-two/>)

Author: Amanjeet Singh Gurtatta

Published: 2024-02-24T11:22:22Z

Content type: article

Language: en

Sources: [Amanjeet Singh](<https://devfeed.tech/sources/amanjeet-singh.md>)

Topics: [Firefox](<https://devfeed.tech/topics/firefox.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>)

Tags: [firefox](<https://devfeed.tech/tags/firefox.md>), [github](<https://devfeed.tech/tags/github.md>), [ios](<https://devfeed.tech/tags/ios.md>), [leak](<https://devfeed.tech/tags/leak.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>), [memory-leaks](<https://devfeed.tech/tags/memory-leaks.md>), [mobile-performance](<https://devfeed.tech/tags/mobile-performance.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

A case study of contributing a memory-leak fix to Firefox for iOS. The article describes the pull-request process, an initially unmerged approach, the eventual fix involving a UI kit retain cycle, and lessons about coordinating with open-source maintainers.

### Source excerpt

Discover my experience in contributing to Firefox ios fixing their memory leaks

## Discovering iOS memory leaks: A case study with Firefox app

DevFeed: [Discovering iOS memory leaks: A case study with Firefox app](<https://devfeed.tech/articles/discovering-ios-memory-leaks-a-case-study-with-firefox-app-28530.md>)

Original publisher: [Read original article](<https://www.amanjeet.me/discovering-ios-memory-leaks-case-study/>)

Author: Amanjeet Singh Gurtatta

Published: 2023-12-25T21:07:16Z

Content type: tutorial

Language: en

Sources: [Amanjeet Singh](<https://devfeed.tech/sources/amanjeet-singh.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>), [App](<https://devfeed.tech/topics/app.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>)

Tags: [command-line](<https://devfeed.tech/tags/command-line.md>), [crashlytics](<https://devfeed.tech/tags/crashlytics.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [ios](<https://devfeed.tech/tags/ios.md>), [leak](<https://devfeed.tech/tags/leak.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>), [memory-leaks](<https://devfeed.tech/tags/memory-leaks.md>), [tool](<https://devfeed.tech/tags/tool.md>)

### AI overview

A case study on detecting and prioritizing memory leaks in iOS apps. It explains automatic reference counting, recommends prioritizing production leaks and monitoring core flows, and uses a Firefox iOS app with UI tests and the macOS leaks command-line tool.

### Source excerpt

Discover how to efficiently detect and manage memory leaks in iOS apps using the leaks command line tool with example

## Apollo Client 3.9 Feature Spotlight - The memory story

DevFeed: [Apollo Client 3.9 Feature Spotlight - The memory story](<https://devfeed.tech/articles/apollo-client-3-9-feature-spotlight-the-memory-story-23154.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/apollo-3-9-beta-feature-spotlight-the-memory-story>)

Author: Lenz Weber-Tronic

Published: 2023-12-20T16:02:32Z

Content type: article

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [apollo-client](<https://devfeed.tech/topics/apollo-client.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Maintainers](<https://devfeed.tech/topics/maintainers.md>)

Tags: [apollo-client](<https://devfeed.tech/tags/apollo-client.md>), [cache](<https://devfeed.tech/tags/cache.md>), [feature](<https://devfeed.tech/tags/feature.md>), [issue](<https://devfeed.tech/tags/issue.md>), [leak](<https://devfeed.tech/tags/leak.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>), [memory-leaks](<https://devfeed.tech/tags/memory-leaks.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [spotlight](<https://devfeed.tech/tags/spotlight.md>)

### AI overview

Apollo Client 3.9 is released in beta with fixes for various memory leaks, more granular control over internal cache sizes, and deprecation of canonizeResults because of a conceptual, non-fixable memory leak. The article also asks users to help determine appropriate default cache sizes.

### Source excerpt

Apollo Client 3.9 is out in beta now, and it fixes various memory leaks, adds granular control over internal cache sizes, and deprecates the canonizeResults option due to a conceptual and non-fixable memory leak associated with it. We want your help to find the correct default cache sizes - see the last paragraph for details on that. The memory story Sometimes, in an open source project, you have that issue that sticks around for a long time because it's not clear how you would tackle it.

## Avoid Java double brace initialization

DevFeed: [Avoid Java double brace initialization](<https://devfeed.tech/articles/avoid-java-double-brace-initialization-25619.md>)

Original publisher: [Read original article](<https://blog.p-y.wtf/avoid-java-double-brace-initialization>)

Author: Pierre-Yves Ricau

Published: 2023-06-27T20:58:00Z

Content type: tutorial

Language: en

Sources: [Py's blog](<https://devfeed.tech/sources/py-s-blog.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Code](<https://devfeed.tech/topics/code.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [class](<https://devfeed.tech/tags/class.md>), [classes](<https://devfeed.tech/tags/classes.md>), [code](<https://devfeed.tech/tags/code.md>), [constructor](<https://devfeed.tech/tags/constructor.md>), [crash-reporting](<https://devfeed.tech/tags/crash-reporting.md>), [gc](<https://devfeed.tech/tags/gc.md>), [global](<https://devfeed.tech/tags/global.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [java](<https://devfeed.tech/tags/java.md>), [leak](<https://devfeed.tech/tags/leak.md>), [leakcanary](<https://devfeed.tech/tags/leakcanary.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>), [object](<https://devfeed.tech/tags/object.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [subclass](<https://devfeed.tech/tags/subclass.md>)

### AI overview

This tutorial explains how Java double brace initialization can cause memory leaks. An anonymous HashMap subclass implicitly retains its outer Activity, so a breadcrumb stored by a singleton BugSnag client can keep a destroyed Android Activity in memory. The article recommends avoiding the pattern and using explicit initialization or Kotlin.

### Source excerpt

TL;DR Avoid doing this: new HashMap() {{ put("key", value); }}; Leak Trace I was recently looking at the following leak trace from LeakCanary: ┬─── │ GC Root: Global variable in native code │ ├─ com.bugsnag.android.AnrPlugin instan...

## Callback leaks: cancel your Picasso requests!

DevFeed: [Callback leaks: cancel your Picasso requests!](<https://devfeed.tech/articles/callback-leaks-cancel-your-picasso-requests-25620.md>)

Original publisher: [Read original article](<https://blog.p-y.wtf/callback-leaks-cancel-your-picasso-requests>)

Author: Pierre-Yves Ricau

Published: 2023-01-17T21:06:14Z

Content type: tutorial

Language: en

Sources: [Py's blog](<https://devfeed.tech/sources/py-s-blog.md>)

Topics: [Picasso](<https://devfeed.tech/topics/picasso.md>), [Android](<https://devfeed.tech/topics/android.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [leak](<https://devfeed.tech/tags/leak.md>), [leakcanary](<https://devfeed.tech/tags/leakcanary.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>), [performance](<https://devfeed.tech/tags/performance.md>), [picasso](<https://devfeed.tech/tags/picasso.md>)

### AI overview

This article investigates an Android memory leak caused by an in-flight Picasso image-loading request retaining a detached UI component through a custom callback. It explains how to read the leak trace and recommends canceling requests or using tags when the UI goes away.

### Source excerpt

👋 Hi, this is P.Y., I work as an Android Engineer at Block. Every month I organize an internal Ensemble Leak Hunting session where we look at the top leaks reported by LeakCanary to learn how to read

## Investigation of a Gradle and IntelliJ IDEA Memory Leak

DevFeed: [Investigation of a Gradle and IntelliJ IDEA Memory Leak](<https://devfeed.tech/articles/let-s-investigate-a-gradle-intellij-memory-leak-25625.md>)

Original publisher: [Read original article](<https://blog.p-y.wtf/gradle-intellij-memory-leak>)

Author: Pierre-Yves Ricau

Published: 2022-10-12T17:26:46Z

Content type: tutorial

Language: en

Sources: [Py's blog](<https://devfeed.tech/sources/py-s-blog.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Java](<https://devfeed.tech/topics/java.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>)

Tags: [garbage-collection](<https://devfeed.tech/tags/garbage-collection.md>), [gc](<https://devfeed.tech/tags/gc.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [graph](<https://devfeed.tech/tags/graph.md>), [idea](<https://devfeed.tech/tags/idea.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [java](<https://devfeed.tech/tags/java.md>), [leak](<https://devfeed.tech/tags/leak.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

A team investigation examines a Gradle process memory leak during project import in IntelliJ IDEA. The article describes heap analysis using dominator trees, pending finalization, and paths from GC roots.

### Source excerpt

👋 Hi, this is P.Y., I work as an Android Engineer at Block. This article shares a team investigation by Tony Robalik, Pablo Baxter, Roger Hu and myself into a recent Gradle / IntelliJ memory leak. O

## Leak investigation: Rx disposal race in SQLDelight

DevFeed: [Leak investigation: Rx disposal race in SQLDelight](<https://devfeed.tech/articles/leak-investigation-rx-disposal-race-in-sqldelight-25862.md>)

Original publisher: [Read original article](<https://dev.to/pyricau/leak-investigation-rx-disposal-race-in-sqldelight-3n06>)

Author: Py ⚔

Published: 2021-05-17T22:10:41Z

Content type: tutorial

Language: en

Sources: [Py ⚔](<https://devfeed.tech/sources/py.md>)

Topics: [RxJava](<https://devfeed.tech/topics/rxjava.md>), [Code](<https://devfeed.tech/topics/code.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [community](<https://devfeed.tech/tags/community.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [inclusive](<https://devfeed.tech/tags/inclusive.md>), [leak](<https://devfeed.tech/tags/leak.md>), [rxjava](<https://devfeed.tech/tags/rxjava.md>), [software](<https://devfeed.tech/tags/software.md>), [sqldelight](<https://devfeed.tech/tags/sqldelight.md>), [thread](<https://devfeed.tech/tags/thread.md>)

### AI overview

This article investigates a memory leak caused by a disposal race in SQLDelight's RxJava integration. The implementation sets the disposable before adding the query listener, so a subscription that is already disposed can add a listener that is never removed. The article recommends checking listener and disposable ordering and avoiding unnecessary scheduler calls for observables originating from Observable.create().

### Source excerpt

Header image: The In-Between by Romain Guy. In this blog we'll look into how an easy mistake when using Observable.create() can lead to subtle leaks. I recently investigated the following leak, which I couldn't reproduce systematically: ┬─── ... ├─ com.example.hockey.PlayerQueries$selectAllQuery instance │ ↓ Query.listeners │ ~~~~~~~~~ ├─ java.util.concurrent.CopyOnWriteArrayList instance │ ↓ CopyOnWriteArrayList.array │ ~~~~~ ├─ java.lang.Object[] array │ ↓ Object[].[0] │ ~~~ ├─ sqldelight.runtime.rx.QueryListenerAndDisposable instance │ Retaining 4.3 kB in 56 objects │ ↓ QueryListenerAndDisposable.emitter │ ~~~~~~~ ... RxJava observer chain ├─ com.example.hockey.PlayersView$onAttachedToWindow$1 instance │ Anonymous class implementing io.reactivex.functions.Function │ ↓ PlayersView$onAttachedToWindow$1.this$0 │ ~~~~~~ ╰-> com.example.hockey.view.PlayersView instance Leaking: YES (View.mContext references a destroyed activity) In the above leaktrace, PlayerQueries$selectAllQuery is a generated SQLDelight query. Our PlayersView is listening for updates to that query while the view is attached by leveraging Query.asObservable(). Once the view is detached, the observable chain is disposed and the query is expected to let go of the corresponding listener. I inspected the heap dump and found that the view was indeed detached, the observable chain was correctly disposed, and yet the QueryListenerAndDisposable listener had not been removed from the query. Let's look at the Query.asObservable() implementation: fun <T : Any> Query<T>.asObservable(): Observable<Query<T>> { return Observable.create(QueryOnSubscribe(this)) } private class QueryOnSubscribe<T : Any>( private val query: Query<T> ) : ObservableOnSubscribe<Query<T>> { override fun subscribe(emitter: ObservableEmitter<Query<T>>) { val listener = QueryListenerAndDisposable(emitter, query) emitter.setDisposable(listener) query.addListener(listener) emitter.onNext(query) } } private class QueryListenerAndDisposable<T : A

## Leak detection: Android Studio vs LeakCanary ⚔

DevFeed: [Leak detection: Android Studio vs LeakCanary ⚔](<https://devfeed.tech/articles/leak-detection-android-studio-vs-leakcanary-25861.md>)

Original publisher: [Read original article](<https://dev.to/pyricau/leak-detection-android-studio-vs-leakcanary-35j5>)

Author: Py ⚔

Published: 2020-10-30T00:13:40Z

Content type: tutorial

Language: en

Sources: [Py ⚔](<https://devfeed.tech/sources/py.md>)

Topics: [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [Android](<https://devfeed.tech/topics/android.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [coding](<https://devfeed.tech/tags/coding.md>), [community](<https://devfeed.tech/tags/community.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [false-positive](<https://devfeed.tech/tags/false-positive.md>), [inclusive](<https://devfeed.tech/tags/inclusive.md>), [leak](<https://devfeed.tech/tags/leak.md>), [leakcanary](<https://devfeed.tech/tags/leakcanary.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-leaks](<https://devfeed.tech/tags/memory-leaks.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

The article compares Android Studio's Activity/Fragment leak filtering with LeakCanary's lifecycle-based detection. It explains that Android Studio may flag newly created or cached Fragments as potential leaks, while LeakCanary watches destroyed objects and checks whether they remain retained after garbage collection.

### Source excerpt

I recently came across this comment in a post: The thing really annoying about LeakCanary or Android Studio, most of the time leaks identified by LeakCanary do not appear in Profiler/Memory/memory leaks, I wonder if LeakCanary is showing false positives or Android Studio is missing positives. That's a good question, let's dig into code and figure this out! False positive leaks in Android Studio Before answering the question, we need to talk about where the idea of false positive leaks comes from: Android Studio. That warning was originally a longer description: Activity and Fragment instances that might be causing memory leaks. For Activities, these are instances that have been destroyed but are still being referenced. For Fragments, these are instances that do not have a valid FragmentManager but are still being referenced. Note, these instance might include Fragments that were created but are not yet being utilized. The documentation provides more insights on false positive leaks: In certain situations, such as the following, the filter might yield false positives: A Fragment is created but has not yet been used. A Fragment is being cached but not as part of a FragmentTransaction. The phrasing is vague but it looks like false positive leaks only applies to Fragments. Android Studio leak filtering Android Studio dumps and analyzes the heap when you press the Dump Heap icon. Leaking instances are displayed by enabling the "Activity/Fragment Leaks" filter, which updates the bottom panel to only show leaking instances. The filtering is performed by ActivityFragmentLeakInstanceFilter: const val FRAGFMENT_MANAGER_FIELD_NAME = "mFragmentManager" /** * A Fragment instance is determined to be potentially leaked if * its mFragmentManager field is null. This indicates that the * instance is in its initial state. Note that this can mean that * the instance has been destroyed, or just starting to be * initialized but before being attached to an activity. The * latter gives us

## Investigating Memory Leaks in Square POS on Android Q

DevFeed: [Investigating Memory Leaks in Square POS on Android Q](<https://devfeed.tech/articles/story-of-an-android-q-leak-attachment-crazy-town-15896.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/story-of-an-android-q-leak-attachment-crazy-town>)

Author: P-Y Ricau

Published: 2019-07-03T19:00:00Z

Content type: article

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [Large Screen](<https://devfeed.tech/topics/large-screen.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [leak](<https://devfeed.tech/tags/leak.md>), [leakcanary](<https://devfeed.tech/tags/leakcanary.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-leaks](<https://devfeed.tech/tags/memory-leaks.md>), [view](<https://devfeed.tech/tags/view.md>)

### AI overview

The article investigates unusually high memory leaks observed while testing Square POS on Android Q, focusing on leak traces involving an attached view and a destroyed activity. It also explains how LeakCanary 2 uses lifecycle heuristics when interpreting such traces.

### Source excerpt

Debugging leaks for Square POS in Android Q

## Goroutine Leaks - The Abandoned Receivers

DevFeed: [Goroutine Leaks - The Abandoned Receivers](<https://devfeed.tech/articles/goroutine-leaks-the-abandoned-receivers-22141.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2018/12/goroutine-leaks-the-abandoned-receivers.html>)

Published: 2018-12-19T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>)

Tags: [ardan-labs](<https://devfeed.tech/tags/ardan-labs.md>), [blog](<https://devfeed.tech/tags/blog.md>), [channel](<https://devfeed.tech/tags/channel.md>), [developers](<https://devfeed.tech/tags/developers.md>), [go](<https://devfeed.tech/tags/go.md>), [go-programming](<https://devfeed.tech/tags/go-programming.md>), [golang](<https://devfeed.tech/tags/golang.md>), [goroutines](<https://devfeed.tech/tags/goroutines.md>), [leak](<https://devfeed.tech/tags/leak.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-leaks](<https://devfeed.tech/tags/memory-leaks.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

This Go programming article explains a goroutine leak scenario in which multiple goroutines remain blocked waiting to receive values that will never be sent. It presents a batch-processing program using input and output channels, a goroutine worker pool, and a pipeline.

### Source excerpt

Introduction Goroutine Leaks are a common cause of memory leaks in Go programs. In my previous post, I presented an introduction to Goroutine leaks and provided one example of a common mistake that many Go developers make. Continuing that work, this post presents another scenario on how Goroutines could be leaked. Leak: The Abandoned Receivers For this leak example you will see multiple Goroutines blocked waiting to receive values that will never be sent.

## The Tale of a Go Resource Leak

DevFeed: [The Tale of a Go Resource Leak](<https://devfeed.tech/articles/always-be-closing-15495.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/always-be-closing>)

Author: Alec Holmes

Published: 2017-07-11T19:31:01Z

Content type: article

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [bug](<https://devfeed.tech/topics/bug.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [garbage-collection](<https://devfeed.tech/tags/garbage-collection.md>), [go](<https://devfeed.tech/tags/go.md>), [leak](<https://devfeed.tech/tags/leak.md>), [memory](<https://devfeed.tech/tags/memory.md>)

### AI overview

A Square Go service developed sharply higher memory and CPU use after bugs caused per-request metadata to be retained for almost 17 hours. The investigation traced the issue to uncanceled Go contexts in an internal request-handling framework, combined with a client timeout misconfiguration.

### Source excerpt

The Tale of a Go Resource Leak

## Questions of the Week 34

DevFeed: [Questions of the Week 34](<https://devfeed.tech/articles/questions-of-the-week-34-19463.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/questions-of-the-week-34/>)

Author: Shai Almog

Published: 2016-12-01T00:00:00Z

Content type: opinion

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [Android](<https://devfeed.tech/topics/android.md>), [Java](<https://devfeed.tech/topics/java.md>), [Disk image](<https://devfeed.tech/topics/disk-image.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [android](<https://devfeed.tech/tags/android.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [java](<https://devfeed.tech/tags/java.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [leak](<https://devfeed.tech/tags/leak.md>), [simulator](<https://devfeed.tech/tags/simulator.md>), [storage](<https://devfeed.tech/tags/storage.md>)

### AI overview

A weekly digest discusses selected developer questions, including Storage to FileSystemStorage mapping, abstraction leakage, experimental Java 8 operation support in native Android code, and JavaScript code that must run after page load.

### Source excerpt

While I find these posts useful I think it's time to re-think this post which is overly mechanical and only post interesting news from the week rather than "everything". So this week we'll try something new, I'll discuss the news in general and the questions/answers I find valuable only. I'll ignore the other questions and this should make the post more "digestible". peopletookallthegoodnames asked about Storage to FileSystemStorage mapping here. This is a problematic subject. Storage is an abstraction, the fact that the implementation can be seen sometimes within the FileSystemStorage is a "leak" within the abstraction.

## Become a Firebase Taskmaster! (Part 2: Choosing the Best Options)

DevFeed: [Become a Firebase Taskmaster! (Part 2: Choosing the Best Options)](<https://devfeed.tech/articles/become-a-firebase-taskmaster-part-2-choosing-the-best-options-16131.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2016/09/become-a-firebase-taskmaster-part-2>)

Author: Doug Stevenson

Published: 2016-09-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [Firebase](<https://devfeed.tech/topics/firebase.md>), [Android](<https://devfeed.tech/topics/android.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [java](<https://devfeed.tech/tags/java.md>), [leak](<https://devfeed.tech/tags/leak.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [main-thread](<https://devfeed.tech/tags/main-thread.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>)

### AI overview

This tutorial examines listener options for the Play Services Task API, including how listeners are invoked on the main thread and how an in-progress Task can retain an Activity after onDestroy(), potentially causing an Activity leak.

### Source excerpt

News, tutorials, and updates from the Firebase team.

## Tracking down a memory leak in Ruby's EventMachine

DevFeed: [Tracking down a memory leak in Ruby's EventMachine](<https://devfeed.tech/articles/tracking-down-a-memory-leak-in-ruby-s-eventmachine-21932.md>)

Original publisher: [Read original article](<https://blog.nelhage.com/2013/03/tracking-an-eventmachine-leak/>)

Author: Nelson Elhage

Published: 2013-03-07T13:13:37Z

Content type: tutorial

Language: en

Sources: [Nelson Elhage](<https://devfeed.tech/sources/nelson-elhage.md>)

Topics: [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [Post Mortem](<https://devfeed.tech/topics/post-mortem.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [stripe](<https://devfeed.tech/topics/stripe.md>)

Tags: [debugging](<https://devfeed.tech/tags/debugging.md>), [gdb](<https://devfeed.tech/tags/gdb.md>), [leak](<https://devfeed.tech/tags/leak.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [post-mortem](<https://devfeed.tech/tags/post-mortem.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [techniques](<https://devfeed.tech/tags/techniques.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

This article describes how Stripe investigated a gradual memory leak in a Ruby service using EventMachine. It covers monitoring and process restarts as a workaround, then explores post-mortem analysis, gdb, the Ruby C API, garbage-collection hooks, and Ruby ObjectSpace to determine whether Ruby-level objects explained the service's multi-gigabyte memory use.

### Source excerpt

At Stripe, we rely heavily on ruby and EventMachine to power various internal and external services. Over the last several months, we've known that one such service suffered from a gradual memory leak, that would cause its memory usage to gradually balloon from a normal ~50MB to multiple gigabytes. It was easy enough to work around the leak by adding monitoring and restarting the process whenever memory usage grew too large, but we were determined to track down the root cause.