# Google SoC lwIP Report Week 8

DevFeed: [Google SoC lwIP Report Week 8](<https://devfeed.tech/articles/google-soc-lwip-report-week-8-32794.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-8/>)

Published: 2016-07-18T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [lwIP](<https://devfeed.tech/topics/lwip.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [callback](<https://devfeed.tech/tags/callback.md>), [client](<https://devfeed.tech/tags/client.md>), [free](<https://devfeed.tech/tags/free.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [memory](<https://devfeed.tech/tags/memory.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [server](<https://devfeed.tech/tags/server.md>), [testing](<https://devfeed.tech/tags/testing.md>), [thread](<https://devfeed.tech/tags/thread.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

## AI overview

A week-eight development report describes debugging memory errors in an lwIP-based driver. The author identifies missing callbacks for closed connections and discovers that lwIP's core libraries are not thread-safe, while multithreaded testing produces dead PCB dereferences. Attempts to serialize core calls with a lock do not resolve the issue, leading to further investigation of the netconn API and lwIP internals.

## Source excerpt

This past week started with me mindlessly chasing down memory bugs after having gotten WinDBG up and running. A particularly annoying bug involved an lwIP protocol control block being dereferenced by lwIP after it had been freed. I could not find a place in my drivere where I tried to use a dead PCB pointer, so I looked deeper. I did some stepping through of code, and read more of lwIP's source code.