mattn / mattn/go-sqlite3

signal SIGBUS: bus error

Open
#1,006 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
9.2k
Forks
1.2k
Avg merge
19m
Merged PRs (30d)
4

Description

Running a docker container and the docker container crashes up to 3 times a day due to the following sqlite issue.

crashing source code line:

https://github.com/mattn/go-sqlite3/blob/671e666c2e88052a814eeaed6bc8506ef326eb63/sqlite3.go#L1972

Referring to the comment "// this is still racy and can be no-op if executed between sqlite3_* calls in execSync."

The error reported refers to this function in the go implementation of sqlite… specifically line 1999.

Full example logs can be found here:

https://github.com/storj/storj/issues/4378

System Version: macOS 12.1 (21C52)
Kernel Version: Darwin 21.2.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Computer Name: xxx
User Name: xxx
Secure Virtual Memory: Enabled
System Integrity Protection: Enabled

Hardware Overview:
Model Name: Mac mini
Model Identifier: Macmini9,1
Chip: Apple M1
Total Number of Cores: 8 (4 performance and 4 efficiency)
Memory: 8 GB
System Firmware Version: 7429.61.2
OS Loader Version: 7429.61.2
Serial Number (system): C07FF20JQ6NV
Hardware UUID: xxx
Provisioning UDID: xxx
Activation Lock Status: Enabled

Docker version 20.10.12, build e91ed57

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with sqlite3.go around lines 1972 and 1999, focusing on the comment about the race around execSync, then compare the reported behavior with the full logs in storj/storj#4378. Reproduce or narrow down the SIGBUS in the stated Docker, macOS 12.1, and Apple M1 environment; done means the crash cause and a verified resolution are documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go, sqlite
Domain
databases
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.