[1.7.10]Modular Mayhem

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

Nezraddin

New Member
Jul 29, 2019
875
0
0
Thank you for this information (actually for both) :)
Didn't know that there is no longer need/use for permgen (shows how little I know about this technical stuff ^^")
 

Magzie

Well-Known Member
Mar 26, 2014
1,395
210
78
I don't like using Java Arguments and if the program can't work without it i will have to not use the mod sorry. It is nothing against the author. That being said for me, a little info for others.

-XX:+UseG1GC enables the use the G1 garbage collector which from what i have read changes the way the unused memory is collected.

A few links:
http://www.oracle.com/technetwork/tutorials/tutorials-1876574.html

https://msdn.microsoft.com/en-us/library/0xy59wtx(v=vs.110).aspx

The mod having to have this enable means he has a memory problem in the mod?? Not that great with programming. Again sorry for having to disable that mod in my game and I would suggest that you always look into any Java Arguments before enabling them in your games. And I don't believe the Argument is unsafe just i keep my PC locked down as it were and i personal don't feel right using them.

Also Note: I assume just not updating to the newest update would allow you to keep using the mod without the aug?

Also Note: Again Not good at Programing but would breaking the mod up into multi mods help with the memory problems?
 
Last edited:

BrickVoid

Well-Known Member
Dec 2, 2012
593
57
54
https://github.com/ReikaKalseki/Reika_Mods_Issues/issues/475

That, that is the problem. No idea why, Java 7 is fine, Java 8 causes a crash. Not his code, it appears to be an error within Java itself. He isn't sure what to do. Changing the argument is simply a kludge around the problem. It isn't helping that he can't run Java 8 himself to test things.

Tell him he has to update to Java 8. It fixes a lot of problems Java 7 was having, anyway. If he has incomplete applications, and they stop working, he will have to rebuild them for Java 8, or not use them if they're not his own programs.

He could also consider the possibility of buying or renting a system which can already run Java 8 and move his development environment over to it whilst still keeping his incomplete Java 7 programs intact.

What this is going to take is time, experimentation with Java 8 and how it works, and a lot of recompiling, if he owns them himself, of the incomplete applications that don't work in Java 8.

There really is no excuse to not update to Java 8, it's better performance and stability wise anyway. Refusing to update will only exacerbate his issues with trying to diagnose something he can't diagnose because the testing environment behaves differently.

Cheers ...

BrickVoid
 

Nezraddin

New Member
Jul 29, 2019
875
0
0
You people are forgetting, that noone 'forces' you to add this argument. Just that if you do not do that, some parts of chromaticraft will be disabled (if I read right something about a dimension).

You still can play the modpack without adding the argument, just that some (I guess "little" seen on what else the mod brings) parts will be disabled.

So please don't spread the "You cannot play the modpack without being forced to add this argument"-rumour, this is just not true how you say it. You 'can' play the modpack totally normally, just with one part disabled. Like many many machines are disabled, nothing more nothing less.

So you can say that you're not happy that this part will be disabled (until Reika finds a solution for it) but all this "I don't play this modpack cause I'm forced to add this java argument" is absolutely not true. It is 'your' choice to either add it (if you want this chromaticraft part that is disabled else) or not.
And Iskandar's sentence about this argument clearly tells that information.
 

erindalc

Popular Member
Mar 3, 2015
992
512
109
Steam
You people are forgetting, that noone 'forces' you to add this argument. Just that if you do not do that, some parts of chromaticraft will be disabled (if I read right something about a dimension).

You still can play the modpack without adding the argument, just that some (I guess "little" seen on what else the mod brings) parts will be disabled.

So please don't spread the "You cannot play the modpack without being forced to add this argument"-rumour, this is just not true how you say it. You 'can' play the modpack totally normally, just with one part disabled. Like many many machines are disabled, nothing more nothing less.

So you can say that you're not happy that this part will be disabled (until Reika finds a solution for it) but all this "I don't play this modpack cause I'm forced to add this java argument" is absolutely not true. It is 'your' choice to either add it (if you want this chromaticraft part that is disabled else) or not. And Iskandar's sentence about this argument clearly says that information.
I believe it forces a crash actually, I could be wrong though I haven't tried it.

