summaryrefslogtreecommitdiffstats
path: root/DOCS/xml/cs/bugreports.xml
blob: 6b387abf80705603adc628c739dfb2f6bea21db1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r23225 -->
<appendix id="bugreports">
<title>Jak hlásit chyby</title>

<para>
Dobrá hlášení chyb jsou velmi cenným příspěvkem do vývoje jakéhokoli
softwarového projektu. Ale je to s nimi jako se psaním dobrého
programu, sepsání dobrého hlášení problému vyžaduje trochu práce.
Prosím berte na vědomí, že většina vývojářů je velmi zaneprázdněna a
dostává kvanta e-mailů. Takže ačkoli je vaše zpětná vazba kritická pro
vylepšování <application>MPlayer</application>u a velmi ceněná, prosíme
pochopte, že musíte poskytnout <emphasis role="bold">veškeré</emphasis>
informace které požadujeme a postupovat přesně podle instrukcí v tomto
dokumentu.
</para>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="bugreports_security">
<title>Hlášení bezpečnostních chyb</title>

<para>
V případě že jste nalezli exploitovatelnou chybu, chtěli byste udělat správnou
věc a nechali nás ji opravit než ji odhalíte, budeme rádi, když nám pošlete
bezpečnostní hlášení na
<ulink url="mailto:&#115;&#101;&#99;&#117;&#114;&#105;&#116;&#121;&#64;&#109;&#112;&#108;&#97;&#121;&#101;&#114;&#104;&#113;&#46;&#104;&#117;">&#115;&#101;&#99;&#117;&#114;&#105;&#116;&#121;&#64;&#109;&#112;&#108;&#97;&#121;&#101;&#114;&#104;&#113;&#46;&#104;&#117;</ulink>.
Do hlavičky prosíme přidejte [SECURITY] nebo [ADVISORY].
Ujistěte se, že vaše hlášení obsahuje úplnou a podrobnou analýzu chyby.
Zaslání opravy je velice žádoucí.
Prosíme neodkládejte hlášení do doby než vytvoříte 'dokazovací' exploit, ten nám
můžete zaslat dalším mailem.
</para>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="bugreports_fix">
<title>Jak napravovat chyby</title>

<para>
Pokud si myslíte, že máte potřebné schopnosti, pak vás vybízíme abyste
opravil(a) chybu samostatně. Nebo jste to již udělal(a)? Přečtěte si prosím
<ulink url="../../tech/patches.txt">tento krátký dokument</ulink>, abyste se
dozvěděli jak zahrnout váš kód do <application>MPlayer</application>u.
Lidé z konference
<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">MPlayer-dev-eng</ulink>
vám pomohou, pokud budete mít otázky.
</para>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="bugreports_regression_test">
<title>Jak provádět regresní testování pomocí Subversion</title>

<para>
Občas nastane problém typu 'předtím to fungovalo, teď už ne...'.
Zde přinášíme postup krok za krokem, jak vyhledat, kdy problém
nastal. Toto <emphasis role="bold">není</emphasis> určeno příležitostným
uživatelům.
</para>

<para>
Nejprve si musíte opatřit zdrojové kódy MPlayeru ze Subversion.
Instrukce lze nalést v
<ulink url="http://www.mplayerhq.hu/design7/dload.html#svn">sekci Subversion stránky download</ulink>.
</para>

<para>
Tak dostanete v adresáři mplayer/ obraz Subversion stromu na straně klienta.
Nyní aktualizujte tento obraz k datu, které chcete:
<screen>
cd mplayer/
svn update -r {"2004-08-23"}
</screen>
Formát data je YYYY-MM-DD HH:MM:SS.
Požití tohoto datového formátu zajišťuje, že budete schopni extrahovat
patche podle data, kdy byly zapsány (commit) stejně, jak jsou v
<ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-cvslog/">MPlayer-cvslog archivu</ulink>.
</para>

