Ticket #8170: gdb-rational

File gdb-rational, 15.9 KB (added by Suhwan, 7 years ago)
Line 
1GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git
2Copyright (C) 2018 Free Software Foundation, Inc.
3License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
4This is free software: you are free to change and redistribute it.
5There is NO WARRANTY, to the extent permitted by law. Type "show copying"
6and "show warranty" for details.
7This GDB was configured as "x86_64-linux-gnu".
8Type "show configuration" for configuration details.
9For bug reporting instructions, please see:
10<http://www.gnu.org/software/gdb/bugs/>.
11Find the GDB manual and other documentation resources online at:
12<http://www.gnu.org/software/gdb/documentation/>.
13For help, type "help".
14Type "apropos word" to search for commands related to "word"...
15Reading symbols from ../ffmpeg/ffmpeg_g...done.
16(gdb) b rational.h:105
17Breakpoint 1 at 0x49b180: rational.h:105. (267 locations)
18(gdb) ignore 1 7
19Will ignore next 7 crossings of breakpoint 1.
20(gdb) r
21Starting program: ffmpeg_g -t 2 -stream_loop 23 -y -r 96 -i samples/png/common/c-m2-a46ce91d8975a017917156b8824f936e.png -loglevel 99 -map 0 -c copy -vframes 4 -aframes 86 -ab 516k -ac 4 -b:v 599k output/tmp.avi
22[Thread debugging using libthread_db enabled]
23Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
24ffmpeg version N-94957-g65589ad553 Copyright (c) 2000-2019 the FFmpeg developers
25 built with clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
26 configuration: --cc=clang --cxx=clang++ --ld=clang --enable-debug --toolchain=clang-usan
27 libavutil 56. 35.100 / 56. 35.100
28 libavcodec 58. 57.100 / 58. 57.100
29 libavformat 58. 32.104 / 58. 32.104
30 libavdevice 58. 9.100 / 58. 9.100
31 libavfilter 7. 58.102 / 7. 58.102
32 libswscale 5. 6.100 / 5. 6.100
33 libswresample 3. 6.100 / 3. 6.100
34Splitting the commandline.
35Reading option '-t' ... matched as option 't' (record or transcode "duration" seconds of audio/video) with argument '2'.
36Reading option '-stream_loop' ... matched as option 'stream_loop' (set number of times input stream shall be looped) with argument '23'.
37Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
38Reading option '-r' ... matched as option 'r' (set frame rate (Hz value, fraction or abbreviation)) with argument '96'.
39Reading option '-i' ... matched as input url with argument 'samples/png/common/c-m2-a46ce91d8975a017917156b8824f936e.png'.
40Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'.
41Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0'.
42Reading option '-c' ... matched as option 'c' (codec name) with argument 'copy'.
43Reading option '-vframes' ... matched as option 'vframes' (set the number of video frames to output) with argument '4'.
44Reading option '-aframes' ... matched as option 'aframes' (set the number of audio frames to output) with argument '86'.
45Reading option '-ab' ... matched as option 'ab' (audio bitrate (please use -b:a)) with argument '516k'.
46Reading option '-ac' ... matched as option 'ac' (set number of audio channels) with argument '4'.
47Reading option '-b:v' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '599k'.
48Reading option 'output/tmp.avi' ... matched as output url.
49Finished splitting the commandline.
50Parsing a group of options: global .
51Applying option y (overwrite output files) with argument 1.
52Applying option loglevel (set logging level) with argument 99.
53Successfully parsed a group of options.
54Parsing a group of options: input url samples/png/common/c-m2-a46ce91d8975a017917156b8824f936e.png.
55Applying option t (record or transcode "duration" seconds of audio/video) with argument 2.
56Applying option stream_loop (set number of times input stream shall be looped) with argument 23.
57Applying option r (set frame rate (Hz value, fraction or abbreviation)) with argument 96.
58Successfully parsed a group of options.
59Opening an input file: samples/png/common/c-m2-a46ce91d8975a017917156b8824f936e.png.
60[NULL @ 0x9234880] Opening 'samples/png/common/c-m2-a46ce91d8975a017917156b8824f936e.png' for reading
61[file @ 0x9235400] Setting default whitelist 'file,crypto'
62Probing image2 score:50 size:2048
63Probing png_pipe score:99 size:2048
64[png_pipe @ 0x9234880] Format png_pipe probed with size=2048 and score=99
65[png_pipe @ 0x9234880] Before avformat_find_stream_info() pos: 0 bytes read:5288 seeks:0 nb_streams:1
66[png @ 0x9236a00] inflate returned error -3
67[png_pipe @ 0x9234880] stream 0: start_time: -368934881474191040.000 duration: -368934881474191040.000
68[png_pipe @ 0x9234880] format: start_time: -9223372036854.775 duration: -9223372036854.775 bitrate=0 kb/s
69[png_pipe @ 0x9234880] After avformat_find_stream_info() pos: 5288 bytes read:5288 seeks:0 frames:1
70Input #0, png_pipe, from 'samples/png/common/c-m2-a46ce91d8975a017917156b8824f936e.png':
71 Duration: N/A, bitrate: N/A
72 Stream #0:0, 1, 1/25: Video: png, 1 reference frame, pal8(pc), 120x120 [SAR 2835:2835 DAR 1:1], 0/1, 25 tbr, 25 tbn, 25 tbc
73Successfully opened the file.
74Parsing a group of options: output url output/tmp.avi.
75Applying option map (set input stream mapping) with argument 0.
76Applying option c (codec name) with argument copy.
77Applying option vframes (set the number of video frames to output) with argument 4.
78Applying option aframes (set the number of audio frames to output) with argument 86.
79Applying option ab (audio bitrate (please use -b:a)) with argument 516k.
80Applying option ac (set number of audio channels) with argument 4.
81Applying option b:v (video bitrate (please use -b:v)) with argument 599k.
82Successfully parsed a group of options.
83Opening an output file: output/tmp.avi.
84[file @ 0x923d740] Setting default whitelist 'file,crypto'
85Successfully opened the file.
86
87Breakpoint 1, avformat_transfer_internal_stream_timing_info (ofmt=<optimized out>, ost=0x9239540,
88 ist=<optimized out>, copy_tb=AVFMT_TBCF_AUTO) at libavformat/utils.c:5755
895755 && av_q2d(ist->r_frame_rate) >= av_q2d(ist->avg_frame_rate)
90(gdb) n
91libavutil/rational.h:105:18: runtime error: division by zero
925756 && 0.5/av_q2d(ist->r_frame_rate) > av_q2d(ist->time_base)
93(gdb) bt
94#0 avformat_transfer_internal_stream_timing_info (ofmt=<optimized out>, ost=0x9239540,
95 ist=<optimized out>, copy_tb=AVFMT_TBCF_AUTO) at libavformat/utils.c:5756
96#1 0x00000000004ab6cb in init_output_stream_streamcopy (ost=<optimized out>) at fftools/ffmpeg.c:3099
97#2 init_output_stream (ost=<optimized out>, error=<optimized out>, error_len=1024)
98 at fftools/ffmpeg.c:3593
99#3 0x0000000000494c67 in transcode_init () at fftools/ffmpeg.c:3710
100#4 0x000000000048bfa6 in transcode () at fftools/ffmpeg.c:4663
101#5 0x0000000000489b54 in main (argc=27, argv=<optimized out>) at fftools/ffmpeg.c:4894
102(gdb) disass $pc-32,$pc+32
103Dump of assembler code from 0x1a1dd9e to 0x1a1ddde:
104 0x0000000001a1dd9e <avformat_transfer_internal_stream_timing_info+3006>: mov 0x10(%rsp),%r10
105 0x0000000001a1dda3 <avformat_transfer_internal_stream_timing_info+3011>: mov 0x20(%rsp),%r9
106 0x0000000001a1dda8 <avformat_transfer_internal_stream_timing_info+3016>: mov 0xf(%rsp),%dil
107 0x0000000001a1ddad <avformat_transfer_internal_stream_timing_info+3021>: mov 0x18(%rsp),%r8
108 0x0000000001a1ddb2 <avformat_transfer_internal_stream_timing_info+3026>: mov 0xe(%rsp),%cl
109 0x0000000001a1ddb6 <avformat_transfer_internal_stream_timing_info+3030>: divsd %xmm2,%xmm1
110 0x0000000001a1ddba <avformat_transfer_internal_stream_timing_info+3034>: ucomisd %xmm1,%xmm0
111=> 0x0000000001a1ddbe <avformat_transfer_internal_stream_timing_info+3038>: jae 0x1a1d59a <avformat_transfer_internal_stream_timing_info+954>
112 0x0000000001a1ddc4 <avformat_transfer_internal_stream_timing_info+3044>: jmpq 0x1a1e60f <avformat_transfer_internal_stream_timing_info+5167>
113 0x0000000001a1ddc9 <avformat_transfer_internal_stream_timing_info+3049>: mov $0x6bef120,%edi
114 0x0000000001a1ddce <avformat_transfer_internal_stream_timing_info+3054>: mov 0x50(%rsp),%rsi
115 0x0000000001a1ddd3 <avformat_transfer_internal_stream_timing_info+3059>: callq 0x42e510 <__ubsan_handle_type_mismatch_v1>
116 0x0000000001a1ddd8 <avformat_transfer_internal_stream_timing_info+3064>: mov 0x10(%rsp),%r10
117 0x0000000001a1dddd <avformat_transfer_internal_stream_timing_info+3069>: mov 0x20(%rsp),%r9
118End of assembler dump.
119(gdb) info all-registers
120rax 0x823e9c0 136571328
121rbx 0x5a8d101 94949633
122rcx 0x419301 4297473
123rdx 0x6d 109
124rsi 0x7fffffffc660 140737488340576
125rdi 0x7fffffffc401 140737488339969
126rbp 0x9235fc0 0x9235fc0
127rsp 0x7fffffffc670 0x7fffffffc670
128r8 0x9239540 153326912
129r9 0x9236400 153314304
130r10 0x923a764 153331556
131r11 0x206 518
132r12 0xffffffff 4294967295
133r13 0x9237101 153317633
134r14 0x923d301 153342721
135r15 0x9236080 153313408
136rip 0x1a1ddbe 0x1a1ddbe <avformat_transfer_internal_stream_timing_info+3038>
137eflags 0x247 [ CF PF ZF IF ]
138cs 0x33 51
139ss 0x2b 43
140ds 0x0 0
141es 0x0 0
142fs 0x0 0
143gs 0x0 0
144st0 0 (raw 0x00000000000000000000)
145st1 0 (raw 0x00000000000000000000)
146st2 0 (raw 0x00000000000000000000)
147st3 0 (raw 0x00000000000000000000)
148st4 0 (raw 0x00000000000000000000)
149st5 0 (raw 0x00000000000000000000)
150st6 0 (raw 0x00000000000000000000)
151st7 0 (raw 0x00000000000000000000)
152fctrl 0x37f 895
153fstat 0x0 0
154ftag 0xffff 65535
155fiseg 0x0 0
156fioff 0x0 0
157foseg 0x0 0
158fooff 0x0 0
159fop 0x0 0
160mxcsr 0x1fa1 [ IE PE IM DM ZM OM UM PM ]
161bndcfgu {raw = 0x0, config = {base = 0x0, reserved = 0x0, preserved = 0x0,
162 enabled = 0x0}} {raw = 0x0, config = {base = 0, reserved = 0, preserved = 0, enabled = 0}}
163bndstatus {raw = 0x0, status = {bde = 0x0, error = 0x0}} {raw = 0x0, status = {bde = 0,
164 error = 0}}
165ymm0 {v8_float = {0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x19, 0x0, 0x0, 0x0},
166 v32_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x39, 0x40, 0x0 <repeats 24 times>}, v16_int16 = {0x0, 0x0,
167 0x0, 0x4039, 0x0 <repeats 12 times>}, v8_int32 = {0x0, 0x40390000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
168---Type <return> to continue, or q <return> to quit---
169 v4_int64 = {0x4039000000000000, 0x0, 0x0, 0x0}, v2_int128 = {0x4039000000000000, 0x0}}
170ymm1 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x8000000000000000,
171 0x0, 0x0, 0x0}, v32_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0x0 <repeats 24 times>},
172 v16_int16 = {0x0, 0x0, 0x0, 0xfff8, 0x0 <repeats 12 times>}, v8_int32 = {0x0, 0xfff80000, 0x0, 0x0,
173 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0xfff8000000000000, 0x0, 0x0, 0x0}, v2_int128 = {
174 0xfff8000000000000, 0x0}}
175ymm2 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0},
176 v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0,
177 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x0, 0x0}}
178ymm3 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0},
179 v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0,
180 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x0, 0x0}}
181ymm4 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0},
182 v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0,
183 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x0, 0x0}}
184ymm5 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0},
185 v32_int8 = {0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0 <repeats 23 times>}, v16_int16 = {0x2,
186 0x0, 0x2, 0x0, 0x2, 0x0 <repeats 11 times>}, v8_int32 = {0x2, 0x2, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0},
187 v4_int64 = {0x200000002, 0x2, 0x0, 0x0}, v2_int128 = {0x20000000200000002, 0x0}}
188ymm6 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x8000000000000000,
189 0x0, 0x0, 0x0}, v32_int8 = {0x9d, 0xff, 0xff, 0xff, 0x9d, 0xff, 0xff, 0xff, 0x78, 0x0, 0x0, 0x0,
190 0x78, 0x0 <repeats 19 times>}, v16_int16 = {0xff9d, 0xffff, 0xff9d, 0xffff, 0x78, 0x0, 0x78, 0x0,
191 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int32 = {0xffffff9d, 0xffffff9d, 0x78, 0x78, 0x0, 0x0,
192 0x0, 0x0}, v4_int64 = {0xffffff9dffffff9d, 0x7800000078, 0x0, 0x0}, v2_int128 = {
193 0x7800000078ffffff9dffffff9d, 0x0}}
194ymm7 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0},
195 v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0,
196 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x0, 0x0}}
197ymm8 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0},
198 v32_int8 = {0x0, 0x1b, 0x5b, 0x34, 0x38, 0x3b, 0x35, 0x3b, 0x25, 0x75, 0x6d, 0x1b, 0x5b, 0x33, 0x38,
199 0x3b, 0x0 <repeats 16 times>}, v16_int16 = {0x1b00, 0x345b, 0x3b38, 0x3b35, 0x7525, 0x1b6d, 0x335b,
200 0x3b38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int32 = {0x345b1b00, 0x3b353b38, 0x1b6d7525,
201 0x3b38335b, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x3b353b38345b1b00, 0x3b38335b1b6d7525, 0x0, 0x0},
202 v2_int128 = {0x3b38335b1b6d75253b353b38345b1b00, 0x0}}
203ymm9 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0},
204 v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0,
205 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x0, 0x0}}
206ymm10 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0},
207 v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0,
208 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x0, 0x0}}
209ymm11 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0},
210 v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0,
211 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x0, 0x0}}
212ymm12 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0},
213 v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0,
214 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x0, 0x0}}
215ymm13 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0},
216 v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0,
217---Type <return> to continue, or q <return> to quit---
218 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x0, 0x0}}
219ymm14 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0},
220 v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0,
221 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x0, 0x0}}
222ymm15 {v8_float = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_double = {0x0, 0x0, 0x0, 0x0},
223 v32_int8 = {0x0 <repeats 32 times>}, v16_int16 = {0x0 <repeats 16 times>}, v8_int32 = {0x0, 0x0, 0x0,
224 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int64 = {0x0, 0x0, 0x0, 0x0}, v2_int128 = {0x0, 0x0}}
225bnd0 {lbound = 0x0, ubound = 0xffffffffffffffff} : size -1 {lbound = 0x0, ubound = 0xffffffffffffffff} : size -1
226bnd1 {lbound = 0x0, ubound = 0xffffffffffffffff} : size -1 {lbound = 0x0, ubound = 0xffffffffffffffff} : size -1
227bnd2 {lbound = 0x0, ubound = 0xffffffffffffffff} : size -1 {lbound = 0x0, ubound = 0xffffffffffffffff} : size -1
228bnd3 {lbound = 0x0, ubound = 0xffffffffffffffff} : size -1 {lbound = 0x0, ubound = 0xffffffffffffffff} : size -1
229