Sent from my Barrel of Fun using Tapatalk
 

Iskandar

Popular Member
Feb 17, 2013
1,285
685
128
I don't like using Java Arguments and if the program can't work without it i will have to not use the mod sorry. It is nothing against the author. That being said for me, a little info for others.

-XX:+UseG1GC enables the use the G1 garbage collector which from what i have read changes the way the unused memory is collected.

A few links:
http://www.oracle.com/technetwork/tutorials/tutorials-1876574.html

https://msdn.microsoft.com/en-us/library/0xy59wtx(v=vs.110).aspx

The mod having to have this enable means he has a memory problem in the mod?? Not that great with programming. Again sorry for having to disable that mod in my game and I would suggest that you always look into any Java Arguments before enabling them in your games. And I don't believe the Argument is unsafe just i keep my PC locked down as it were and i personal don't feel right using them.

Also Note: I assume just not updating to the newest update would allow you to keep using the mod without the aug?

Also Note: Again Not good at Programing but would breaking the mod up into multi mods help with the memory problems?

No, the crash has existed for those using Java 8 for a while now. He was unaware of it because his dev environment is in Java 7 and can't update. For some reason the way Java 8 changed memory management means as soon as you enter the Chroma dimension you crash. If you are on Java 7 you are fine, Java 8 you 100% reliably crash. And not just crash Minecraft, it crashes the JVM itself, which means he doesn't even have useful crash logs to help figure it out. This appears, btw, not to be a bug in his code, but a bug within how Java 8 itself manages memory. Just, you know, good luck getting Oracle to listen to a hobby Minecraft mod programmer. Setting the Java argument the way he does is simply a kludge, a way to not trigger the bug until he can find a better workaround. This is 100% not his fault. His code is fine, it works perfect in Java 7, has had no issues up until Java 8 came along. He'd like to find a better fix, but anyone who understands Java, Minecraft, or Forge better than he does decides to insult him instead of helping. Which is sad.
 

Iskandar

Popular Member
Feb 17, 2013
1,285
685
128
Tell him he has to update to Java 8. It fixes a lot of problems Java 7 was having, anyway. If he has incomplete applications, and they stop working, he will have to rebuild them for Java 8, or not use them if they're not his own programs.

He could also consider the possibility of buying or renting a system which can already run Java 8 and move his development environment over to it whilst still keeping his incomplete Java 7 programs intact.

What this is going to take is time, experimentation with Java 8 and how it works, and a lot of recompiling, if he owns them himself, of the incomplete applications that don't work in Java 8.

There really is no excuse to not update to Java 8, it's better performance and stability wise anyway. Refusing to update will only exacerbate his issues with trying to diagnose something he can't diagnose because the testing environment behaves differently.

Cheers ...

BrickVoid

Meh. Minecraft is still Java 7 compatible for the time being. Doesn't change matters, Java 8 sholuld be able to run the same code without problems that Java 7 can. in this case, it can't. This bug is wholly 100% Oracle's fault, not Reika's. Just, you know, everyone has your attitude and decides to be insulting instead of helpful and, well, this is the best fix he's got because of it.
 

Iskandar

Popular Member
Feb 17, 2013
1,285
685
128
I believe it forces a crash actually, I could be wrong though I haven't tried it.

Sent from my Barrel of Fun using Tapatalk
No, it won't crash. I bitched at him for that because forcing a crash drops the problems from his shoulder's squarely onto mine and other mod pack devs. So he has added a config option, which I've set. It won't crash, but if you fail to set the argument, and you're on Java 8, it will disable the Chroma dimension and warn you about it.

Honeslt, the Chroma dimension is late, late stage Chromaticraft. You can use 95% of the mod without it, which is why this bug has existed for so long. Only recently has Java 8 become popular enough that enough of the people reaching end stage Chromaticraft have been using it, and then crashing. And because the JVM itself is doing the crash the logs were less than useful.
 

erindalc

Popular Member
Mar 3, 2015
992
512
109
Steam
No, it won't crash. I bitched at him for that because forcing a crash drops the problems from his shoulder's squarely onto mine and other mod pack devs. So he has added a config option, which I've set. It won't crash, but if you fail to set the argument, and you're on Java 8, it will disable the Chroma dimension and warn you about it.

