Ukladani/nacteni konfigurace do registru

Hlášení chyb a problémů programu Altap Salamander. Buďte, prosím, ve svých popisech co nejpodrobnější a vytvořte pro každý incident nový příspěvek. Nevkládejte programem generovaná hlášení o pádu programu, pošlete je e-mailem.
Raptor

Ukladani/nacteni konfigurace do registru

Post by Raptor »

Mam problem Salamandera, stava se to sice jednou za cas, vetsinou po automatickych restartech systemu, ale do registru se pak neulozi vse a vetsinou se mi pak nenacte User menu bar, protoze v nem chybi polozky. Nedokazu ten problem nasimulovat, ale proste cast zaznamu v registru je pryc. Z tohoto duvodu si taky delam po kazde zmene zalohu nastaveni bokem.

Mozna by to slo resit ukladanim konfurace do souboru (vim ze mate v TODO) a mozna by se mohla konfigurace rozdelit na vice casti - system, user settings atd.

Ale co mi neni jasne je to, PROC Salamander neco uklada do teto User sekce, kdyz mam vyple ukladani nastaveni pri vypnuti? ja myslel ze pokud to vypnu, tak nic ukladat nebude. A pravda je, ze sice neuklada, ale maze

---

Strucne receno, mam vyple ukladani konfigurace. Obcas system potrebuje restart (update, instalace, ...) Po restartu nabehne Salamander (zadne chybove hlaseni se nezobrazi) a chybi obsah User menu. Kouknu do registru kde je tato cast ulozena a proste tam neni, cili je smazana. Nemuzu potvrdit nento bug(??) u RC3 verze, ale RC2 mi to delala stejne jako RC1. Taky nevim proc to postihuje jen User sekci - mozna se uklada posledni? A hlavne udelalo mi to pod WinXP i pod Vistou.
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post by Jan Rysavy »

Zkontrolovali jsme chování Salamandera (2.5 RC3) při vypnuté volbě "Save configuration on exit" při jeho ukončení. Do Registry v tomto případě nic neukládá, což si můžete snadno ověřit například programem Process Monitor, který dokáže zobrazit přístupy do Registry. (je vhodné zapnout filtrování na jméno SALAMAND.EXE).

Navíc Salamander důsledně ověřuje, že se konfiguraci podařilo uložit kompletní a pokud se tak nestane, zobrazí při příštím startu chybu a konfiguraci neumožní načíst.

Vypadá to tedy na problém na Vašem počítači, díky kterému dochází k porušení záznamů v Registry. Bylo by zajímavé porovnat zálohu konfigurace s porušenou konfigurací a podívat se, jakého jsou změny rozsahu...

Podobný problém jsme měli na našem stroji, byl způsoben chybným ovladačem DVD-RAM mechaniky, který opakovaně způsoboval porušení Registry.
Raptor

Post by Raptor »

Kdysi jsem mel poskozenou zalohu ulozenou, bohuzel jsem ji nekam zalozil. Ale pri pristim problemu (pokud nastane) se to pokusim ulozit a poslu k porovnani obe verze.
Raptor

Post by Raptor »

Takze uz jsem nasel ten problem. Neni to ani tak chyba Salamandera, ale zaroven jsem tim nasel maly bug. Problem nastava pokud si necham procistit system od neplatnych cest v registru. Nechte se mi umazala cast registru

HKEY_CURRENT_USER\Software\Altap\Altap Salamander 2.5 RC3\User Menu\xx (za xx jakekoliv cislo)
a v nem polozka "Command"

A to je ten problem. Jakmile Salamander nacita z registru konfiguraci a polozka Command v dane user sekci neni, okamzite prestava dale nacitat a konci. Cili vse ostatni se ignoruje a mi se to jevi, ze proste User panel neexistuje a ze se smazal. On se nesmazal, jen se nenacetl.