<para>
A teď proveďte sestavení jako při normální aktualizaci:
<screen>
./configure
make
</screen>
</para>

<para>
Pokud to čte nějaký neprogramátor, nejrychlejší metodou, jak se dostat
k bodu, kde problém nastal, je použití binárního vyhledávání &ndash; to je
vyhledávání data poruchy opakovaným dělením vyhledávacího intervalu napůl.
Například pokud problém nastal v 2003, začneme v polovině roku a ptáme se,
„Už je tu problém?“.
Pokud ano, vraťte se na prvního dubna; pokud ne, běžte na prvního října
a tak dále.
</para>

<para>
Pokud máte spoustu místa na disku (plná kompilace obvykle zabírá 100 MB
a kolem 300&ndash;350 MB, pokud jsou zapnuty debugovací symboly), zkopírujte
nejstarší známou funkční verzi před jejím updatem; to vám ušetří čas,
pokud se budete vracet.
(Obvykla je nutné spustit 'make distclean' před rekompilací starší verze,
takže pokud si neuděláte záložní kopii originálního zdrojového stromu,
budete v něm muset rekompilovat vše, až se vrátíte do současnosti.)
</para>

<para>
Pokud jste našli den, kdy k problému došlo, pokračujte v hledání pomocí
archivu mplayer-cvslog (řazeného podle data) a preciznějším cvs update
s uvedením hodiny, minuty a sekundy:
<screen>
cvs update -PAd -D "2004-08-23 15:17:25"
</screen>
To vám umožní lehce najít patch, který problém způsobil.
</para>

<para>
Pokud jste našli patch, který je příčinou problému, máte téměř vyhráno;
ohlaste to do
<ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilly</ulink> nebo
se přihlaste do
<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-users</ulink>
a pošlete to tam.
Je šance, že autor navrhne opravu.
Rovněž si můžete patch rozpitvat, dokud z něj nevytlučete, kde je chyba :-).
</para>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="bugreports_report">
<title>Jak oznamovat chyby</title>

<para>
Nejprve, prosím, vyzkoušejte poslední Subversion verzi
<application>MPlayer</application>u, jelikož vaše chyba již mohla být
odstraněna. Vývoj je velmi rychlý, většina chyb v oficiálních balíčcích je
nahlášena během několika dnů, nebo dokonce hodin, takže prosím používejte
<emphasis role="bold">pouze Subversion</emphasis> pro hlášení chyb. To zahrnuje binární
balíčky <application>MPlayer</application>u. Subversion instrukce naleznete na konci
<ulink url="http://www.mplayerhq.hu/dload.html">této stránky</ulink>,
nebo v souboru README. Pokud to nepomůže, prostudujte si prosím seznam
známých chyb a zbytek dokumentace. Pokud je váš
problém neznámý nebo jej nelze řešit pomocí našich instrukcí pak jej nahlaste
jako chybu.
</para>

<para>
Prosíme, neposílejte hlášení chyb soukromě jednotlivým vývojářům. Toto je týmová
práce a proto se o ně může zajímat více lidí. Čas od času měli ostatní uživatelé
stejný problém a vědí jak jej obejít, dokonce i když se jedná o chybu v kódu
<application>MPlayer</application>u.
</para>

<para>
Prosíme popište svůj problém tak podrobně, jak je to jen možné. Proveďte malé
pátrání po okolnostech za kterých problém nastává. Projevuje se ta chyba jen
v určitých situacích? Je vlastní určitým souborům nebo typům souborů? Stává se
pouze s jedním kodekem, nebo je nezávislá na použitém kodeku? Dokážete ji
zopakovat se všemi výstupními rozhraními nebo ovladači?
Čím více nám poskytnete informací, tím je větší šance na odstranění problému.
Nezapomeňte také připojit hodnotné informace požadované níže, jinak nebudeme
schopni stanovit příčinu problému.
</para>

