aws / aws/amazon-documentdb-odbc-driver

[SPIKE] Investigate memory leak issues

Open
#184 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
6
Forks
2
PR merge metrics
No merged PRs in 30d

Description

When I worked on another issue, the following tests have found memory leaks. They are disabled for now as root cause has not been identified.

```C
BOOST_AUTO_TEST_CASE(TestFetchScrollLast, *disabled()) {
  CheckFetchScrollUnsupportedOrientation(SQL_FETCH_LAST);
}

BOOST_AUTO_TEST_CASE(TestFetchScrollPrior, *disabled()) {
  CheckFetchScrollUnsupportedOrientation(SQL_FETCH_PRIOR);
}

BOOST_AUTO_TEST_CASE(TestFetchScrollFirst, *disabled()) {
  CheckFetchScrollUnsupportedOrientation(SQL_FETCH_FIRST);
}
```
```C
BOOST_AUTO_TEST_CASE(TestOneRowObject, *disabled()) {
...
}

BOOST_AUTO_TEST_CASE(TestCloseNonFullFetch, *disabled()) {
...
}

BOOST_AUTO_TEST_CASE(TestManyCursors, *disabled()) {
...
}

BOOST_AUTO_TEST_CASE(TestManyCursors2, *disabled()) {
...
}
```

Notes:

- Using Dr Memory could find the memory leak but the call stack is empty. So I suspect this issue is only seen on Windows and it is a 3rd party library memory leak issue as nothing is found on Linux. Need check more to confirm.

- No memory leak is reported on Linux after open detect_memory_leaks and enable TestFetchScrollLast - `./ignite-odbc-tests --catch_system_errors=false --detect_memory_leaks=1`

Contributor guide

Open the contributing guide

Research direction

Start with the disabled Boost.Test cases TestFetchScrollLast, TestFetchScrollPrior, TestFetchScrollFirst, TestOneRowObject, TestCloseNonFullFetch, TestManyCursors, and TestManyCursors2. Reproduce the checks with the provided ignite-odbc-tests memory-leak command on Linux and investigate with Dr. Memory on Windows. Done means determining whether the leak is in this driver or a third-party library and documenting whether the tests can be re-enabled.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases, testing
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.