Aplikace z D6 občas zamrzne a hlásí "not responding"

Autor Téma: Aplikace z D6 občas zamrzne a hlásí "not responding"  (Přečteno 7459 krát)

Offline age.new

  • Plnoletý
  • ***
  • Příspěvků: 115
  • Karma: 0
Zdravím zkušené programátory,

narazil jsem na zvláštní chybu, která se velmi špatně reprodukuje a objevuje se pouze u Wondows 7 (64bit). Aplikace generovaná v D6 (všechny service packy), využívající PVI komunikaci s CNC, několik DB Paradoxů, COM komunikaci, otevírání / zavírání souborů, canvas kreslení atd.. občas zamrzne (někdy zešedne, někdy ne) a přestane reagovat. Task manager hlásí, že aplikace "not responding". Vytížení aplikace je skoro na nule. Ve Windows XP se tento problém nikdy neobjevil.

Nesetkal jste se někdo s něčím podobným? Budu rád i za radu, jak zdebugovat tento problém.

Děkuji.


Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2013
  • Karma: 89
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Aplikace z D6 občas zamrzne a hlásí "not responding"
« Odpověď #1 kdy: 22-06-2015, 12:19:03 »
D6 jeste neumi remote debugger?  http://delphi.cz/post/Remote-debugging-Delphi.aspx

Pokud ne, tak zkus aspon pres process explorer od system internals, kliknout na process a tam se zobrazovat stack kde ktere vlakno prave je. Z toho se dá nekdy přímo, jinak pak přes http://delphi.cz/post/Posledni-pomoc-pri-ladeni.aspx nebo  přes map soubor zjistit co se děje.

Navíc ten Process explorer ti ukáže v jakém stavu to vlákno(a) jsou, je tam vidět třeba že čeká na signál atd.
Embarcadero MVP - Czech republic

Offline age.new

  • Plnoletý
  • ***
  • Příspěvků: 115
  • Karma: 0
Re:Aplikace z D6 občas zamrzne a hlásí "not responding"
« Odpověď #2 kdy: 22-06-2015, 12:26:09 »
Momentálně máme aplikaci připojenou přes remote debugger a snažíme se ji dostat do chybového stavu. Vyházeli jsme z projektu všechny ProcessMessages. Používáme ale hojně HandleMessage, jehož délku omezujeme Timerem (jakési čekací smyčky).

EDIT:
Tak se nám podařilo nasimulovat vytuhnutí aplikace, ale cca po 10 sekundách se sama ukončila (což se nestávalo) a Delphi nezahlásil nic, pouze ukončil vzdálený debug.
« Poslední změna: 22-06-2015, 12:34:17 od age.new »

Offline age.new

  • Plnoletý
  • ***
  • Příspěvků: 115
  • Karma: 0
Re:Aplikace z D6 občas zamrzne a hlásí "not responding"
« Odpověď #3 kdy: 22-06-2015, 13:26:42 »
Aplikace opět vytuhla a Delphi zahlásilo chybu Access violation at address 00526FCC in module "coreide60.bpl". Read of address 000000B4.

Remote debuger se v tu chvíli shodil a nelze se zpětne připojit k procesu pro získání nějaký detailů.

Nějaký tip?

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2013
  • Karma: 89
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Aplikace z D6 občas zamrzne a hlásí "not responding"
« Odpověď #4 kdy: 22-06-2015, 13:32:17 »
Aplikace opět vytuhla a Delphi zahlásilo chybu Access violation at address 00526FCC in module "coreide60.bpl". Read of address 000000B4.

Remote debuger se v tu chvíli shodil a nelze se zpětne připojit k procesu pro získání nějaký detailů.

Nějaký tip?


Zkus ten process explorer, viz. screenshot
Embarcadero MVP - Czech republic

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2013
  • Karma: 89
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Aplikace z D6 občas zamrzne a hlásí "not responding"
« Odpověď #5 kdy: 22-06-2015, 13:40:42 »
Muzes zkusit http://www.ollydbg.de/, umi attach do processu, a umi zpracovavat Borland debug info, aspon pro starsi verze.
Embarcadero MVP - Czech republic

Offline hlucheucho

  • Plnoletý
  • ***
  • Příspěvků: 196
  • Karma: 2
Re:Aplikace z D6 občas zamrzne a hlásí "not responding"
« Odpověď #6 kdy: 22-06-2015, 13:58:47 »
Jak je aplikace nainstalována, do kterého adresáře? V jakých adresářích jsou dll soubory které používá? Jsou 32-bitové stejně jako aplikace? Někde jsem kdysi vygůglil, že Windows  mají pro běh 32 b. aplikace na 64 b. OS nějaký engine a musí se dodržovat nějaký pravidla. Nejvíc mne překvapilo, že v adresáři System32 mají být 64 b. dll.

hu

Offline age.new

  • Plnoletý
  • ***
  • Příspěvků: 115
  • Karma: 0
