Necesse

Necesse

Ranged Arsenal (killed by steam)
 This topic has been pinned, so it's probably important
Jakapoa  [developer] 5 Apr, 2024 @ 11:57pm
Bugs & Crashes
I've tried my best to make sure things work, but sometimes you miss a thing or two. If you notice anything odd or broken, post it here.

To make things easy, if you get a crash pop-up, paste the text here.

Please check that the version of RA you have installed is the most recent version before posting.
The workshop often fails to send new updates, and your bug/crash may have already been fixed.
Last edited by Jakapoa; 28 Sep, 2024 @ 11:53am
< >
Showing 1-15 of 30 comments
Vall-mall 10 Apr, 2024 @ 4:36am 
This crash was due to me hovering over a recipe in the mod via the basic wooden workbench.


Crash:
--- Necesse crash log ---
Generated on: 2024-04-10 06h31m38s
Game state: MainGame
Game version: 0.24.2
Game language: en
Steam build: 13872621
Steam name: Vall-mall
Authentication: 76561199045506356
Found 4 loaded mods:
galva, v1.5 - Galva - Attributes (2982440643)
goliath.portablestorage, v1.12 - Portable Storage (2831152355)
dianchia.increasedstacksize, v1.1.2 - Increased Stack Size (2827931647)
jakapoa.rangedarsenal, v1.0.1 - Ranged Arsenal (3213528902)
Found 1 not enabled mods:
kkdj20.quarrymod, v0.95.0 - Quarries (2837622089)

Exceptions:
java.lang.NullPointerException: Cannot read field "type" because "item" is null
at necesse.inventory.item.miscItem.AmmoPouch.isValidRequestItem(AmmoPouch.java:34)
at necesse.inventory.item.miscItem.PouchItem.getInventoryAmount(PouchItem.java:287)
at necesse.inventory.Inventory.getAmount(Inventory.java:358)
at necesse.inventory.Inventory.getAmount(Inventory.java:348)
at necesse.inventory.item.toolItem.projectileToolItem.gunProjectileToolItem.GunProjectileToolItem.getAvailableAmmo(GunProjectileToolItem.java:85)
at necesse.inventory.item.toolItem.projectileToolItem.gunProjectileToolItem.GunProjectileToolItem.getPreEnchantmentTooltips(GunProjectileToolItem.java:95)
at necesse.inventory.item.toolItem.ToolItem.getTooltips(ToolItem.java:96)
at necesse.inventory.InventoryItem.getTooltip(InventoryItem.java:247)
at necesse.inventory.InventoryItem.getTooltip(InventoryItem.java:296)
at necesse.inventory.recipe.Recipe.getResultItemTooltip(Recipe.java:303)
at necesse.inventory.recipe.Recipe.getTooltip(Recipe.java:291)
at necesse.inventory.recipe.Recipe.getTooltip(Recipe.java:286)
at necesse.gfx.forms.components.lists.FormContainerCraftingList$CraftableRecipe.draw(FormContainerCraftingList.java:203)
at necesse.gfx.forms.components.lists.FormContainerCraftingList$CraftableRecipe.draw(FormContainerCraftingList.java:174)
at necesse.gfx.forms.components.lists.FormGeneralGridList.draw(FormGeneralGridList.java:147)
at necesse.gfx.forms.components.lists.FormContainerCraftingList.draw(FormContainerCraftingList.java:143)
at necesse.gfx.forms.ComponentList.lambda$drawComponents$3(ComponentList.java:172)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)
at necesse.gfx.forms.ComponentList.drawComponents(ComponentList.java:171)
at necesse.gfx.forms.Form.drawComponents(Form.java:341)
at necesse.gfx.forms.Form.lambda$draw$2(Form.java:393)
at necesse.engine.tickManager.PerformanceTimerManager.recordPerformance(PerformanceTimerManager.java:105)
at necesse.engine.tickManager.Performance.record(Performance.java:10)
at necesse.gfx.forms.Form.draw(Form.java:346)
at necesse.gfx.forms.FormSwitcherTyped.draw(FormSwitcherTyped.java:124)
at necesse.gfx.forms.presets.containerComponent.object.CraftingStationContainerForm.draw(CraftingStationContainerForm.java:197)
at necesse.gfx.forms.ComponentList.lambda$drawComponents$3(ComponentList.java:172)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)
at necesse.gfx.forms.ComponentList.drawComponents(ComponentList.java:171)
at necesse.gfx.forms.FormManager.draw(FormManager.java:506)
at necesse.gfx.forms.MainGameFormManager.draw(MainGameFormManager.java:297)
at necesse.engine.state.MainGame.lambda$drawHud$13(MainGame.java:553)
at necesse.engine.tickManager.PerformanceTimerManager.recordPerformance(PerformanceTimerManager.java:105)
at necesse.engine.tickManager.Performance.record(Performance.java:10)
at necesse.engine.state.MainGame.drawHud(MainGame.java:552)
at necesse.engine.Screen$1.lambda$update$6(Screen.java:740)
at necesse.engine.tickManager.PerformanceTimerManager.recordPerformance(PerformanceTimerManager.java:105)
at necesse.engine.tickManager.Performance.record(Performance.java:10)
at necesse.engine.Screen$1.lambda$update$7(Screen.java:735)
at necesse.engine.tickManager.PerformanceTimerManager.recordConstantPerformance(PerformanceTimerManager.java:113)
at necesse.engine.tickManager.Performance.recordConstant(Performance.java:16)
at necesse.engine.Screen$1.update(Screen.java:708)
at necesse.engine.tickManager.TickManager.tickLogic(TickManager.java:98)
at necesse.engine.Screen.init(Screen.java:1129)
at necesse.engine.Screen.<init>(Screen.java:261)
at StartClient.main(StartClient.java:111)


