gpt4 book ai didi

c - 在 PostgreSQL 源代码中向缓冲区描述添加属性,现在出现自旋锁错误?

转载 作者:行者123 更新时间:2023-11-30 17:26:00 25 4
gpt4 key购买 nike

我想在 PostgreSQL 源代码中的缓冲区描述中添加一个属性,但是当我尝试初始化它时,出现以下错误:PANIC:在 freelist.c:206 检测到卡住的自旋锁 (0x7fc1cddd0cd0)

该结构在 buf_internals.h 中描述为:

typedef struct sbufdesc
{
BufferTag tag; /* ID of page contained in buffer */

BufFlags flags; /* see bit definitions above */
uint16 usage_count; /* usage counter for clock sweep code */
unsigned refcount; /* # of backends holding pins on buffer */
int wait_backend_pid; /* backend PID of pin-count waiter */
int buf_age; //<<<<<<<<<<< The age of the buffer

slock_t buf_hdr_lock; /* protects the above fields */

int buf_id; /* buffer's index number (from 0) */
int freeNext; /* link in freelist chain */

LWLockId io_in_progress_lock; /* to wait for I/O to complete */
LWLockId content_lock; /* to lock access to buffer contents */
} BufferDesc;

但它卡在了 freelist.c 的第 206 行,即:

        LockBufHdr(buf);

我添加的只是一个 int 到结构中,并在所有其他缓冲区初始化的同一位置将其设置为零。这怎么会导致自旋锁错误?

最佳答案

看起来首先运行 make clean 已经解决了这个问题。

关于c - 在 PostgreSQL 源代码中向缓冲区描述添加属性,现在出现自旋锁错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26917649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com