# [KB] TiCDC Capture 报错 panic  invalid memory address or nil pointer dereference 并不断重启

## Description

CDC 同步任务启动后，TiCDC Capture 不断重启，cdc.log 没有报错信息，cdc_stderr.log 有大量报错

```golang
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x2862797]
 
goroutine 1011 [running]:
github.com/pingcap/ticdc/cdc/processor/pipeline.splitUpdateEvent(0xc1710f1140, 0xc0066f4601, 0x2030dd, 0x2030dd, 0xc0000a7d50)
github.com/pingcap/ticdc/cdc/processor/pipeline/sink.go:236 +0x1b7
github.com/pingcap/ticdc/cdc/processor/pipeline.(*sinkNode).emitEvent(0xc008f84800, 0x3871518, 0xc377e15c50, 0xc1710f1140, 0x0, 0xc377e15c50)
github.com/pingcap/ticdc/cdc/processor/pipeline/sink.go:167 +0x456
github.com/pingcap/ticdc/cdc/processor/pipeline.(*sinkNode).Receive(0xc008f84800, 0x3871518, 0xc377e15c50, 0xc377e15c50, 0x0)
github.com/pingcap/ticdc/cdc/processor/pipeline/sink.go:316 +0x19f
github.com/pingcap/ticdc/pkg/pipeline.(*nodeRunner).run(0xc0066eb580, 0x38665a8, 0xc005a9ec78, 0x0, 0x0)
github.com/pingcap/ticdc/pkg/pipeline/runner.go:63 +0x262
github.com/pingcap/ticdc/pkg/pipeline.(*Pipeline).driveRunner(0xc0066eb440, 0x38665a8, 0xc005a9ec78, 0x38435b0, 0xc0066eb540, 0x38435b0, 0xc0066eb580)
github.com/pingcap/ticdc/pkg/pipeline/pipeline.go:96 +0xda
created by github.com/pingcap/ticdc/pkg/pipeline.(*Pipeline).AppendNode
github.com/pingcap/ticdc/pkg/pipeline/pipeline.go:86 +0x255
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x2862797]
```

## Root Cause

产品 BUG，出现 SEGFAULT 的行:
[https://github.com/pingcap/tiflow/blob/v5.3.1/cdc/processor/pipeline/sink.go#L255](https://github.com/pingcap/tiflow/blob/v5.3.1/cdc/processor/pipeline/sink.go#L255)

触发条件：关闭 old-value 时，deleteEvent.Row.PreColumns[i] 是 nil 

## Diagnostic Steps

判断 cdc_stderr.log 中的 panic 报错位置是 github.com/pingcap/ticdc/cdc/processor/pipeline.splitUpdateEvent

## Resolution

暂未修复

## Workaround

开启 old-value。参考 [输出行变更的历史值](https://docs.pingcap.com/zh/tidb/v5.3/manage-ticdc#%E8%BE%93%E5%87%BA%E8%A1%8C%E5%8F%98%E6%9B%B4%E7%9A%84%E5%8E%86%E5%8F%B2%E5%80%BC-%E4%BB%8E-v405-%E7%89%88%E6%9C%AC%E5%BC%80%E5%A7%8B%E5%BC%95%E5%85%A5)

> **注意**
> 
> 为了帮助复现和修复问题，建议用户同时开启 debug 日志，打印报错的 event。

## Affect Version(optional)

v5.2.2、v5.3.1