<para>
Skvělá, dobře napsaná příručka jak se ptát ve veřejných konferencích je
<ulink url="http://www.catb.org/~esr/faqs/smart-questions.html">How To Ask Questions The Smart Way</ulink> od
<ulink url="http://www.catb.org/~esr/">Erica S. Raymonda</ulink>.
Další příručka je
<ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">How to Report Bugs Effectively</ulink>
od <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/">Simona Tathama</ulink>.
Pokud budete postupovat podle těchto rad, jistě se vám dostane pomoci. Pochopte
však, že my všichni sledujeme konference dobrovolně ve svém volném čase. Máme
mnoho práce a nemůžeme vám zaručit že vyřešíme váš problém nebo že vůbec
dostanete odpověď.
</para>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="bugreports_where">
<title>Kam hlásit chyby</title>

<para>
Přihlaste se do e-mailové konference MPlayer-users:
<ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users"/>
a pošlete své hlášení o chybách na adresu
<ulink url="mailto:mplayer-users@mplayerhq.hu"/> kde o tom můžeme diskutovat.
</para>

<para>
Pokud chcete, můžete místo toho použít zbrusu novou
<ulink url="http://bugzilla.mplayerhq.hu/">Bugzillu</ulink>.
</para>

<para>
Jazykem konference je <emphasis role="bold">Angličtina</emphasis>.
Zachovávejte prosím
<ulink url="http://www.ietf.org/rfc/rfc1855.txt">Pravidla Netikety</ulink> a
<emphasis role="bold">neposílejte HTML mail</emphasis> do žádné z našich
konferencí. Jinak můžete být ignorováni nebo vyhozeni. Pokud nevíte co je to
HTML mail, nebo proč je tak zatracován, přečtěte si tento
<ulink url="http://efn.no/html-bad.html">výborný dokument</ulink>. Zde se
dovíte detaily včetně instrukcí pro vypnutí HTML. Poznamenejme též, že nebudeme
individuálně dělat CC (kopie) lidem, takže je dobré se přihlásit, abyste
obdrželi svou odpověď.
</para>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="bugreports_what">
<title>Co nahlásit</title>

<para>
Bude potřeba připojit log, konfiguraci nebo vzorky souborů ke svému hlášení chyb.
Pokud jsou některé z nich opravdu velké, pak je raději nahrajte na náš
<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">FTP server</ulink>
v komprimovaném formátu (preferujeme gzip a bzip2) a do zprávy zahrňte pouze
cestu a název souboru. Naše konference mají limit velikosti zprávy 80k, pokud
máte něco většího, musíte to zkomprimovat a nahrát na FTP.
</para>

<!-- ********** -->

<sect2 id="bugreports_system">
<title>Systémové informace</title>

<para>
<itemizedlist>
<listitem><para>
  Vaše Linuxová distribuce nebo operační systém a jeho verze jako:
  <itemizedlist>
    <listitem><para>Red Hat 7.1</para></listitem>
    <listitem><para>Slackware 7.0 + devel packs from 7.1 ...</para></listitem>
  </itemizedlist>
</para></listitem>
<listitem><para>
  verze jádra:
  <screen>uname -a</screen>
</para></listitem>
<listitem><para>
  verze libc:
  <screen>ls -l /lib/libc[.-]*</screen>
</para></listitem>
<listitem><para>
  verze gcc a ld:
  <screen>
gcc -v
ld -v<!--
  --></screen>
</para></listitem>
<listitem><para>
  verze binutils:
  <screen>as --version</screen>
</para></listitem>
<listitem><para>
  Pokud máte problémy s celoobrazovkovým režimem:
  <itemizedlist>
    <listitem><para>Druh Window manageru a jeho verze</para></listitem>
  </itemizedlist>
</para></listitem>
<listitem><para>
  Pokud máte problémy s XVIDIX:
  <itemizedlist>
  <listitem><para>
    Hloubka barev v X:
    <screen>xdpyinfo | grep "depth of root"</screen>
  </para></listitem>
  </itemizedlist>
