Dag allemaal, ik krijg deze heeele mooie error als ik via JNI een native method aanroep.
Die native method leest wat meuk uit een bestand en retourneert het dan als array.
Nou lijkt deze error verdacht veel op een geheugenfout (duh) en heb ik het gevoel dat het dezelfde fout is die je met C krijgt als je over de geheugengrenzen begint te wandelen (windows sluit je app).
Is het zo dat als je met JNI werkt dat je geen kopie krijgt van het geheugen maar dat je alleen maar een pointer krijgt en die array dus gewoon in het 'C geheugen' blijft bestaan?
Als dat zo is, kan ik dan dmv kopieën maken en de oude arrays wegflikkeren het geheugen vrijmaken?
Of zit ik helemaal in de verkeerde hoek te denken.
Voor alle replies:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| # # An unexpected error has been detected by HotSpot Virtual Machine: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x78001da9, pid=1060, tid=984 # # Java VM: Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode, sharing) # Problematic frame: # C [MSVCRT.dll+0x1da9] # # An error report file with more information is saved as hs_err_pid1060.log # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # |
Die native method leest wat meuk uit een bestand en retourneert het dan als array.
Nou lijkt deze error verdacht veel op een geheugenfout (duh) en heb ik het gevoel dat het dezelfde fout is die je met C krijgt als je over de geheugengrenzen begint te wandelen (windows sluit je app).
Is het zo dat als je met JNI werkt dat je geen kopie krijgt van het geheugen maar dat je alleen maar een pointer krijgt en die array dus gewoon in het 'C geheugen' blijft bestaan?
Als dat zo is, kan ik dan dmv kopieën maken en de oude arrays wegflikkeren het geheugen vrijmaken?
Of zit ik helemaal in de verkeerde hoek te denken.
Voor alle replies:
Look for the signal in your life, not the noise.
Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8