OS: Microsoft Windows 10 (Home) build 19045
OS arch: amd64
CPU: 13th Gen Intel(R) Core(TM) i5-13420H
Memory total: 8.21 GB
Memory used: 7.39 GB
Java path: C:\Program Files (x86)\Steam\steamapps\common\Necesse\jre
Java version: 17.0.5
JVM arguments:
-Xms512m
-Xmx4G
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:G1NewSizePercent=20
-XX:G1ReservePercent=20
-XX:MaxGCPauseMillis=50
-XX:G1HeapRegionSize=32M
LWJGL version: 3.3.1 build 7
AppData path: C:\Users\Leona\AppData\Roaming\Necesse\
Working dir: C:\Program Files (x86)\Steam\steamapps\common\Necesse
Natives path: C:\Program Files (x86)\Steam\steamapps\common\Necesse\.\natives
JVM memory max: 4.29 GB
JVM memory used: 178.55 MB / 973.08 MB (18.35%)

Graphics card: Intel, Intel(R) UHD Graphics
OpenGL version: 4.6.0 - Build 31.0.101.4146
Found 0 displays:
FBO: GL30

Running server: Yes
Server network: LOCAL
Server network in: 1.83 kB/s (571), Total: 12.29 kB (610)
Server network out: 119.52 kB/s (924), Total: 626.62 kB (1067)
Server save name: C:\Users\Leona\AppData\Roaming\Necesse\saves\worlds\hym.zip
Server world time: 815, day 48
Server game time: 40392660
Server local time: 10367
Server ticks: 207
Players online: 1
Slot 0: him at 2804x-312d0
Loaded levels: 1
2804x-312d0, Size: 300x300, Biome: forest, Entities: 401, Mobs: 77, Projectiles: 0, Pickups: 102

Running client: Yes
Client network: LOCAL
Client network in: 119.52 kB/s (924), Total: 626.62 kB (1067)
Client network out: 1.83 kB/s (571), Total: 12.29 kB (610)
Client world time: 815, day 48
Client game time: 40392588
Client local time: 8711
Client slot: 0/1
Client level: 2804x-312d0, Size: 300x300, Biome: forest, Entities: 401, Mobs: 77, Projectiles: 0, Pickups: 102
Jakapoa  [developer] 10 Apr, 2024 @ 11:04am 
Originally posted by Vall-mall:
-snip-
Ah, ammo pouches crashed when trying to load the weapons with non-standard ammo types (seeds/food). I fixed that in the smart pouches but not the vanilla ones.

Mod is updated with a fix. Thanks!
Last edited by Jakapoa; 10 Apr, 2024 @ 11:13am
tonberrion76 10 Apr, 2024 @ 3:05pm 
Crashes when I talk to gunsmith at my settlement

