"Client thread@1" prio=5 tid=0x1 nid=NA runnable
java.lang.Thread.State: RUNNABLE
在 org.lwjgl.opengl.WindowsContextImplementation.nSwapBuffers(WindowsContextImplementation.java:-1)
在 org.lwjgl.opengl.WindowsContextImplementation.swapBuffers(WindowsContextImplementation.java:70)
- 锁 <0x411c> (a org.lwjgl.opengl.ContextGL)
在 org.lwjgl.opengl.ContextGL.swapBuffers(ContextGL.java:175)
在 org.lwjgl.opengl.DrawableGL.swapBuffers(DrawableGL.java:90)
在 org.lwjgl.opengl.Display.swapBuffers(Display.java:618)
- 锁 <0x411d> (a java.lang.Object)
在 org.lwjgl.opengl.Display.update(Display.java:646)
在 org.lwjgl.opengl.Display.update(Display.java:628)
在 net.minecraft.client.Minecraft.updateDisplay(Minecraft.java:1295)
在 net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1243)
在 net.minecraft.client.Minecraft.run(Minecraft.java:442)
在 net.minecraft.client.main.Main.main(Main.java:118)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:498)
在 net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
在 net.minecraft.launchwrapper.Launch.main(Launch.java:28)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:498)
在 net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
在 GradleStart.main(GradleStart.java:25)
"Server thread@16580" prio=5 tid=0x42 nid=NA runnable
java.lang.Thread.State: RUNNABLE
在 net.minecraft.nbt.NBTTagCompound.writeEntry(NBTTagCompound.java:577)
在 net.minecraft.nbt.NBTTagCompound.write(NBTTagCompound.java:39)
在 net.minecraft.nbt.NBTTagCompound.writeEntry(NBTTagCompound.java:582)
在 net.minecraft.nbt.NBTTagCompound.write(NBTTagCompound.java:39)
在 net.minecraft.nbt.CompressedStreamTools.writeTag(CompressedStreamTools.java:124)
在 net.minecraft.nbt.CompressedStreamTools.write(CompressedStreamTools.java:114)
在 net.minecraft.nbt.CompressedStreamTools.writeCompressed(CompressedStreamTools.java:53)
在 net.minecraft.world.storage.SaveHandler.saveWorldInfoWithPlayer(SaveHandler.java:170)
在 net.minecraft.world.chunk.storage.AnvilSaveHandler.saveWorldInfoWithPlayer(AnvilSaveHandler.java:46)
在 net.minecraft.world.WorldServer.saveLevel(WorldServer.java:1111)
在 net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:1054)
在 net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:468)
在 net.minecraft.server.integrated.IntegratedServer.saveAllWorlds(IntegratedServer.java:274)
在 net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:766)
在 net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192)
在 net.minecraft.server.MinecraftServer.run(MinecraftServer.java:592)
在 java.lang.Thread.run(Thread.java:748)
MinecraftServer 里的run
public void run()
{
try
{
if (this.init())
{
net.minecraftforge.fml.common.FMLCommonHandler.instance().handleServerStarted();
this.currentTime = getCurrentTimeMillis();
long i = 0L;
this.statusResponse.setServerDescription(new TextComponentString(this.motd));
this.statusResponse.setVersion(new ServerStatusResponse.Version("1.12.2", 340));
this.applyServerIconToResponse(this.statusResponse);
while (this.serverRunning)
{
long k = getCurrentTimeMillis();
long j = k - this.currentTime;
if (j > 2000L && this.currentTime - this.timeOfLastWarning >= 15000L)
{
LOGGER.warn("Can't keep up! Did the system time change, or is the server overloaded? Running {}ms behind, skipping {} tick(s)", Long.valueOf(j), Long.valueOf(j / 50L));
j = 2000L;
this.timeOfLastWarning = this.currentTime;
}
if (j < 0L)
{
LOGGER.warn("Time ran backwards! Did the system time change?");
j = 0L;
}
i += j;
this.currentTime = k;
if (this.worlds[0].areAllPlayersAsleep())
{
this.tick();
i = 0L;
}
else
{
while (i > 50L)
{
i -= 50L;
this.tick();
}
}
Thread.sleep(Math.max(1L, 50L - i));
this.serverIsRunning = true;
}
net.minecraftforge.fml.common.FMLCommonHandler.instance().handleServerStopping();
net.minecraftforge.fml.common.FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions
}
else
{
net.minecraftforge.fml.common.FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions
this.finalTick((CrashReport)null);
}
}
catch (net.minecraftforge.fml.common.StartupQuery.AbortedException e)
{
// ignore silently
net.minecraftforge.fml.common.FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions
}
catch (Throwable throwable1)
{
LOGGER.error("Encountered an unexpected exception", throwable1);
CrashReport crashreport = null;
if (throwable1 instanceof ReportedException)
{
crashreport = this.addServerInfoToCrashReport(((ReportedException)throwable1).getCrashReport());
}
else
{
crashreport = this.addServerInfoToCrashReport(new CrashReport("Exception in server tick loop", throwable1));
}
File file1 = new File(new File(this.getDataDirectory(), "crash-reports"), "crash-" + (new SimpleDateFormat("yyyy-MM-dd_HH.mm.ss")).format(new Date()) + "-server.txt");
if (crashreport.saveToFile(file1))
{
LOGGER.error("This crash report has been saved to: {}", (Object)file1.getAbsolutePath());
}
else
{
LOGGER.error("We were unable to save this crash report to disk.");
}
net.minecraftforge.fml.common.FMLCommonHandler.instance().expectServerStopped(); // has to come before finalTick to avoid race conditions
this.finalTick(crashreport);
}
finally
{
try
{
this.stopServer();
}
catch (Throwable throwable)
{
LOGGER.error("Exception stopping the server", throwable);
}
finally
{
net.minecraftforge.fml.common.FMLCommonHandler.instance().handleServerStopped();
this.serverStopped = true;
this.systemExitNow();
}
}
}</code></pre></div> <div style="width: 100%; max-width: 996px; margin-top: 2px;">
<div style="color: inherit; fill: inherit;">
<div style="display: flex;">
评论区