Server crashes when virtual villager trade GUI is closed, in 1.13 this used to work without issues.
net.minecraft.server.v1_14_R1.ReportedException: Ticking player at net.minecraft.server.v1_14_R1.EntityPlayer.playerTick(EntityPlayer.java:478) ~[spigot1.14.jar:git-Spigot-6dbf995-364b6fb] at net.minecraft.server.v1_14_R1.PlayerList.disconnect(PlayerList.java:384) ~[spigot1.14.jar:git-Spigot-6dbf995-364b6fb] at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1380) ~[spigot1.14.jar:git-Spigot-6dbf995-364b6fb] at net.minecraft.server.v1_14_R1.PlayerConnection.disconnect(PlayerConnection.java:266) ~[spigot1.14.jar:git-Spigot-6dbf995-364b6fb] at net.minecraft.server.v1_14_R1.PlayerList.shutdown(PlayerList.java:1002) ~[spigot1.14.jar:git-Spigot-6dbf995-364b6fb] at net.minecraft.server.v1_14_R1.MinecraftServer.stop(MinecraftServer.java:674) ~[spigot1.14.jar:git-Spigot-6dbf995-364b6fb] at net.minecraft.server.v1_14_R1.DedicatedServer.stop(DedicatedServer.java:695) ~[spigot1.14.jar:git-Spigot-6dbf995-364b6fb] at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:830) [spigot1.14.jar:git-Spigot-6dbf995-364b6fb] at java.lang.Thread.run(Unknown Source) [?:1.8.0_161] Caused by: java.lang.NullPointerException at net.minecraft.server.v1_14_R1.ContainerMerchant.b(ContainerMerchant.java:117) ~[spigot1.14.jar:git-Spigot-6dbf995-364b6fb] at net.minecraft.server.v1_14_R1.EntityPlayer.m(EntityPlayer.java:1141) ~[spigot1.14.jar:git-Spigot-6dbf995-364b6fb] at net.minecraft.server.v1_14_R1.EntityPlayer.closeInventory(EntityPlayer.java:1131) ~[spigot1.14.jar:git-Spigot-6dbf995-364b6fb] at net.minecraft.server.v1_14_R1.EntityHuman.tick(EntityHuman.java:149) ~[spigot1.14.jar:git-Spigot-6dbf995-364b6fb] at net.minecraft.server.v1_14_R1.EntityPlayer.playerTick(EntityPlayer.java:396) ~[spigot1.14.jar:git-Spigot-6dbf995-364b6fb] ... 8 more
To create the GUI I just use Bukkit methods:
Merchant merchant = Bukkit.createMerchant(title);
....
merchant.setRecipes(merchantRecipes);
player.openMerchant(merchant, true);