Re:Aplikace z D6 občas zamrzne a hlásí "not responding"
« Odpověď #7 kdy: 22-06-2015, 14:08:03 »
Aplikace se neinstaluje, využívá DBE database a je v adresáři na disku C. Windows 7 jsou Embedded, UAC vypnuté, bez firewallu a antiviru.


Offline zdenek

  • Plnoletý
  • ***
  • Příspěvků: 123
  • Karma: 8
Re:Aplikace z D6 občas zamrzne a hlásí "not responding"
« Odpověď #8 kdy: 22-06-2015, 14:32:00 »
A VCLFixPack používáš: http://andy.jgknet.de/blog/bugfix-units/vclfixpack-10/

D6 jsou už dost staré a težko říct co to udělá ve W7.

Offline hlucheucho

  • Plnoletý
  • ***
  • Příspěvků: 196
  • Karma: 2
Re:Aplikace z D6 občas zamrzne a hlásí "not responding"
« Odpověď #9 kdy: 22-06-2015, 16:06:17 »
Spouští se aplikace v nějakém režimu kompatibility?

hu

Offline age.new

  • Plnoletý
  • ***
  • Příspěvků: 115
  • Karma: 0
Re:Aplikace z D6 občas zamrzne a hlásí "not responding"
« Odpověď #10 kdy: 23-06-2015, 08:05:11 »
Nepodařilo se nám na Win 7 64bit nainstalovat úspěšně Delphi 6 (i s SP) + komponenty. Z nějakého důvodu Delphi nevidí bpl soubory, které mají správnou cestu a fyzicky tam i jsou. Komponenty hlásí chyby a run aplikace končí chybami. Možná proto zlobí i Remote debug ... nevím.

Online pf1957

  • Padawan
  • ******
  • Příspěvků: 2163
  • Karma: 116
    • Verze Delphi: D2007, XE3, DX10
Re:Aplikace z D6 občas zamrzne a hlásí "not responding"
« Odpověď #11 kdy: 23-06-2015, 08:20:30 »
Nepodařilo se nám na Win 7 64bit nainstalovat úspěšně Delphi 6 (i s SP) + komponenty. Z nějakého důvodu Delphi nevidí bpl soubory, které mají správnou cestu a fyzicky tam i jsou. Komponenty hlásí chyby a run aplikace končí chybami. Možná proto zlobí i Remote debug ... nevím.
D6 jsou z ery W2000... Taky mi nesla na W8.1 nainstalovat rada zastaraleho softu, ktery jeste na W7 bezel, tak jsem se s nim musel rozloucit.

Pokud neexistuji nejake objektivni prekazky napr. ze neni dostupne k testovani nejake prostredi ci HW (coz byl napr. osud naseho softu, kdyz jsme zustali viset v D2007 a unicodifikovat jsme nemohli, protoze bychom radu veci nemeli jak otestovat a do ostreho provozu by nas s tim nikdo nepustil), tak bych migroval na soucasnou verzi Delphi.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2013
  • Karma: 89
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Aplikace z D6 občas zamrzne a hlásí "not responding"
« Odpověď #12 kdy: 23-06-2015, 09:09:28 »
Nepodařilo se nám na Win 7 64bit nainstalovat úspěšně Delphi 6 (i s SP) + komponenty. Z nějakého důvodu Delphi nevidí bpl soubory, které mají správnou cestu a fyzicky tam i jsou. Komponenty hlásí chyby a run aplikace končí chybami. Možná proto zlobí i Remote debug ... nevím.

Mám pro testování i D5 ve Windows 7 64bit, musis instalovat napr. do c:\delphi5 pak to bez problémů jde. To proč to dělat je ale druhá věc.
Embarcadero MVP - Czech republic

Offline age.new

  • Plnoletý
  • ***
  • Příspěvků: 115
  • Karma: 0
Re:Aplikace z D6 občas zamrzne a hlásí "not responding"
« Odpověď #13 kdy: 23-06-2015, 09:13:34 »
Máme D6 instalováno mimo program files. To proč nevidí bpl soubory které mají správně nastavenou cestu a fyzicky tam skutečně jsou - to mi hlava nebere. 

Offline age.new

  • Plnoletý
  • ***
  • Příspěvků: 115
  • Karma: 0
Re:Aplikace z D6 občas zamrzne a hlásí "not responding"
« Odpověď #14 kdy: 23-06-2015, 10:03:00 »
TAK NOVÉ POZNATKY Z TESTOVÁNÍ:

ve Windows XP vše funguje v pořádku. Problém nastává jen u Windows 7!

Chybu zamrznutí aplikace vyvoláme takto:
Máme formulář na kterém kreslíme na canvas Paintboxu. Jakmile zobrazíme nové okno (menší a přes ten canvas), které si převezme focus (modrá horní lišta okna) a klikneme na spodní menu (které v tu chvíli focus nemá) tak dojde k zamrznutí.

Nějaká rada?

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Kolik je šest plus čtyři (slovem):