Mods: Ranged Arsenal (v. 1.0.2)

java.lang.NullPointerException: Cannot invoke "java.util.ArrayList.size()" because "<local3>" is null
at necesse.entity.mobs.friendly.human.humanShop.GunsmithHumanMob.getShopItems(GunsmithHumanMob.java:218)
at necesse.entity.mobs.friendly.human.humanShop.HumanShop.getShopItemsContentPacket(HumanShop.java:132)
at necesse.entity.mobs.friendly.human.humanShop.HumanShop.getOpenShopPacket(HumanShop.java:95)
at necesse.entity.mobs.friendly.human.humanShop.HumanShop.interact(HumanShop.java:86)
at necesse.engine.network.packet.PacketPlayerMobInteract.lambda$processServer$1(PacketPlayerMobInteract.java:69)
at necesse.engine.GameEvents.triggerEvent(GameEvents.java:36)
at necesse.engine.network.packet.PacketPlayerMobInteract.processServer(PacketPlayerMobInteract.java:68)
at necesse.engine.network.NetworkPacket.processServer(NetworkPacket.java:247)
at necesse.engine.network.server.Server.processPacket(Server.java:259)
at necesse.engine.network.server.Server.frameTick(Server.java:171)
at necesse.engine.ServerTickThread$1.lambda$update$0(ServerTickThread.java:37)
at necesse.engine.tickManager.PerformanceTimerManager.recordPerformance(PerformanceTimerManager.java:105)
at necesse.engine.tickManager.Performance.record(Performance.java:10)
at necesse.engine.ServerTickThread$1.lambda$update$1(ServerTickThread.java:36)
at necesse.engine.tickManager.PerformanceTimerManager.recordConstantPerformance(PerformanceTimerManager.java:113)
at necesse.engine.tickManager.Performance.recordConstant(Performance.java:16)
at necesse.engine.ServerTickThread$1.update(ServerTickThread.java:33)
at necesse.engine.tickManager.TickManager.tickLogic(TickManager.java:98)
at necesse.engine.ServerTickThread.run(ServerTickThread.java:78)
Jakapoa  [developer] 10 Apr, 2024 @ 3:41pm 
Originally posted by tonberrion76:
snip
Are you running any other mods? I'm not getting a crash, but I recognize that crash info.
Jakapoa  [developer] 10 Apr, 2024 @ 4:00pm 
Originally posted by tonberrion76:
snip
Either way, I've uploaded a patch that should have extra crash prevention around that specific part that hopefully catches the crash.
tonberrion76 12 Apr, 2024 @ 7:25pm 
Originally posted by Jakapoa:
Originally posted by tonberrion76:
snip
Are you running any other mods? I'm not getting a crash, but I recognize that crash info.

I was using the old Trollface Reaper mod, which changes the Reaper's sprite.
I should clarify that for me the game crashes when the gunsmith visits my settlement and is talked to - gunsmiths talked to at premade settlements or perhaps were previously recruited don't cause this.
tonberrion76 12 Apr, 2024 @ 7:32pm 
I've also found that the game crashes when the mouse goes over the 3 seed guns at the loading bench.

