abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:55 | IT novinky

    Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.

    Ladislav Hagara | Komentářů: 0
    dnes 16:11 | Komunita

    Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | Bezpečnostní upozornění

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | IT novinky

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    🇨🇽 | Komentářů: 1
    včera 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    🇨🇽 | Komentářů: 7
    včera 15:44 | Zajímavý software

    K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.

    🇨🇽 | Komentářů: 1
    včera 15:33 | Zajímavý software

    Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    26.12. 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

    Ladislav Hagara | Komentářů: 0
    26.12. 13:22 | Zajímavý software

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 7
    26.12. 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (33%)
     (1%)
     (23%)
     (1%)
     (2%)
     (1%)
     (10%)
     (11%)
     (17%)
    Celkem 192 hlasů
     Komentářů: 21, poslední dnes 18:58
    Rozcestník

    Dotaz: Zmražení pythoního procesu (á la pythoní "coredump")

    limit_false avatar 6.9.2009 00:21 limit_false | skóre: 23 | blog: limit_false
    Zmražení pythoního procesu (á la pythoní "coredump")
    Přečteno: 285×

    Je nějak možné zmrazit pythoní proces a pak ho post-mortem "debugovat", podívat se na stack trace, parametry volání, lokální proměnné (vrátane nadřazených framů)? Něco podobného jako když  v C/C++ programu zavoláte abort(), ono to hodí coredump, z kterého lze zjistit nějaké informace via gdb.

    Jde o tohle: na jediném stroji občas nastane podivná race condition (jinde nenastává), kterou je velmi těžké zreplikovat. Je sice možné zjistit, že nastala, zalogovat, jenže to nestačí.

    Nápady k tomu jsem měl zatím jenom dva, ale žádný není ideální:

    1. přeložit python s ladícími symboly, při zjištení chyby zavolat os.abort(), co vyhodí coredump, ten pak prohlédnout s gdb
    2. při porušení nějaké "podmínky zmysluplnosti" se pythoní proces připojí na remote debugger, kde bude čekat až se na to člověk podívá

    První možnost je příliš low-level (zjišťování jaký pythoní kód se vlastně vykonává).

    Daný race-condition nastane cca 10-20 krát za den, při druhé možnosti buď člověk musí čekat nebo jich má mnoho.

    Víte o nejakém jednodušším řešení?

    When people want prime order group, give them prime order group.

    Odpovědi

    7.9.2009 07:42 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Zmražení pythoního procesu (á la pythoní "coredump")

    V podobných situacích občas může pomoct pustit interpret pythonu s parametrem -i (interactive). Když program skončí, pustí se pythonní konzole a je možné se v tom rýpat, protože všechny objekty zůstanou beze změny.

    Ale to asi znáš.

    Pavel Stárek avatar 7.9.2009 15:23 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Zmražení pythoního procesu (á la pythoní "coredump")
    Tady se píše že: pdb.py can also be invoked as a script to debug other scripts. For example:
    python -m pdb myscript.py
    
    a dále se píše že:

    When invoked as a script, pdb will automatically enter post-mortem debugging if the program being debugged exits abnormally. After post-mortem debugging (or after normal exit of the program), pdb will restart the program. Automatic restarting preserves pdb's state (such as breakpoints) and in most cases is more useful than quitting the debugger upon program's exit. New in version 2.4: Restarting post-mortem behavior added.

    Takže by to možná mohlo pomoci, ale já jsem nikdy takhle neladil, to si radši přidám nějaký ten print navíc :-)
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    limit_false avatar 7.9.2009 22:45 limit_false | skóre: 23 | blog: limit_false
    Rozbalit Rozbalit vše Re: Zmražení pythoního procesu (á la pythoní "coredump")

    Tohle jde AFAIK s kazdym trocha lepsim pythonim debuggerem. Problematicky skript je spusten automaticky cronem stovky krat denne, co dela cekani na vyskyt race condition neprijemny. Zatim jsem pridal dalsi logging hlasky aby bylo aspon videt kdy chyba nastane prvne (jestli to dela C/C++ kod nebo pythoni kod).

    Jinak zatim jsem zjistil, ze dumpnutni kompletniho stavu pythoniho procesu zadny nastroj nedokaze (vyjma coredump).

    Po kratkem pruzkumu jsem zjistil, ze by slo naprogramovat nastroj co by to umel jako nadstavbu GDB. Nejake info:

    Bohuzel je to prace tak na mesic, co nemam.

    Ale nasel jsem jeste CryoPID projekt, ktery pry umi zmrazit proces. Tak to vyzkousim a uvidim.

    Treti moznost by byla udelat si jednoducheho daemona , ktereho by procesy zavolaly, kdyby zjistili poruseni invariantu. Ten by je uspal (procesy by cekaly na odpoved). Daemon by se ovladal z command line, mohl by "odekmknout" uspany proces a hodit ho remote debuggeru, nechat pokracovat, atd.

    Ja nejvic doufam ze CryoPID bude fungovat :-) To by se hodilo i v jinych pripadech.

    When people want prime order group, give them prime order group.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.