
[LWJGL] 56 bytes leaked, thread 21 (LwjglVulkanContext), address: 0x76982563FEE0
at org.lwjgl.system.Callback.create(Callback.java:163)
at org.lwjgl.system.Callback.<init>(Callback.java:113)
at org.lwjgl.glfw.GLFWWindowSizeCallback.<init>(GLFWWindowSizeCallback.java:55)
at com.jme3.system.vulkan.LwjglVulkanContext$3.<init>(LwjglVulkanContext.java:129)
at com.jme3.system.vulkan.LwjglVulkanContext.glfwInitialize(LwjglVulkanContext.java:129)
at com.jme3.system.vulkan.LwjglVulkanContext.engineInitialize(LwjglVulkanContext.java:85)
at com.jme3.system.vulkan.LwjglVulkanContext.run(LwjglVulkanContext.java:63)
at java.base/java.lang.Thread.run(Thread.java:1575)
glfwSetWindowSizeCallback(window, sizeCallback = new GLFWWindowSizeCallback() {
@Override
public void invoke(final long window, final int width, final int height) {
updateSizes();
}
});
Exception in thread "LwjglVulkanContext" java.lang.IllegalStateException: The memory address specified is not being tracked: 0x75F193FFDC50
at org.lwjgl.system.MemoryManage$DebugAllocator.untrackAbort(MemoryManage.java:327)
at org.lwjgl.system.MemoryManage$DebugAllocator.untrack(MemoryManage.java:319)
at org.lwjgl.system.MemoryManage$DebugAllocator.free(MemoryManage.java:240)
at org.lwjgl.system.MemoryUtil.nmemFree(MemoryUtil.java:338)
at org.lwjgl.system.Struct.free(Struct.java:65)
at org.lwjgl.system.NativeResource.close(NativeResource.java:20)
at com.jme3.vulkan.VulkanLogger.invoke(VulkanLogger.java:52)
at org.lwjgl.vulkan.VkDebugUtilsMessengerCallbackEXTI.callback(VkDebugUtilsMessengerCallbackEXTI.java:58)
at org.lwjgl.system.JNI.callPPPI(Native Method)
at org.lwjgl.vulkan.VK10.nvkEnumeratePhysicalDevices(VK10.java:3046)
at org.lwjgl.vulkan.VK10.vkEnumeratePhysicalDevices(VK10.java:3100)
at com.jme3.vulkan.PhysicalDevice.lambda$getSuitableDevice$4(PhysicalDevice.java:140)
at com.jme3.renderer.vulkan.VulkanUtils.enumerateBuffer(VulkanUtils.java:49)
at com.jme3.vulkan.PhysicalDevice.getSuitableDevice(PhysicalDevice.java:139)
at jme3test.vulkan.VulkanHelperTest.simpleInitApp(VulkanHelperTest.java:117)
at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:240)
at com.jme3.system.vulkan.LwjglVulkanContext.engineInitialize(LwjglVulkanContext.java:88)
at com.jme3.system.vulkan.LwjglVulkanContext.run(LwjglVulkanContext.java:63)
at java.base/java.lang.Thread.run(Thread.java:1575)
@Override
public int invoke(int messageSeverity, int messageTypes, long pCallbackData, long pUserData) {
try (VkDebugUtilsMessengerCallbackDataEXT data = VkDebugUtilsMessengerCallbackDataEXT.create(pCallbackData)) {
Level lvl = getLoggingLevel(messageSeverity);
if (exceptionThreshold != null && lvl.intValue() >= exceptionThreshold.intValue()) {
throw new RuntimeException(lvl.getName() + ": " + data.pMessageString());
} else {
System.err.println(lvl.getName() + " " + data.pMessageString());
}
} // exception occurs here
return VK_FALSE;
}
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f114c25933a, pid=93473, tid=93497
#
# JRE version: Java(TM) SE Runtime Environment (23.0.2+7) (build 23.0.2+7-58)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.0.2+7-58, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# C [libjemalloc.so+0x5933a]
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /home/codex/java/prj/jmonkeyengine/core.93473)
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
public class VidTexture {
int w, h, textureId, pbo;
VidTexture(int w, int h, ByteBuffer buf) {
this.w = w;
this.h = h;
buf.flip();
pbo = glGenBuffers();
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, pbo);
glBufferData(GL_PIXEL_UNPACK_BUFFER, w*h*3L, GL_STREAM_DRAW);
ByteBuffer bb = glMapBuffer(GL_PIXEL_UNPACK_BUFFER, GL_WRITE_ONLY);
bb.put(buf);
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);
textureId = glGenTextures();
glUnmapBuffer(GL_PIXEL_UNPACK_BUFFER);
glBindTexture(GL_TEXTURE_2D, textureId);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, pbo);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, w,
h, 0, GL_BGR, GL_UNSIGNED_BYTE, 0);
glGenerateMipmap(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, -1);
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);
buf.clear();
}
//Here is cleanUp and bind functions
}