DivineRPG (Official)

DivineRPG (Official)

2M Downloads

Crash on Update Checker

krwminer opened this issue ยท 13 comments

commented

---- Minecraft Crash Report ----
// I blame Dinnerbone.

Time: 8/29/15 12:45 AM
Description: Unexpected error

java.lang.NullPointerException: Unexpected error
at java.net.NetworkInterface.getInterfaceAddresses(Unknown Source)
at net.divinerpg.utils.events.UpdateChecker.isOnline(UpdateChecker.java:32)
at net.divinerpg.client.render.gui.GUIOverlay.drawOverlay(GUIOverlay.java:28)
at net.divinerpg.utils.events.EventOverlay.renderOverlay(EventOverlay.java:20)
at cpw.mods.fml.common.eventhandler.ASMEventHandler_27_EventOverlay_renderOverlay_RenderGameOverlayEvent.invoke(.dynamic)
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54)
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:138)
at net.minecraftforge.client.GuiIngameForge.post(GuiIngameForge.java:899)
at net.minecraftforge.client.GuiIngameForge.renderExperience(GuiIngameForge.java:544)
at net.minecraftforge.client.GuiIngameForge.func_73830_a(GuiIngameForge.java:150)
at net.minecraft.client.renderer.EntityRenderer.func_78480_b(EntityRenderer.java:1038)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1001)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898)
at net.minecraft.client.main.Main.main(SourceFile:148)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

A detailed walkthrough of the error, its code path and all known details is as follows:

-- Head --
Stacktrace:
at java.net.NetworkInterface.getInterfaceAddresses(Unknown Source)
at net.divinerpg.utils.events.UpdateChecker.isOnline(UpdateChecker.java:32)
at net.divinerpg.client.render.gui.GUIOverlay.drawOverlay(GUIOverlay.java:28)
at net.divinerpg.utils.events.EventOverlay.renderOverlay(EventOverlay.java:20)
at cpw.mods.fml.common.eventhandler.ASMEventHandler_27_EventOverlay_renderOverlay_RenderGameOverlayEvent.invoke(.dynamic)
at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54)
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:138)
at net.minecraftforge.client.GuiIngameForge.post(GuiIngameForge.java:899)
at net.minecraftforge.client.GuiIngameForge.renderExperience(GuiIngameForge.java:544)
at net.minecraftforge.client.GuiIngameForge.func_73830_a(GuiIngameForge.java:150)