Honeslt, the Chroma dimension is late, late stage Chromaticraft. You can use 95% of the mod without it, which is why this bug has existed for so long. Only recently has Java 8 become popular enough that enough of the people reaching end stage Chromaticraft have been using it, and then crashing. And because the JVM itself is doing the crash the logs were less than useful.
So it used to, okay. I'm glad he fixed that. If I had the time and expertise I would help fix it.

Sent from my Barrel of Fun using Tapatalk
 

Magzie

Well-Known Member
Mar 26, 2014
1,395
210
78
No, the crash has existed for those using Java 8 for a while now. He was unaware of it because his dev environment is in Java 7 and can't update. For some reason the way Java 8 changed memory management means as soon as you enter the Chroma dimension you crash. If you are on Java 7 you are fine, Java 8 you 100% reliably crash. And not just crash Minecraft, it crashes the JVM itself, which means he doesn't even have useful crash logs to help figure it out. This appears, btw, not to be a bug in his code, but a bug within how Java 8 itself manages memory. Just, you know, good luck getting Oracle to listen to a hobby Minecraft mod programmer. Setting the Java argument the way he does is simply a kludge, a way to not trigger the bug until he can find a better workaround. This is 100% not his fault. His code is fine, it works perfect in Java 7, has had no issues up until Java 8 came along. He'd like to find a better fix, but anyone who understands Java, Minecraft, or Forge better than he does decides to insult him instead of helping. Which is sad.
You can try making a video about the problem he is having and see if the viewers have any ideas? Also it crashes on curse also? (asking cause it uses the minecraft launcher which uses it's on java?)
 

KingTriaxx

Forum Addict
Jul 27, 2013
4,266
1,333
184
Michigan
If the information I'm reading is correct, what the argument is doing is forcing Java 8 to use a new method of Garbage Collection which is intended to replace the old. It seems that it's not a matter of fixing the issue as much as it is waiting for the crash to outdate itself.

Of course, I could be reading it wrong.
 

beardedknight

New Member
Jul 29, 2019
5
0
0
Also Note: Again Not good at Programing but would breaking the mod up into multi mods help with the memory problems?

Afraid it's not that simple. Out of curiosity, I tried setting up the dev environment for myself in Java 1.8; using Eclipse and Forge 1.7.10-10.13.4.1558, the mod relies on the apis of DragonAPI, ATG, Baubles, BloodMagic, Botania, ChocolateQuest, CodeChickenCore, Forestry, Mekanism, MeteorCraft, Mystcraft, NEI, Pneumaticraft, RotaryCraft, Thaumcraft, VoidMonster, Waila, etc... just to even compile. So, when you say break the mod up into multiple parts, well - its already in multiple parts.

I got tired issuing 'gradlew build' and getting hundreds of errors time after time telling me class members weren't visible. If I had access to Reika's build setup, I don't think it would take me long to recreate it in 1.8 and debug it. As it is, I have to guess, and that takes time.

Anyway, great pack, I like the mods in it, been playing for about 3 weeks on it. Will pass though for now until the bug gets fixed. By the way, it's not Oracle's fault for releasing JRE 1.8 - they've been phasing 1.7 out for a year now.

Peace.
 

BrickVoid

Well-Known Member
Dec 2, 2012
593
57
54
No, the crash has existed for those using Java 8 for a while now. He was unaware of it because his dev environment is in Java 7 and can't update. For some reason the way Java 8 changed memory management means as soon as you enter the Chroma dimension you crash. If you are on Java 7 you are fine, Java 8 you 100% reliably crash. And not just crash Minecraft, it crashes the JVM itself, which means he doesn't even have useful crash logs to help figure it out. This appears, btw, not to be a bug in his code, but a bug within how Java 8 itself manages memory. Just, you know, good luck getting Oracle to listen to a hobby Minecraft mod programmer. Setting the Java argument the way he does is simply a kludge, a way to not trigger the bug until he can find a better workaround. This is 100% not his fault. His code is fine, it works perfect in Java 7, has had no issues up until Java 8 came along. He'd like to find a better fix, but anyone who understands Java, Minecraft, or Forge better than he does decides to insult him instead of helping. Which is sad.

It's more than that, I have been reading about methods of programming using Java 8, and one thing he definitely could take advantage of are Lambdas. It makes Java programming so much simpler, I cannot understand why Reika doesn't get his dev environment moved over to Java 8, or replace it with one that can support Java 8. There are many good reasons to move from Java 7 orientated programming to Java 8 orientated programming, as there are new features and better programming practices Reika could be taking advantage of right now, he's worse off if he doesn't, and to top things off, Java 9 is soon coming - whether to modded Minecraft is unknown as yet - but he should be ready for that anyway, because sooner or later he's going to get crash reports from someone using Java 9, and he's still stuck in Java 7 with no way to deal with new programming practices he should be keeping up with anyway!

Reika can either adapt and get into the newer Java versions, or he can continue to be stuck in the increasingly bug-ridden Java 7 dev environment - it's his choice, but I do not by any means recommend the latter.

Cheers ...

BrickVoid
 

Odovbold

New Member
Jul 29, 2019
234
0
1
I got tired issuing 'gradlew build' and getting hundreds of errors time after time telling me class members weren't visible. If I had access to Reika's build setup, I don't think it would take me long to recreate it in 1.8 and debug it. As it is, I have to guess, and that takes time.
Hehe, trying to get into mod developing? :D

If you still have interest to continue, you need to download all the -dev version jar for all the dependent packages, e.g. for Thaumcraft 4 you need Thaumcraft-deobf-1.7.10-4.2.3.5.jar instead the normal one in your mods folder
 

Magzie

Well-Known Member
Mar 26, 2014
1,395
210
78
If the program is crashing java and not minecraft why can't he look up the java crash log? I'm sure someone could send him a copy of it? Also wouldn't there be a program error logged into the Operating system?
 
Last edited:

beardedknight

New Member
Jul 29, 2019
5
0
0
Hehe, trying to get into mod developing? :D

If you still have interest to continue, you need to download all the -dev version jar for all the dependent packages, e.g. for Thaumcraft 4 you need Thaumcraft-deobf-1.7.10-4.2.3.5.jar instead the normal one in your mods folder

Not "trying". I can understand and read the code just fine. Problem is every developer has a different setup on how they do things. In your example for instance, I could add the deobfuscated code into the source, sure, but I can also add the compiled jar as a referenced library. Reika's github doesn't include his build.gradle file nor his eclipse setup (which I admit, doesn't need to be published), so I have no way of knowing what his setup is. Does he compile the apis through gradle? Or are they compiled at run time along with the source for chromaticraft? All that aside, my point before was that there were at least 15 dependencies - and I have no way of knowing if each dependency was modified. So yeah, I could help out if I knew the exact config; but why bother? It's far easier for the developer himself to do it, by just installing Java 1.8 and debugging.
 

BrickVoid

Well-Known Member
Dec 2, 2012
593
57
54
Not "trying". I can understand and read the code just fine. Problem is every developer has a different setup on how they do things. In your example for instance, I could add the deobfuscated code into the source, sure, but I can also add the compiled jar as a referenced library. Reika's github doesn't include his build.gradle file nor his eclipse setup (which I admit, doesn't need to be published), so I have no way of knowing what his setup is. Does he compile the apis through gradle? Or are they compiled at run time along with the source for chromaticraft? All that aside, my point before was that there were at least 15 dependencies - and I have no way of knowing if each dependency was modified. So yeah, I could help out if I knew the exact config; but why bother? It's far easier for the developer himself to do it, by just installing Java 1.8 and debugging.

Question, dependencies aside, could a compileable version of his code be made? Also, if these dependencies pointed to some other mod's source code, should they even be modified?

If it was possible to somehow work out what the dependencies are there for, maybe you could proceed to building something. I wish I knew more about source code, it's not easy programming, and believe me it's complicated to compile anything more complicated than a "Hello, world" program! :D

Cheers ...

BrickVoid
 

Iskandar

Popular Member
Feb 17, 2013
1,285
685
128
If the program is crashing java and not minecraft why can't he look up the java crash log? I'm sure someone could send him a copy of it? Also wouldn't there be a program error logged into the Operating system?
Oh, he can look up the Java crash log just fine. Just, well, the cash log looks like this: http://pastebin.com/LxWv5du7 Good luck of making sense of any of that.