Cili mozna by stalo za to, tento maly nacitaci bug opravit automatickym dogenerovani Command polozky nebo alespon ignorovanim. Mozna by slo i vypsat nejake info, ze je poskozena User sekce registru. reseni necham na vas.
User avatar
Datalog
Posts: 244
Joined: 10 Dec 2005, 11:21
Location: Prague, Czech Republic
Contact:

Post by Datalog »

Raptor wrote: Cili mozna by stalo za to, tento maly nacitaci bug opravit automatickym dogenerovani Command polozky nebo alespon ignorovanim.
A možná by stálo za to, nepoužívat SW, který mi zprasí registry a dělá to co nemá. Nebo ho (jde-li to) alespoň nakonfigurovat tak, aby nehrabal se kam nemá.
User avatar
Datalog
Posts: 244
Joined: 10 Dec 2005, 11:21
Location: Prague, Czech Republic
Contact:

Post by Datalog »

Coby programátor. Omlouvám se za ostrou předchozí reakci, ale domnívám se, že byla na místě. Vysvětlím.

Podívejte se. Napíši program. Používám nějaké vnitřní struktury, interní nastavení a konfiguraci. A najednou zjistím nekonzistenci v mých vnitřních nastaveních.

Jediná možná reakce je návrat do default.

1) Kdybych se pokoušel napravovat chyby nějakého jednoho externího programu, co mi rozbil moje struktury, za chvíli se objeví jiný, co to bude dělat zase jinak. Sázel bych záplatu na záplatu, jedna oprava otevře jinou díru, kód začne být nepřehledný. A to všechno proč? Protože mi někdo cizí (program, hacker uživatel) hrabal kam on nesmí a poničil něco co není jeho? To jako mám věnovat čas tomuto neslušňákovi a ne vývoji nových věcí? Proč?

2) Navíc, taková oprava znamená, že si musím dovymýšlet některé části jak asi měly být, jak byly původně, zajistit aby po pseudoopravě byly 100% funkční a aby nově vymyšlené struktury (vycucané z prstu) nerozhodily zase něco jiného, atd atp. Něco takového si stejně nesmím dovolit pustit ven uživateli. Možná mohu mít něco podobného ve firmě a u VIP zákazníků pomocí toho dělat opravy a pak ručně zkontrolovat, zda mi to nenadělalo více škody než užitku. Ale v žádném případě nepustit ven.


3) Jedinou výjimkou, kterou jsem ochoten ve výše uvedeném opravovat, jsou některé chyby API OS. Sice to také není moje chyba, ale co nadělám. Rozhodl jsem se pro nějakou platformu a zákazníkům se špatně vysvětluje, že chyba není na mé straně. Takže občas bývá rychlejší napravit chybu OS (příp. přibalit či odkázat zákazníky na oficiální opravu poslanou od MS (aniž bych explicitně zmiňoval, že jde o MS bug)) než jim složitě vysvětlovat že to není chyba ale vlastnost (featura :D ). Obzvláště když (v případě chyby u OS) se chyba "u mne" projeví hned i na čistém nainstalovaném stroji.
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post by Jan Rysavy »

Datalog wrote:A možná by stálo za to, nepoužívat SW, který mi zprasí registry a dělá to co nemá. Nebo ho (jde-li to) alespoň nakonfigurovat tak, aby nehrabal se kam nemá.
Pod toto se můžeme 100% podepsat. Tento problém nemá se Salamanderem nic společného, takže navrhuji s ním neztrácet další náš čas.
cincura.net
Posts: 593
Joined: 09 Dec 2005, 17:30
Location: a step further
Contact:

Post by cincura.net »

Datalog wrote:Jediná možná reakce je návrat do default.
A to rekl kdo? IMHO totalni kravina.
Jiri {x2} Cincura
User avatar
Datalog
Posts: 244
Joined: 10 Dec 2005, 11:21
Location: Prague, Czech Republic
Contact:

Post by Datalog »

