Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

illegális utasítások #71

Closed
attuska opened this issue Jun 3, 2022 · 8 comments
Closed

illegális utasítások #71

attuska opened this issue Jun 3, 2022 · 8 comments
Labels
hiba Valami nem jó.

Comments

@attuska
Copy link
Contributor

attuska commented Jun 3, 2022

tulip:
Érvénytelen utasítás (core készült)

@attuska attuska added the hiba Valami nem jó. label Jun 3, 2022
@attuska
Copy link
Contributor Author

attuska commented Jun 3, 2022

A hiba az ÖN készülékében van!
A -O3 hatására a laptoppban lévő INTEL processzoron olyan utasítást generál a fordító, melyet az én AMD processzorom az asztali gépemben nem tud értelmezni. Ismerős a hiba.
Az én gépemen fordított kód kifogástalanul megy a gépemen, nem omlik össze!
Talán mem ártana a a -O3 -at a cmake/TulipUseFile.cmake fájlban lecserélni -O2 -re.
Ezt én nem tudom leelenőrizni, csak úgy, ha nem az én processzorommal készül a kód.

@attuska
Copy link
Contributor Author

attuska commented Jun 3, 2022

A bátyám INTEL kétmagos processzoros aztali gépén futtatva a letöltött csomagot, azon is illegális utasítást észlel a processzor és összeomlik a tulip.
Ezen a gépenis reprodukálódik a bug.
Tehát nem AMD specifikumról van szó. Ki kell irtani a -O3 optimalizációt teljesen a fordítás során! Nem szabad csak a laptopban lévő processzornak megfelelő kódot generáltatni a C fordítóval! Az én gépeimen az újrafordítás feleslegesen produkál futtatható kódot, annak minden épeszű processzoron futnia kell, nem csak a fordításin!

@attuska
Copy link
Contributor Author

attuska commented Jun 3, 2022

UBK3 alatt nem is fogom nézni, mert ott a kódot én generáltam. De lehet, hogy az meg a Rezső processzorán nem menne. Csak abban bízom, hogy ez a -O3 bug helyre lesz pofozva, akkor majd oda is készítek egy tulip csomagot a módosítással.

@attuska
Copy link
Contributor Author

attuska commented Jun 3, 2022

Ki tudja, hogy hány fog még felszínre bukkanni, ha belébotlok egyáltalán.
Pár hasonló eset már eddig is előjött:
uhulinux/ub-ubk1#30
uhulinux/ub-ubk3#58
uhulinux/ub-ubk3#27
uhulinux/ub-ubk3#78

@attuska attuska changed the title tulip összeomlás illegális utasítások Jun 3, 2022
@attuska
Copy link
Contributor Author

attuska commented Jun 3, 2022

Két út lehetséges:

  1. A gcc fejlesztőknél egy hibajelzés, hogy az O3 esetén egyes processzoroknál ne generáljon értelmezhetetlen kódot. Lehet, hogy már tudnak róla, csak mi még nem használjuk a javított változatot. A gentoo fejlesztők biztos nem tudnak ilyen hibáról, mert gentoo esetében minden a gentoo célgépre, annak processzorával folyik. Debianál sem valószínű, mert ott minden a temérdek cél architektúrára készül. Csakis olyan disztribúciók tudhatnak erről, melyek a cél architektúrára más architektúrán készítik a binárisaikat.
  2. Minden egyes csomagunknál kideríteni a hibás optimatizációt, (ez már a synaptic esetén is előfordult nálunk, mely azóta relytélyes módon megjavult) ezt a csomag forrásának fejlesztőinek jelezni, hogy javítsák ki, ha ezt nem teszik, akkor nekünk kell.

Az 1 -es út tűnik a leg célravezetőbbnek, de az ugyancsak nehézkes.
A 2 -es út meg nem jelenthet végső megoldást, csak az egyes csomagonál célravezető. Bármikor találhatunk újabb rakoncátlanokat.

@rezso
Copy link
Contributor

rezso commented Jun 4, 2022

Ezt biztos, hogy nem fogom megoldani. A tulip pl. teljesen felesleges cucc.
Másrészt a sed és ub_replace használatát is el kell felejteni az -O3 cseréjéhez: egyszer változzon a kód, és már nem is fog működni. De ennek sem fogok nekiállni.

@rezso
Copy link
Contributor

rezso commented Jun 4, 2022

A gcc amúgy 12.1.0-nál tart, ha nagyon akarod, frissíthetünk rá. Persze kérdés, hogy hány régi, évek óta nem karbantartott, és alapvetően felesleges csomag fog belerohadni, amikhez újabb patchek kellenének.

@rezso rezso removed their assignment Jun 4, 2022
@attuska
Copy link
Contributor Author

attuska commented Jun 4, 2022

A gcc frissítése biztos nem lesz gyógyír, mert a gcc fejlesztők szerintem mit sem tudnak a fordítójuk hibájáról, mely már évek óta fennáll. Az egyes programok kidobálása, melyeknél ez előjön meg csak a vészlámpa kicsúzlizásával egyenértékű. Jobb, ha nem világít, legalább nem zavar. Én a tulip-ot nem használom, ezért szerintem is kidobásra méltó, de a fejlesztői szerint biztos nem arra való, hanem használatra. A vice is jobbára csak windózos, csak arra fejlesztik és karban tartott, noha én kedvelem, szerintem nem kidobnivaló. UBK4 -en én újraforgattam, az optimatizációját letiltottam a compile szkriptben ( a sed és ub_replace szerintem is bizonytalan) az van a tárolóban és nem az Imre által készített. Biztosan működik nálatok is jól.
Akkor kénytelenek vagyunk az estleg előbukkanó újabb illegális utasítást produkálóknál egyenként eldönteni a sorsukat, kidobni, vagy kijavítani őket (folttal), ha már a karbantaróik nem teszik ezt meg.

@rezso rezso closed this as completed Oct 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hiba Valami nem jó.
Development

No branches or pull requests

2 participants