</para></listitem>
<listitem><para>
  Pokud je chybné pouze GUI:
  <itemizedlist>
    <listitem><para>verze GTK</para></listitem>
    <listitem><para>verze GLIB</para></listitem>
    <listitem><para>GUI situace kdy se chyba projevila</para></listitem>
  </itemizedlist>
</para></listitem>
</itemizedlist>
</para>
</sect2>

<!-- ********** -->

<sect2 id="bugreports_hardware">
<title>Hardware a rozhraní (ovladače)</title>

<para>
<itemizedlist>
<listitem><para>
  CPU info (to funguje pouze v Linuxu):
  <screen>cat /proc/cpuinfo</screen>
</para></listitem>
<listitem><para>
  Výrobce a model videokarty, např:
  <itemizedlist>
    <listitem><para>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</para></listitem>
    <listitem><para>Matrox G400 DH 32MB SGRAM</para></listitem>
  </itemizedlist>
</para></listitem>
<listitem><para>
  Typ video ovladače a jeho verze, např.:
  <itemizedlist>
    <listitem><para>vestavěný ovladač z X</para></listitem>
    <listitem><para>nVidia 0.9.623</para></listitem>
    <listitem><para>Utah-GLX CVS 2001-02-17</para></listitem>
    <listitem><para>DRI z X 4.0.3</para></listitem>
  </itemizedlist>
</para></listitem>
<listitem><para>
  Typ zvukové karty a ovladač, např.:
  <itemizedlist>
    <listitem><para>Creative SBLive! Gold s OSS ovladačem od oss.creative.com</para></listitem>
    <listitem><para>Creative SB16 s OSS ovladači z jádra</para></listitem>
    <listitem><para>GUS PnP s ALSA OSS emulací</para></listitem>
  </itemizedlist>
</para></listitem>
<listitem><para>
  Pokud si nejste jisti a používáte systém Linux, přidejte výstup
  z <command>lspci -vv</command>.
</para></listitem>
</itemizedlist>
</para>
</sect2>

<!-- ********** -->

<sect2 id="bugreports_configure">
<title>Problémy s konfigurací</title>

<para>
Pokud nastanou chyby během běhu <command>./configure</command>, nebo selže
autodetekce něčeho, prostudujte <filename>config.log</filename>. Možná
naleznete odpověď zde. Například několik verzí stejné knihovny v systému, nebo
jste zapomněli nainstalovat vývojový (devel) balíček (to jsou ty s koncovkou
-dev). Pokud si myslíte, že je zde chyba, přidejte
<filename>config.log</filename> do svého hlášení.
</para>
</sect2>

<sect2 id="bugreports_compilation">
<title>Problémy s kompilací</title>
<para>
Zahrňte prosím tyto soubory:
<itemizedlist>
  <listitem><para>config.h</para></listitem>
  <listitem><para>config.mak</para></listitem>
</itemizedlist>
</para>
</sect2>

<!-- ********** -->

<sect2 id="bugreports_playback">
<title>Problémy s přehráváním</title>

<para>
Zahrňte prosíme výstup <application>MPlayer</application>u v upovídaném
režimu úrovně 1 ale dejte pozor, abyste jej
<emphasis role="bold">nezkrátili</emphasis>
při kopírování do mailu. Vývojáři potřebují všechny zprávy pro dobrou diagnózu
problému. Takto můžete přesměrovat výstup do souboru:
<screen>
mplayer -v <replaceable>volby</replaceable> <replaceable>film</replaceable> &gt; mplayer.log 2&gt;&amp;1
</screen>
</para>

<para>
Pokud se problém vztahuje k jednomu nebo více souborům, pak prosím nahrajte
potížisty na:
<ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/"/>
</para>

