dart-lang / dart-lang/native

"Dart Error: Internal Dart data pointers have been acquired, please release them using Dart_TypedDataReleaseData."

Open
#898 7 comments 0 reactions 0 assignees View on GitHub
package:ffi
Dominant language
Dart
Stars
275
Forks
144
Avg merge
2d 10h
Merged PRs (30d)
47

Description

Hi there,

I'm using dart:ffi on flutter to use sqlite from c code. However, I got a strange error:

```
[VERBOSE-2:shell.cc(210)] Dart Error: Internal Dart data pointers have been acquired, please release them using Dart_TypedDataReleaseData.
Lost connection to device.
```
I guess it's because some raw bytes are allocated but not released, however I've no idea how to fix this, `Dart_TypedDataReleaseData` seems to be some dart VM function.

# Related code

Here is the code I suspect that causes the problem:

```dart
Uint8List readColumnByIndexAsBytes(int columnIndex) {
_checkIsCurrentRow();
int length = bindings.sqlite3_column_bytes(_statement, columnIndex);
Pointer buffer =
bindings.sqlite3_column_blob(_statement, columnIndex);
return buffer.asTypedList(length);
}
```

# Frameworks
Flutter (Channel beta, 1.23.0-18.1.pre, on Mac OS X 10.15.4 19E287 x86_64, locale en-CN)
Dart SDK version: 2.11.0-213.1.beta (beta) (Wed Oct 14 10:49:52 2020 +0200) on "macos_x64"

Thanks!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.