Kérdés:
Egyjátékos parancsok "java.lang.StackOverflowError"
user47129
2013-04-08 08:35:17 UTC
view on stackexchange narkive permalink

Egyjátékos parancsokat használok, hogy segítsek a térkép készítésében. Megpróbálom használni a / butcher parancsot (ez megöli az összes tömeget a lejátszó közelében), de ezt a hibát folyamatosan kapom:

  java.lang.StackOverflowError: null 

Nem tudom, mi a probléma.

A számítógépem specifikációi is megtalálhatók itt.

A Minecraftot alapértelmezett RAM-mal futtatja? Ha igen, akkor próbálja meg növelni és megnézni, hogy ez mit hoz Önnek.
4 GB-ot allokáltam a Minecraft számára. 8 GB ramom van.
Van még további információ ebben a hibában?
Sajnos nincs. Itt van egy képernyőkép a bemutatáshoz: http://i.imgur.com/2q2NL4k.png
Ez valószínűleg * túl sok * RAM, és természetesen sokkal több, mint amire a Minecraftnak általában szüksége van. Lehet, hogy más folyamatokat éheztet a memória számára, de nem értem, hogy ez hogyan okozhatja a verem túltengését
Nincsenek naplófájlok a minecraft mappájában, amelyekben verem nyoma lehet?
SevenSidedDie: Nos, csak azt akarom, hogy víz alatt tudjak dolgozni anélkül, hogy 20 véres tintahal állandóan az utamba kerülne. Azt hiszem, ezt a hibát felteszem abba a szálba, ahonnan hoztam. EDIT: milyen naplófájlokat keresnék? van valami konkrét név?
Túl sok kosot említettél? Nos, ha van 8 GB-om, akkor mennyit kellene allokálnom hozzá?
A WorldEdit szerverre vagy modként van telepítve? Ezenkívül próbálja meg bejelenteni a hibát a WorldEdit hibakeresőjén (http://youtrack.sk89q.com/issues/WORLDEDIT).
@MBraedley A RAM kiosztásának növelése nem igazán segít a `StackOverflowError` alkalmazásában, annak növelése nem befolyásolja a veremkeret méretét.Megpróbálhatja elindítani az `-Xss2048k` jelzőkészlettel, amely a JVM szálankénti veremkeretének méretét megduplázza az alapértelmezett értékkel.Általában bár ez egy sávsegítő megoldás, és még az sem segíthet, ha a felelős kódex nagyon hülyeséget csinál.
Szavazom ennek a kérdésnek a témán kívüli lezárására, mert a bólintott Minecraft műszaki támogatásáról szól.Csak a vanília Minecraft számára nyújtunk technikai támogatást.
Három válaszokat:
muffinjello
2013-04-15 08:15:34 UTC
view on stackexchange narkive permalink

Néhány dolgot kipróbálhat, itt próbálkoznék, ha a cipőjében lennék:

Győződjön meg arról, hogy a modok és a minecraft verziói megegyeznek - játsszon a Minecraft-on v1.5.0, de használja a World Edit 1.5.1 alkalmazást?

Ha mindennek a megfelelő verzióját használja, próbálja ki ezeket a parancsokat, és nézze meg, hogy ugyanaz a hiba jelentkezik-e (kérjük, ne csodálkozzon, ha ezek közül bármelyik kössön ki egy ismeretlen parancshibát neked):

// hentes

/ hentes 50

// hentes 50

Ahol az 50 jelöli a körülötted lévő sugarat, ami azt jelenti, hogy az 50 blokk sugarú körzetében lévő összes tömeg elpusztul.

Ha ez még mindig nem működik, próbálkozzon frissítsd a minecraftodat, majd telepítsd a SinglePlayerCommands-ot a tiszta minecraft.jar fájlra.

Lehet, hogy vannak más modok is, például új blokkokat felvevő vagy akár csőcselék, amelyek zavaróak lehetnek veled. Tehát ellenőrizze, hogy kompatibilis verziók vannak-e (ha ezeket a többi modot használja).

Daniel Memphis
2013-05-14 22:45:35 UTC
view on stackexchange narkive permalink

Próbáld meg kényszeríteni a Minecraft frissítését, ez egy Java-hurokkal rendelkező hiba. Ha a Minecraft működik, győződjön meg arról, hogy a legújabb (1.5.2) singleplayer parancsokat töltötte le (jobb az automatikus telepítés). Ha nem működik, próbálja manuálisan telepíteni (és törölje a Meta-infot)!

"Ez egy Java-hurokkal rendelkező hiba": ez úgy hangzik, mintha egy ismert hibára hivatkozna, amit esetleg dokumentálnak valahol? Ha igen, tudna-e megadni egy linket vagy több hátteret? Csak valamit, hogy az olvasó jobban meg tudja ítélni e válasz valódiságát.
tomb
2013-05-26 14:07:24 UTC
view on stackexchange narkive permalink

A verem túlcsordulási hibát akkor okozza, amikor a program kimegy egy tömb (egy olyan tárolótípus, amely több értéket képes egymás mellett tárolni) határain kívül. Mivel minden tömbnek van egy meghatározott hosszúsága, az történt, hogy az egyjátékos parancsok túllépték az egyik tömbjét.

Ennek oka az lehet, hogy túl sok állatot próbálsz levágni a ugyanabban az időben, ezért próbáld meg az elején csak kis tömegeket lemészárolni egy kis területen, és nézd meg, hogyan működik ez.

Ez a parancs ezt megteszi helyetted:

  // hentes 20  

Amely elpusztít minden állatot 20 sugarú körzetben.

Nem, ha meghalad egy tömb határait, kap egy `ArrayIndexOutOfBoundsException`.A `StackOverflowException`-eket általában egy furcsa rekurzív metódushívás vagy ciklikus metódushívások halmaza okozza, amelyek a verem túlcsordulását okozzák.


Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...