<para>
Rovněž zde nahrajte malý textový soubor se stejným základním jménem a příponou
.txt. Popište problém který máte s daným souborem a připojte svůj e-mail a také
výstup <application>MPlayer</application>u v upovídaném režimu úrovně 1.
Pro reprodukci problému stačí obvykle prvních 1-5 MB souboru, ale pro jistotu
vás žádáme o:
<screen>
dd if=<replaceable>váš_soubor</replaceable> of=<replaceable>malý_soubor</replaceable> bs=1024k count=5
</screen>
To vezme prvních pět megabajtů '<emphasis role="bold">vašeho_souboru</emphasis>'
a zapíše je do '<emphasis role="bold">malého_souboru</emphasis>'. Pak znovu
zkuste tento malý vzorek a pokud se na něm chyba projeví, pak je tento vzorek
pro nás dostatečný.
Prosíme <emphasis role="bold">nikdy</emphasis> neposílejte tyto soubory e-mailem!
Nahrajte je na FTP a pošlete pouze cestu/název_souboru daného souboru na FTP
serveru. Pokud je soubor přístupný na internetu, pak stačí poslat
<emphasis role="bold">přesnou</emphasis> adresu URL.
</para>
</sect2>

<!-- ********** -->

<sect2 id="bugreports_crash">
<title>Pády</title>

<para>
Musíte spustit <application>MPlayer</application> z <command>gdb</command>
a poslat nám úplný výstup nebo pokud máte <filename>core</filename> dump
z pádu, můžete nám vyextrahovat užitečné informace ze souboru Core.
Jak to udělat:
</para>


<sect3 id="bugreports_debug">
<title>Jak uchovat informace o zopakovatelném pádu</title>

<para>
Překompilujte <application>MPlayer</application> se zapnutým debugovacím kódem:
<screen>
./configure --enable-debug=3
make
</screen>
a spusťte <application>MPlayer</application> z gdb pomocí:
<screen>gdb ./mplayer</screen>
Nyní jste v gdb. Zadejte:
<screen>
run -v <replaceable>volby-pro-mplayer</replaceable> <replaceable>soubor</replaceable>
</screen>
a zopakujte pád. Jakmile to dokážete, vrátí se gdb do režimu příkazového řádku,
kde musíte zadat
<screen>
bt
disass $pc-32 $pc+32
info all-registers
</screen>
</para>
</sect3>


<sect3 id="bugreports_core">
<title>Jak získat smysluplné informace z core dump</title>

<para>
Vytvořte následující příkazový řádek:
<screen>
bt
disass $pc-32 $pc+32
info all-registers
</screen>
Pak jednoduše spusťte tento příkaz:
<screen>
gdb mplayer --core=core -batch --command=příkazový_soubor &gt; mplayer.bug
</screen>
</para>
</sect3>
</sect2>
</sect1>


<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->


<sect1 id="bugreports_advusers">
<title>Vím co dělám...</title>

<para>
Pokud jste vytvořili příkladné hlášení chyby pomocí výšeuvedených kroků a
jste si jisti, že chyba je v <application>MPlayer</application>u, nikoli
v kompilátoru nebo poškozený soubor, již jste si přečetli dokumentaci,
ale nenalezli řešení, vaše ovladače zvuku jsou OK, pak byste se měli
přihlásit do konference MPlayer-advusers a poslat hlášení chyb zde,
abyste dostali lepší a rychlejší odpověď.
</para>

<para>
Mějte na paměti, že pokud zde pošlete nováčkovské otázky nebo otázky zodpovězené
v manuálu, budete ignorováni nebo peskováni, místo abyste dostali vhodnou odpověď.
Takže nám nenadávejte a přihlaste se do -advusers pouze pokud opravdu víte co
děláte a cítíte se být pokročilým uživatelem <application>MPlayer</application>u,
nebo vývojářem. Pokud splňujete tato kritéria, nebude pro vás těžké se
přihlásit...
</para>
</sect1>

</appendix>