race-check

Detect race conditions and deadlocks in concurrent Sirius database code.

1.0k|109|Updated Jun 19, 2024
One-click install
npx skills add https://github.com/sirius-db/sirius --skill race-check-sirius-db
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: race-check
Source: https://github.com/sirius-db/sirius/tree/main/.claude/skills/race-check
Command: npx skills add https://github.com/sirius-db/sirius --skill race-check-sirius-db

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill identifies and helps diagnose race conditions, deadlocks, and non-deterministic behavior in concurrent code, specifically within the Sirius database system.

Core Features & Use Cases

  • ThreadSanitizer (TSan): Detects data races and lock order inversions in CPU threads.
  • NVIDIA Compute Sanitizer (memcheck): Detects memory access hazards in GPU code.
  • Use Case: When your Sirius queries produce inconsistent results or crash unexpectedly, this skill can pinpoint the underlying concurrency bugs.

Quick Start

Use the race-check skill to analyze potential race conditions in the 'gpu_execution' call for the provided SQL query.

Frequently Asked Questions about race-check

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect race conditions and deadlocks in concurrent CPU and GPU code?

You can diagnose race conditions by analyzing SQL queries or unit tests using ThreadSanitizer for CPU threads and NVIDIA Compute Sanitizer memcheck for GPU memory access to identify non-deterministic behavior.

Why does my SQL query produce inconsistent results or crash unexpectedly?

Inconsistent results or crashes often indicate race conditions or deadlocks in concurrent code, which this skill diagnoses by analyzing SQL queries and parsing ThreadSanitizer or Compute Sanitizer output logs.

Do I need specific build configurations to run ThreadSanitizer and Compute Sanitizer?

Yes, you need specific build configurations with sanitizers enabled to execute ThreadSanitizer for CPU threads and NVIDIA Compute Sanitizer memcheck for GPU memory access hazard detection.

What is the best way to diagnose non-deterministic behavior in the Sirius database system?

Diagnosing non-deterministic behavior in the Sirius database system involves analyzing SQL queries or unit tests with ThreadSanitizer and Compute Sanitizer to identify data races and synchronization issues.

How do I check for memory access hazards in GPU execution calls?

You check for GPU memory access hazards by running NVIDIA Compute Sanitizer memcheck on the 'gpu_execution' call for your SQL query, then parsing the tool-specific output logs for detailed error reporting.