cincura.net wrote: A to rekl kdo?
Petr Adámek - DATALOG
:wink:
cincura.net wrote:IMHO totalni kravina.
V případě porušení interních struktur? (Ne import či export.) Je to nejrozumnější, co může program udělat.
Raptor

Post by Raptor »

Tak pri cteni reakci jsem se i zasmal :-)
Datalog wrote:Používám nějaké vnitřní struktury, interní nastavení a konfiguraci. A najednou zjistím nekonzistenci v mých vnitřních nastaveních.

Jediná možná reakce je návrat do default.
Ano, s tim souhlasim, aby nedoslo k omylu. Jenze toto tady nenastane.


Ano, jakykoliv neodborny zasah do casti kam si Salamander neco uklada je muj problem. Je jedno jak k tomu doslo, to ponechme stranou. Ale na kazde poruseni integrity musi nejak program, nebo cas programu co s tim dela reagovat. Vyse zminovany navrat k default hodnotam je ok, ale opravdu Salamander toto udela? Kdepak, cte, cte, cte, narazi na chybu a interne spadne (ale nevyvola vyjimku, ani chybu nehlasi), prerusi vykonavani rutiny a vyskoci z nacitaciho podprocesu. Uzivatel nevi ze k necemu doslo, a divi se. Vsak si zkuste onu situaci nasimulovat a uvidite, ze to uzivateli problem prinese a NEMA vpodstate jak to napravit, protoze ani v nastaveni User menu v User Contents neni nactena struktura spravne a chybi ohraniceni zacatku a konce cele sekce. Docela by me zajimalo co se stane, pokud bych mel zaple ukladani konfigurace a Salamander se pokusil tuto nekompletni strukturu ulozit. Pokud by mi program rekl, ze narazil na chybu a neco provedl, je to ok, ale tohle je jako potlaceni vyvolane vyjimky. Kazdy program pouzivajici nejakou strukturu, musi mit prece osetren stav, kdy dojde k poruseni integrity. A pokud nepozna ze je neco narusene, tak je IMHO problem. Programator si to prebere po svem.

Reakce, ze se na nalezeny bug (ano, je to bug, co jineho je situace, kdyz programe nereaguje na chybu, nebo necekany stav) se nebude reagovat mi neprijde jako profesionalni odpoved ;-)
cincura.net
Posts: 593
Joined: 09 Dec 2005, 17:30
Location: a step further
Contact:

Post by cincura.net »

Datalog wrote:
cincura.net wrote:IMHO totalni kravina.
V případě porušení interních struktur? (Ne import či export.) Je to nejrozumnější, co může program udělat.
Nemyslim si.
Muze nacist co muze. Opravit co muze. Nabidnout exportovani zbyle casti konfigurace. Rucni zadani chybejicich hodnot. Nebo i zminovany import default hodnot.
Nasel bych x zpusobu, jak zareagovat - vzdy by zalezelo na tom jaka je to aplikace, co nenasla, a spouste dalsich veci.
Jedine univerzalni/spravne reseni neexistuje.
Jiri {x2} Cincura
Jan Rysavy
ALTAP Staff
ALTAP Staff
Posts: 5231
Joined: 08 Dec 2005, 06:34
Location: Novy Bor, Czech Republic
Contact:

Post by Jan Rysavy »

Raptor wrote:Reakce, ze se na nalezeny bug (ano, je to bug, co jineho je situace, kdyz programe nereaguje na chybu, nebo necekany stav) se nebude reagovat mi neprijde jako profesionalni odpoved ;-)
Nejde o chybu, to je naprostý nesmysl. Porušil jste integritu (interních) dat a chování dotčených aplikací je pak nedefinované. Většina systémových i ostatních aplikací ve Windows tyto stavy něřeší (například pomocí kontrolních součtů), takže to nebude řešit ani Salamander.

Nehodláme na toto téma dál diskutovat, zamykám vlákno.
Locked