-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityClientPlayerMP['Bobtheme'/18522, l='MpServer', x=-194.50, y=70.62, z=-25.50]]
Chunk stats: MultiplayerChunkCache: 345, 345
Level seed: 0
Level generator: ID 00 - default, ver 1. Features enabled: false
Level generator options:
Level spawn location: World: (-192,64,-28), Chunk: (at 0,4,4 in -12,-2; contains blocks -192,0,-32 to -177,255,-17), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
Level time: 129406 game time, 129406 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false
Forced entities: 25 total; [EntityClientPlayerMP['Bobtheme'/18522, l='MpServer', x=-194.50, y=70.62, z=-25.50], Entity_SpecialSkeleton['Skeleton'/19487, l='MpServer', x=-222.50, y=15.62, z=-74.50], Entity_SpecialSkeleton['Skeleton'/19486, l='MpServer', x=-217.50, y=16.62, z=-76.50], EntityBat['Bat'/19056, l='MpServer', x=-215.51, y=30.42, z=8.69], Entity_SpecialSkeleton['Skeleton'/19210, l='MpServer', x=-222.57, y=16.62, z=-64.51], EntityPoisonSkeleton['Poison Skeleton'/19209, l='MpServer', x=-227.79, y=17.00, z=-64.24], Entity_SpecialSpider['Spider'/19608, l='MpServer', x=-237.50, y=31.62, z=-58.50], EntityPig['Pig'/72, l='MpServer', x=-212.33, y=70.25, z=-43.92], EntityPig['Pig'/73, l='MpServer', x=-218.50, y=70.00, z=-45.03], EntityEnderSpider['Ender Spider'/19741, l='MpServer', x=-137.99, y=59.59, z=-75.49], EntityEnderSpider['Ender Spider'/19740, l='MpServer', x=-136.27, y=59.25, z=-74.75], EntityEnderSpider['Ender Spider'/19739, l='MpServer', x=-138.55, y=60.00, z=-77.72], EntityCrab['Crab'/19359, l='MpServer', x=-182.50, y=66.00, z=-87.50], EntityPig['Pig'/562, l='MpServer', x=-208.24, y=67.25, z=3.47], EntityPig['Pig'/561, l='MpServer', x=-213.03, y=67.00, z=13.09], EntityCrab['Crab'/19357, l='MpServer', x=-184.50, y=64.84, z=-84.50], EntityCrab['Crab'/19631, l='MpServer', x=-237.50, y=33.00, z=-66.50], Entity_SpecialCreeper['Creeper'/19734, l='MpServer', x=-229.50, y=33.00, z=21.50], EntityCrab['Crab'/19629, l='MpServer', x=-236.32, y=32.03, z=-67.40], Entity_SpecialSpider['Spider'/18955, l='MpServer', x=-258.67, y=31.59, z=-9.64], EntitySheep['Sheep'/572, l='MpServer', x=-135.50, y=68.00, z=-7.50], EntityDrowningCreeper['Drowning Creeper'/19136, l='MpServer', x=-235.50, y=17.62, z=-54.50], EntityGiantSkeleton['Giant Skeleton'/19488, l='MpServer', x=-222.50, y=15.62, z=-72.50], EntitySheep['Sheep'/569, l='MpServer', x=-131.50, y=68.00, z=-4.50], Entity_SpecialSkeleton['Skeleton'/19489, l='MpServer', x=-221.50, y=15.62, z=-73.50]]
Retry entities: 0 total; []
Server brand: cauldron,craftbukkit,mcpc,fml,forge
Server type: Non-integrated multiplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.func_72914_a(WorldClient.java:373)
at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2444)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:927)
at net.minecraft.client.main.Main.main(SourceFile:148)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 7 (amd64) version 6.1
Java Version: 1.7.0_67, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 694367568 bytes (662 MB) / 1886388224 bytes (1799 MB) up to 4772069376 bytes (4551 MB)
JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx5120m -XX:MaxPermSize=256m
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1492 45 mods loaded, 45 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
UCHIJA mcp{9.05} Minecraft Coder Pack
UCHIJA FML{7.10.99.99} Forge Mod Loader
UCHIJA Forge{10.13.4.1492} Minecraft Forge
UCHIJA appliedenergistics2-core{rv2-stable-10} AppliedEnergistics2 Core
UCHIJA CodeChickenCore{1.0.7.46} CodeChicken Core
UCHIJA MobiusCore{1.2.5} MobiusCore
UCHIJA NotEnoughItems{1.0.5.111} Not Enough Items
UCHIJA ThaumicTinkerer-preloader{0.1} Thaumic Tinkerer Core
UCHIJA divinerpg{1.4.0.5} DivineRPG
UCHIJA DamageIndicatorsMod{3.2.3} Damage Indicators
UCHIJA appliedenergistics2{rv2-stable-10} Applied Energistics 2
UCHIJA BiblioCraft{1.10.4} BiblioCraft
UCHIJA BiomesOPlenty{2.1.0} Biomes O' Plenty
UCHIJA BiblioWoodsBoP{1.9} BiblioWoods Biomes O'Plenty Edition
UCHIJA Baubles{1.0.1.10} Baubles
UCHIJA Thaumcraft{4.2.3.5} Thaumcraft
UCHIJA Botania{r1.7-201} [Botania](Botania r1.7-201.jar)
UCHIJA CarpentersBlocks{3.3.6} [Carpenter's Blocks](Carpenter's Blocks v3.3.6 - MC 1.7.10.jar)
UCHIJA chisel{2.4.1.40} Chisel 2
UCHIJA ctmlib{1.0.1.5} CTMLib
UCHIJA customnpcs{1.7.10c} CustomNpcs
UCHIJA dldungeonsjdg{1.7.6} Doomlike Dungeons
UCHIJA endercore{1.7.10-0.0.1.12_alpha} EnderCore
UCHIJA FastCraft{1.21} FastCraft
UCHIJA Growthcraft{2.1.0a} Growthcraft
UCHIJA Growthcraft|Cellar{2.1.0a} Growthcraft Cellar
UCHIJA Growthcraft|Grapes{2.1.0} Growthcraft Grapes
UCHIJA Growthcraft|Hops{2.1.0} Growthcraft Hops
UCHIJA HardcoreEnderExpansion{1.8.2} [Hardcore Ender Expansion](HardcoreEnderExpansion MC-1.7.10 v1.8.2.jar)
UCHIJA magicalcrops{4.0.0_PUBLIC_BETA_4b} Magical Crops: Core
UCHIJA RadixCore{2.0.2} RadixCore
UCHIJA MCA{5.0.6} Minecraft Comes Alive
UCHIJA MapWriter{2.1.2} MapWriter
UCHIJA Opis{1.2.5} Opis
UCHIJA harvestcraft{1.7.10i} [Pam's HarvestCraft](Pam's HarvestCraft 1.7.10i.jar)
UCHIJA SpecialMobs{3.1.1} Special Mobs
UCHIJA tcnodetracker{1.1.1} TC Node Tracker
UCHIJA thaumcarpentry{0.0.1.5-1.7.10} Thaumcarpentry
UCHIJA ThaumcraftMobAspects{1.7.x-2B} Thaumcraft Mob Aspects
UCHIJA thaumcraftneiplugin{@Version@} Thaumcraft NEI Plugin
UCHIJA Waila{1.5.10} Waila
UCHIJA ThaumicTinkerer{unspecified} Thaumic Tinkerer
UCHIJA ThaumicExploration{0.6.0} Thaumic Exploration
UCHIJA wailaplugins{MC1.7.10-0.1.0-16} WAILA Plugins
UCHIJA JustAnotherSpawner{0.17.0} Just Another Spawner
GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.0.10151 Compatibility Profile Context' Renderer: 'ATI Mobility Radeon HD 5870'
AE2 Version: stable rv2-stable-10 for Forge 10.13.2.1291
AE2 Integration: IC2:OFF, RotaryCraft:OFF, RC:OFF, BC:OFF, RF:OFF, RFItem:OFF, MFR:OFF, DSU:ON, FZ:OFF, FMP:OFF, RB:OFF, CLApi:OFF, Waila:ON, InvTweaks:OFF, NEI:ON, CraftGuide:OFF, Mekanism:OFF, ImmibisMicroblocks:OFF, BetterStorage:OFF
Launched Version: 1.7.10-Forge10.13.4.1492-1.7.10
LWJGL: 2.9.1
OpenGL: ATI Mobility Radeon HD 5870 GL version 4.0.10151 Compatibility Profile Context, ATI Technologies Inc.
GL Caps: Using GL 1.3 multitexturing.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Anisotropic filtering is supported and maximum anisotropy is 16.
Shaders are available because OpenGL 2.1 is supported.

Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs: []
Current Language: English (US)
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Anisotropic Filtering: Off (1)
commented
commented