java.lang.NullPointerException: Cannot invoke "necesse.inventory.item.Item.isPotion()" because "item" is null
at necesse.inventory.item.miscItem.PotionPouch.isValidRequestItem(PotionPouch.java:69)
at necesse.inventory.item.miscItem.PouchItem.getInventoryAmount(PouchItem.java:287)
at necesse.inventory.Inventory.getAmount(Inventory.java:358)
at necesse.inventory.Inventory.getAmount(Inventory.java:348)
at necesse.inventory.item.toolItem.projectileToolItem.gunProjectileToolItem.GunProjectileToolItem.getAvailableAmmo(GunProjectileToolItem.java:85)
at necesse.inventory.item.toolItem.projectileToolItem.gunProjectileToolItem.GunProjectileToolItem.getPreEnchantmentTooltips(GunProjectileToolItem.java:95)
at necesse.inventory.item.toolItem.ToolItem.getTooltips(ToolItem.java:96)
at necesse.inventory.InventoryItem.getTooltip(InventoryItem.java:247)
at necesse.inventory.InventoryItem.getTooltip(InventoryItem.java:296)
at necesse.inventory.recipe.Recipe.getResultItemTooltip(Recipe.java:303)
at necesse.inventory.recipe.Recipe.getTooltip(Recipe.java:291)
at necesse.inventory.recipe.Recipe.getTooltip(Recipe.java:286)
at necesse.gfx.forms.components.lists.FormContainerCraftingList$CraftableRecipe.draw(FormContainerCraftingList.java:203)
at necesse.gfx.forms.components.lists.FormContainerCraftingList$CraftableRecipe.draw(FormContainerCraftingList.java:174)
at necesse.gfx.forms.components.lists.FormGeneralGridList.draw(FormGeneralGridList.java:147)
at necesse.gfx.forms.components.lists.FormContainerCraftingList.draw(FormContainerCraftingList.java:143)
at necesse.gfx.forms.ComponentList.lambda$drawComponents$3(ComponentList.java:172)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)
at necesse.gfx.forms.ComponentList.drawComponents(ComponentList.java:171)
at necesse.gfx.forms.Form.drawComponents(Form.java:341)
at necesse.gfx.forms.Form.lambda$draw$2(Form.java:393)
at necesse.engine.tickManager.PerformanceTimerManager.recordPerformance(PerformanceTimerManager.java:105)
at necesse.engine.tickManager.Performance.record(Performance.java:10)
at necesse.gfx.forms.Form.draw(Form.java:346)
at necesse.gfx.forms.FormSwitcherTyped.draw(FormSwitcherTyped.java:124)
at necesse.gfx.forms.presets.containerComponent.object.CraftingStationContainerForm.draw(CraftingStationContainerForm.java:197)
at necesse.gfx.forms.ComponentList.lambda$drawComponents$3(ComponentList.java:172)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)
at necesse.gfx.forms.ComponentList.drawComponents(ComponentList.java:171)
at necesse.gfx.forms.FormManager.draw(FormManager.java:506)
at necesse.gfx.forms.MainGameFormManager.draw(MainGameFormManager.java:297)
at necesse.engine.state.MainGame.lambda$drawHud$13(MainGame.java:553)
at necesse.engine.tickManager.PerformanceTimerManager.recordPerformance(PerformanceTimerManager.java:105)
at necesse.engine.tickManager.Performance.record(Performance.java:10)
at necesse.engine.state.MainGame.drawHud(MainGame.java:552)
at necesse.engine.Screen$1.lambda$update$6(Screen.java:740)
at necesse.engine.tickManager.PerformanceTimerManager.recordPerformance(PerformanceTimerManager.java:105)
at necesse.engine.tickManager.Performance.record(Performance.java:10)
at necesse.engine.Screen$1.lambda$update$7(Screen.java:735)
at necesse.engine.tickManager.PerformanceTimerManager.recordConstantPerformance(PerformanceTimerManager.java:113)
at necesse.engine.tickManager.Performance.recordConstant(Performance.java:16)
at necesse.engine.Screen$1.update(Screen.java:708)
at necesse.engine.tickManager.TickManager.tickLogic(TickManager.java:98)
at necesse.engine.Screen.init(Screen.java:1129)
at necesse.engine.Screen.<init>(Screen.java:261)
at StartClient.main(StartClient.java:111)
Jakapoa  [developer] 12 Apr, 2024 @ 8:30pm 
Originally posted by tonberrion76:
Originally posted by Jakapoa:
Are you running any other mods? I'm not getting a crash, but I recognize that crash info.

I was using the old Trollface Reaper mod, which changes the Reaper's sprite.
I should clarify that for me the game crashes when the gunsmith visits my settlement and is talked to - gunsmiths talked to at premade settlements or perhaps were previously recruited don't cause this.
Oh, perfect! Located it and I've already got it patched out.

Originally posted by tonberrion76:
-snip-
Ah, that ammobag crash from earlier has an actual root cause! I've found the problem and fixed it.

A patch for both should be up in a bit.
tonberrion76 13 Apr, 2024 @ 12:36am 
Originally posted by Jakapoa:
Originally posted by tonberrion76:

I was using the old Trollface Reaper mod, which changes the Reaper's sprite.
I should clarify that for me the game crashes when the gunsmith visits my settlement and is talked to - gunsmiths talked to at premade settlements or perhaps were previously recruited don't cause this.
Oh, perfect! Located it and I've already got it patched out.

