apache / apache/cloudberry

[Bug] failed assertion "mp != nullptr" in CMemoryPoolManager.cpp::Destroy (gporca/libgpos)

Open
#285 0 comments 0 reactions 0 assignees View on GitHub
type: Bug
Dominant language
C
Stars
1.4k
Forks
247
Avg merge
4d 3h
Merged PRs (30d)
39

Description

### Cloudberry Database version

_No response_

### What happened

in log file (dbfast2) of a recent pg_upgrade failure (https://github.com/cloudberrydb/cloudberrydb/actions/runs/6744120555/job/18339332696), many `GPOS_ASSERT` failure pops up, indicating parameter `CMemoryPool *mp` of `CMemoryPoolManager::Destroy` is `nullptr` when it shouldn't. this needs further investigation.

log files can be downloaded at https://github.com/cloudberrydb/cloudberrydb/suites/17879327237/artifacts/1027090491.

### What you think should happen instead

personally I suppose this is benign.

### How to reproduce

I think it occurred on machine several times. but I don't find a reliable way to reproduce.

### Operating System

ci

### Anything else

_No response_

### Are you willing to submit PR?

- [ ] Yes, I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://cloudberrydb.org/community/coc).

Contributor guide

Open the contributing guide

Research direction

Start by downloading the linked CI log artifacts and inspect the GPOS_ASSERT failures for CMemoryPoolManager::Destroy in gporca/libgpos and CMemoryPoolManager.cpp. Trace why the CMemoryPool *mp parameter is nullptr during pg_upgrade, determine whether the assertion is benign, and establish a reliable reproduction or document why none is available.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, postgresql
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.