JNA 5.13.0: C++ Side Mutex Creation Fails with "Invalid Memory" Error
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia riproducendo la chiamata Java JNA alla libreria C++ compilata con MSVC utilizzando l'esempio createMutex fornito, quindi esamina il confine Java/native e il punto di costruzione o blocco del mutex in cui viene segnalato un accesso alla memoria non valido. L'attività è completa quando viene identificata la causa dell'accesso alla memoria non valido e viene confermata un'interazione corretta su Windows 10.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description:
When using JNA 5.13.0 to interface with a C++ library, an issue arises where attempting to create a mutex on the C++ side results in an "invalid memory" error. This issue occurs consistently whenever the mutex creation is attempted. Below are the details of the environment and the problem:
Environment:
- Java Version: 1.8.0_361 (Oracle JDK)
- JNA Version: 5.13.0(5.17.0 same err)
- Operating System: [Windows 10]
- C++ Compiler/Environment: [MSVC]
Problem Description:
The Java application uses JNA to interact with a native C++ library.
On the C++ side, when attempting to create a std::mutex (or any other type of mutex), the program throws an error related to invalid memory access.
The error message or behavior indicates that the memory allocation or usage for the mutex is corrupted or invalid.
Example Code:
Java Side:
public interface MyLibrary extends Library {
MyLibrary INSTANCE = Native.load("mylibrary", MyLibrary.class);
void createMutex();
}
public class Main {
public static void main(String[] args) {
MyLibrary.INSTANCE.createMutex();
}
}
C++ Side:
#include <mutex>
extern "C" {
void createMutex() {
std::mutex mtx; // Attempting to create a mutex
mtx.lock(); // Error occurs here or during construction
mtx.unlock();
}
}
Error
java.lang.Error: Invalid memory access
- Lingua principale
- Java
- Stelle
- 8.9k
- Fork
- 1.7k
- Merge medio
- 1g 13h
- PR unite (30g)
- 1
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di java-native-access/jna
-
Difficoltà 4/5 1-2 giorni Idoneità per principianti 48/100
java-native-access/jna#1742 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 66/100
java-native-access/jna#1738 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
java-native-access/jna#1736 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
java-native-access/jna#1717 ·
-
Windows32Exception - The parameter is incorrectForse già presa @marktech0813 l’ha presa 335 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
java-native-access/jna#1700 · 11 commenti ·
Tutte le issue di java-native-access/jna
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
apache/rocketmq-dashboard#6610 ·
I maintainer di solito rispondono entro 3 giorni
-
`RedisList.reversed()` view returns an empty `range` and `trim` removes all elementsForse già presa @CCCLL l’ha presa oggi. Apertastatus: waiting-for-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
spring-projects/spring-data-redis#3461 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
javapathfinder/jpf-core#649 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
devops-thiago/ThrillhouseBot#1093 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
wimdeblauwe/htmx-spring-boot#205 ·