Originally posted by tonberrion76:
-snip-
Ah, that ammobag crash from earlier has an actual root cause! I've found the problem and fixed it.

A patch for both should be up in a bit.

Sweet, both issues are fixed now!

A new one appeared though, in that the potion bag no longer works and can't hold potions.
Jakapoa  [developer] 13 Apr, 2024 @ 5:18am 
Originally posted by tonberrion76:
Originally posted by Jakapoa:
Oh, perfect! Located it and I've already got it patched out.


Ah, that ammobag crash from earlier has an actual root cause! I've found the problem and fixed it.

A patch for both should be up in a bit.

Sweet, both issues are fixed now!

A new one appeared though, in that the potion bag no longer works and can't hold potions.
Fixed & patched.
tonberrion76 13 Apr, 2024 @ 10:44pm 
Frost bullets don't seem to deal extra damage to swamp guardian, despite it being a worm.
Jakapoa  [developer] 14 Apr, 2024 @ 12:02am 
Originally posted by tonberrion76:
Frost bullets don't seem to deal extra damage to swamp guardian, despite it being a worm.
Ah, missed that one. Fixed!
NurseChronic 28 May, 2024 @ 1:36pm 
Got this one startup today:

Mods: Ranged Arsenal (v. 1.0.6)

java.lang.NoSuchMethodError: 'int necesse.engine.registries.ItemRegistry.registerItem(java.lang.String, necesse.inventory.item.Item, float, boolean, boolean)'
at rangedarsenal.rangedarsenal.init(rangedarsenal.java:104)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at necesse.engine.modLoader.ModMethod.invoke(ModMethod.java:47)
at necesse.engine.modLoader.classes.EntryClass.init(EntryClass.java:62)
at necesse.engine.modLoader.LoadedMod.init(LoadedMod.java:189)
at necesse.engine.GlobalData.loadAll(GlobalData.java:275)
at necesse.engine.Screen.init(Screen.java:917)
at necesse.engine.Screen.<init>(Screen.java:254)
at StartClient.main(StartClient.java:101)
Jakapoa  [developer] 28 May, 2024 @ 5:16pm 
Originally posted by NurseChronic:
-snip-
Fixed.
Tasolth 10 Aug, 2024 @ 4:18pm 
Brand new install, only mod installed.

Mods: Ranged Arsenal (v. 1.2.1)

java.lang.IllegalStateException: Error during attachment using: net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Compound@12670e55
at net.bytebuddy.agent.ByteBuddyAgent.install(ByteBuddyAgent.java:639)
at net.bytebuddy.agent.ByteBuddyAgent.install(ByteBuddyAgent.java:612)
at net.bytebuddy.agent.ByteBuddyAgent.install(ByteBuddyAgent.java:564)
at net.bytebuddy.agent.ByteBuddyAgent.install(ByteBuddyAgent.java:541)
at necesse.engine.util.ComputedValue.get(ComputedValue.java:16)
at necesse.engine.modLoader.LoadedMod.loadClasses(LoadedMod.java:90)
at necesse.engine.modLoader.ModLoader.loadMods(ModLoader.java:189)
at necesse.engine.GlobalData.loadAll(GlobalData.java:233)
at necesse.engine.loading.ClientLoader.loadGame(ClientLoader.java:141)
at necesse.StartPlatformClient.start(StartPlatformClient.java:11)
at StartSteamClient.main(StartSteamClient.java:6)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at net.bytebuddy.agent.Attacher.install(Attacher.java:106)
at net.bytebuddy.agent.ByteBuddyAgent.install(ByteBuddyAgent.java:634)
... 10 more
Caused by: java.lang.IllegalStateException: instrument was not loaded.
Can't find dependent libraries

at net.bytebuddy.agent.VirtualMachine$ForHotSpot.checkHeader(VirtualMachine.java:290)
at net.bytebuddy.agent.VirtualMachine$ForHotSpot.load(VirtualMachine.java:367)
at net.bytebuddy.agent.VirtualMachine$ForHotSpot.loadAgent(VirtualMachine.java:337)
... 16 more
< >
Showing 1-15 of 30 comments
Per page: 1530 50