This is a Java 7 bug :/. Not sure if there's any workaround/fix.

commented

Is there another way to check this? I will poke around and see if anyone else has something.

commented

What about something like this:

public static boolean isOnline() {
boolean connectivity;
try {
URL url = new URL("https://raw.github.com/DivineRPG/DivineRPG/master/Version.txt");
URLConnection conn = url.openConnection();
conn.connect();
connectivity = true;
} catch (Exception e) {
connectivity = false;
}
return connectivity;
}

commented

I have this bug on(in?) java 8 =P.

commented

This is not actually a Java bug, but rather an issue with the user's network configuration. If you are having this bug, and if you are on windows, open up your command prompt and please provide the output of "ipconfig /all"

If you only get this crash when not connected to the internet then it could be that I simply forgot to catch the exception, as it should only throw a null pointer if no internet connections could be found.

@krwminer That would "work" for just version checking, though still best to avoid that approach. You are not checking for an internet connection, you are attempting to make a connection, which will be slower and harmful to performance, especially if the connection would fail, as it will try to connect for quite some time before it fails. Also if for some reason github servers go down or the url changes, then even if connected you will be returning false. If you must do it this way, then check for a connection with a more common domain such as google.com. Furthermore, I had written the online check to be generic so that it could be used for more than just version checking, and even then like I said, if we were to not check for internet connection and simply try to make a connection to the version file, it would take a considerable longer amount of time than checking for an internet connection and then making a connection, of course depending on the user's machine and network configuration.

All that said, making a connection like that would be the next advisable option, as a TCP connection check, though still preferred, is a bit pointless for a simple check like this.

If people only get this crash when not connected to the internet, then this can be easily fixed. If they are connected to the internet and the output of "ipconfig /all" does not shed some light on the issue then the best course of action would be to do the URLConnection method in the catch block when a null pointer from the current method is caught

commented

This happened when connected to the internet. I am trying to get the "ipconfig /all" for you.

commented

@krwminer You can do "ipconfig /all > Desktop/ipconfig.txt" to make it go to a txt file in case thats why you are "trying" :)

Also what version of Windows are you on? And any security/anti virus programs running? These could also be factors

commented

I am relaying the info from someone else, that is why I do not have it for you. If it was just me, you would have all the info you need by now. ;)

If they do not respond soon, I will try and replicate it.

commented

@fewizz,

You see this problem also, right? Do you think you could provide the information @BossLetsPlays is requesting? I would like to wrap this up and close this issue out as soon as possible.

commented

I understand, I want it fixed the best way too. I am just trying to help.

commented

Going ahead and closing this as commit 665 solves the crashing, though the ipconfig /all output will still be appreciated

commented

I mean either way I can fix the problem right now, but having that info might let me fix it in a way that wouldn't hurt world loading/joining speeds