wiki:

TracQuery


Version 1 (modified by trac, 6 years ago) (diff)

--

Trac Ticket Queries

In addition to reports, Trac provides support for custom ticket queries, used to display lists of tickets meeting a specified set of criteria.

To configure and execute a custom query, switch to the View Tickets module from the navigation bar, and select the Custom Query link.

Filters

When you first go to the query page the default filter will display tickets relevant to you:

  • If logged in then all open tickets it will display open tickets assigned to you.
  • If not logged in but you have specified a name or email address in the preferences then it will display all open tickets where your email (or name if email not defined) is in the CC list.
  • If not logged and no name/email defined in the preferences then all open issues are displayed.

Current filters can be removed by clicking the button to the left with the minus sign on the label. New filters are added from the pulldown lists at the bottom corners of the filters box ('And' conditions on the left, 'Or' conditions on the right). Filters with either a text box or a pulldown menu of options can be added multiple times to perform an or of the criteria.

You can use the fields just below the filters box to group the results based on a field, or display the full description for each ticket.

Once you've edited your filters click the Update button to refresh your results.

Clicking on one of the query results will take you to that ticket. You can navigate through the results by clicking the Next Ticket or Previous Ticket links just below the main menu bar, or click the Back to Query link to return to the query page.

You can safely edit any of the tickets and continue to navigate through the results using the Next/Previous/Back to Query links after saving your results. When you return to the query any tickets which were edited will be displayed with italicized text. If one of the tickets was edited such that it no longer matches the query criteria the text will also be greyed. Lastly, if a new ticket matching the query criteria has been created, it will be shown in bold.

The query results can be refreshed and cleared of these status indicators by clicking the Update button again.

Saving Queries

Trac allows you to save the query as a named query accessible from the reports module. To save a query ensure that you have Updated the view and then click the Save query button displayed beneath the results. You can also save references to queries in Wiki content, as described below.

Note: one way to easily build queries like the ones below, you can build and test the queries in the Custom report module and when ready - click Save query. This will build the query string for you. All you need to do is remove the extra line breaks.

You may want to save some queries so that you can come back to them later. You can do this by making a link to the query from any Wiki page.

[query:status=new|assigned|reopened&version=1.0 Active tickets against 1.0]

Which is displayed as:

Active tickets against 1.0

This uses a very simple query language to specify the criteria (see Query Language).

Alternatively, you can copy the query string of a query and paste that into the Wiki link, including the leading ? character:

[query:?status=new&status=assigned&status=reopened&group=owner Assigned tickets by owner]

Which is displayed as:

Assigned tickets by owner

Using the [[TicketQuery]] Macro

The TicketQuery macro lets you display lists of tickets matching certain criteria anywhere you can use WikiFormatting.

Example:

[[TicketQuery(version=0.6|0.7&resolution=duplicate)]]

This is displayed as:

No results

Just like the query: wiki links, the parameter of this macro expects a query string formatted according to the rules of the simple ticket query language.

A more compact representation without the ticket summaries is also available:

[[TicketQuery(version=0.6|0.7&resolution=duplicate, compact)]]

This is displayed as:

No results

Finally, if you wish to receive only the number of defects that match the query, use the count parameter.

[[TicketQuery(version=0.6|0.7&resolution=duplicate, count)]]

This is displayed as:

0

Customizing the table format

You can also customize the columns displayed in the table format (format=table) by using col=<field> - you can specify multiple fields and what order they are displayed by placing pipes (|) between the columns like below:

[[TicketQuery(max=3,status=closed,order=id,desc=1,format=table,col=resolution|summary|owner|reporter)]]

This is displayed as:

Results (1 - 3 of 4745)

1 2 3 4 5 6 7 8 9 10 11
Ticket Resolution Summary Owner Reporter
#6185 fixed scpr: crash with fuzzed file 3 ami_stuff
#6184 fixed scpr: crash with fuzzed file 2 ami_stuff
#6183 fixed scpr: crash with fuzzed file ami_stuff
1 2 3 4 5 6 7 8 9 10 11

Full rows

In table format you can also have full rows by using rows=<field> like below:

[[TicketQuery(max=3,status=closed,order=id,desc=1,format=table,col=resolution|summary|owner|reporter,rows=description)]]

This is displayed as:

Results (1 - 3 of 4745)

1 2 3 4 5 6 7 8 9 10 11
Ticket Resolution Summary Owner Reporter
#6185 fixed scpr: crash with fuzzed file 3 ami_stuff
Description
aaa@aaa-VirtualBox /media/sdb1 $ valgrind --leak-check=full ffmpeg/ffmpeg_g -i f/sp/sp_24bit_q50_fuzz2.avi -f null -
==17052== Memcheck, a memory error detector
==17052== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==17052== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==17052== Command: ffmpeg/ffmpeg_g -i f/sp/sp_24bit_q50_fuzz2.avi -f null -
==17052== 
ffmpeg version 3.2.git Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.3.0 (Ubuntu 5.3.0-3ubuntu1~14.04) 20151204
  configuration: --disable-ffprobe --disable-ffserver --disable-ffplay --enable-gpl
  libavutil      55. 47.100 / 55. 47.100
  libavcodec     57. 81.100 / 57. 81.100
  libavformat    57. 66.102 / 57. 66.102
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 73.100 /  6. 73.100
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
[avi @ 0x4a784a0] too big INFO subchunk
Input #0, avi, from 'f/sp/sp_24bit_q50_fuzz2.avi':
  Duration: 00:00:04.44, start: 0.000000, bitrate: 392 kb/s
    Stream #0:0: Video: scpr (SCPR / 0x52504353), bgr0, 320x200, 25 fps, 25 tbr, 25 tbn, 25 tbc
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf57.66.102
    Stream #0:0: Video: wrapped_avframe, bgr0, 320x200, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.81.100 wrapped_avframe
Stream mapping:
  Stream #0:0 -> #0:0 (scpr (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
Error while decoding stream #0:0: Invalid data found when processing input
==17052== Invalid read of size 4s
==17052==    at 0x86AF448: decompress_p (scpr.c:512)
==17052==    by 0x86AF448: decode_frame (scpr.c:734)
==17052==    by 0x8729A98: avcodec_decode_video2 (utils.c:2263)
==17052==    by 0x872AA1C: do_decode (utils.c:2796)
==17052==    by 0x872B7EF: avcodec_send_packet (utils.c:2885)
==17052==    by 0x80E8446: decode (ffmpeg.c:2052)
==17052==    by 0x80E8446: decode_video (ffmpeg.c:2248)
==17052==    by 0x80E9805: process_input_packet (ffmpeg.c:2491)
==17052==    by 0x80C78D5: process_input (ffmpeg.c:4251)
==17052==    by 0x80C78D5: transcode_step (ffmpeg.c:4339)
==17052==    by 0x80C78D5: transcode (ffmpeg.c:4393)
==17052==    by 0x80C78D5: main (ffmpeg.c:4598)
==17052==  Address 0x4b2cba0 is 8 bytes after a block of size 408 free'd
==17052==    at 0x402B3D8: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==17052==    by 0x88A2694: wrapped_avframe_release_buffer (wrapped_avframe.c:39)
==17052==    by 0x8C1923E: buffer_replace (buffer.c:119)
==17052==    by 0x8C1923E: av_buffer_unref (buffer.c:129)
==17052==    by 0x83C232E: av_packet_unref (avpacket.c:574)
==17052==    by 0x82E77BA: av_interleaved_write_frame (mux.c:1282)
==17052==    by 0x80E4435: write_packet.isra.10 (ffmpeg.c:769)
==17052==    by 0x80E5031: output_packet (ffmpeg.c:841)
==17052==    by 0x80E59CC: do_video_out (ffmpeg.c:1293)
==17052==    by 0x80E6EF6: reap_filters (ffmpeg.c:1467)
==17052==    by 0x80C78EE: transcode_step (ffmpeg.c:4349)
==17052==    by 0x80C78EE: transcode (ffmpeg.c:4393)
==17052==    by 0x80C78EE: main (ffmpeg.c:4598)
==17052== 
    Last message repeated 32 times
Error while decoding stream #0:0: Not yet implemented in FFmpeg, patches welcome
Error while decoding stream #0:0: Invalid data found when processing input
    Last message repeated 15 times
Error while decoding stream #0:0: Not yet implemented in FFmpeg, patches welcome
Error while decoding stream #0:0: Invalid data found when processing input
    Last message repeated 25 times
frame=   24 fps=0.0 q=-0.0 Lsize=N/A time=00:00:03.96 bitrate=N/A speed=8.02x    
video:9kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Conversion failed!
==17052== 
==17052== HEAP SUMMARY:
==17052==     in use at exit: 0 bytes in 0 blocks
==17052==   total heap usage: 1,650 allocs, 1,650 frees, 28,005,497 bytes allocated
==17052== 
==17052== All heap blocks were freed -- no leaks are possible
==17052== 
==17052== For counts of detected and suppressed errors, rerun with: -v
==17052== ERROR SUMMARY: 9 errors from 1 contexts (suppressed: 0 from 0)
(gdb) r -i f/sp/sp_24bit_q50_fuzz2.avi -f null -
Starting program: /media/sdb1/ffmpeg/ffmpeg_g -i f/sp/sp_24bit_q50_fuzz2.avi -f null -
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
ffmpeg version 3.2.git Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.3.0 (Ubuntu 5.3.0-3ubuntu1~14.04) 20151204
  configuration: --disable-ffprobe --disable-ffserver --disable-ffplay --enable-gpl
  libavutil      55. 47.100 / 55. 47.100
  libavcodec     57. 81.100 / 57. 81.100
  libavformat    57. 66.102 / 57. 66.102
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 73.100 /  6. 73.100
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
[avi @ 0x9a27200] too big INFO subchunk
Input #0, avi, from 'f/sp/sp_24bit_q50_fuzz2.avi':
  Duration: 00:00:04.44, start: 0.000000, bitrate: 392 kb/s
    Stream #0:0: Video: scpr (SCPR / 0x52504353), bgr0, 320x200, 25 fps, 25 tbr, 25 tbn, 25 tbc
[New Thread 0xb68c6b40 (LWP 17110)]
[New Thread 0xb60c5b40 (LWP 17111)]
[New Thread 0xb58c4b40 (LWP 17112)]
[New Thread 0xb50c3b40 (LWP 17113)]
[New Thread 0xb48c2b40 (LWP 17114)]
[New Thread 0xb40c1b40 (LWP 17115)]
[New Thread 0xb38c0b40 (LWP 17116)]
[New Thread 0xb30bfb40 (LWP 17117)]
[New Thread 0xb28beb40 (LWP 17118)]
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf57.66.102
    Stream #0:0: Video: wrapped_avframe, bgr0, 320x200, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.81.100 wrapped_avframe
Stream mapping:
  Stream #0:0 -> #0:0 (scpr (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
Error while decoding stream #0:0: Invalid data found when processing input
    Last message repeated 3 times
Program received signal SIGSEGV, Segmentation fault.
decompress_p (plinesize=<optimized out>, prev=0xb207f020, 
    linesize=<optimized out>, dst=0xb2040020, avctx=0x9a29b80)
    at libavcodec/scpr.c:512
512	                        dst[(by + i + sy1) * linesize + bx + sx1 + j] = prev[(by + mvy + sy1 + i) * plinesize + bx + sx1 + mvx + j];
(gdb) bt
#0  decompress_p (plinesize=<optimized out>, prev=0xb207f020, 
    linesize=<optimized out>, dst=0xb2040020, avctx=0x9a29b80)
    at libavcodec/scpr.c:512
#1  decode_frame (avctx=0x9a29b80, data=0x9a2be60, got_frame=0xbfffe82c, 
    avpkt=0xbfffe79c) at libavcodec/scpr.c:734
#2  0x08729a99 in avcodec_decode_video2 (avctx=0x9a29b80, picture=0x9a2be60, 
    got_picture_ptr=0xbfffe82c, avpkt=0xbfffe928) at libavcodec/utils.c:2263
#3  0x0872aa1d in do_decode (avctx=avctx@entry=0x9a29b80, 
    pkt=pkt@entry=0xbfffe928) at libavcodec/utils.c:2796
#4  0x0872b7f0 in avcodec_send_packet (avctx=0x9a29b80, avpkt=<optimized out>)
    at libavcodec/utils.c:2885
#5  0x080e8447 in decode (pkt=0xbfffe928, got_frame=0xbfffeac4, 
    frame=<optimized out>, avctx=0x9a29b80) at ffmpeg.c:2052
#6  decode_video (ist=ist@entry=0x9a29720, pkt=pkt@entry=0xbfffeb04, 
    got_output=got_output@entry=0xbfffeac4, eof=0) at ffmpeg.c:2248
#7  0x080e9806 in process_input_packet (ist=0x9a29720, pkt=0xbfffed34, 
    no_eof=0) at ffmpeg.c:2491
#8  0x080c78d6 in process_input (file_index=<optimized out>) at ffmpeg.c:4251
#9  transcode_step () at ffmpeg.c:4339
#10 transcode () at ffmpeg.c:4393
#11 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:4598
#6184 fixed scpr: crash with fuzzed file 2 ami_stuff
Description
aaa@aaa-VirtualBox /media/sdb1 $ valgrind --leak-check=full ffmpeg/ffmpeg_g -i sp_24bit_q50_fuzz.avi -f null -
==2894== Memcheck, a memory error detector
==2894== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==2894== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==2894== Command: ffmpeg/ffmpeg_g -i sp_24bit_q50_fuzz.avi -f null -
==2894== 
ffmpeg version 3.2.git Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.3.0 (Ubuntu 5.3.0-3ubuntu1~14.04) 20151204
  configuration: --disable-ffprobe --disable-ffserver --disable-ffplay --enable-gpl
  libavutil      55. 47.100 / 55. 47.100
  libavcodec     57. 81.100 / 57. 81.100
  libavformat    57. 66.102 / 57. 66.102
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 73.100 /  6. 73.100
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
Input #0, avi, from 'sp_24bit_q50_fuzz.avi':
  Metadata:
    encoder         : Lavf57.36.100
  Duration: 00:00:04.44, start: 0.000000, bitrate: 392 kb/s
    Stream #0:0: Video: scpr (SCPR / 0x52504353), bgr0, 320x200, 25 fps, 25 tbr, 25 tbn, 25 tbc
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf57.66.102
    Stream #0:0: Video: wrapped_avframe, bgr0, 320x200, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.81.100 wrapped_avframe
Stream mapping:
  Stream #0:0 -> #0:0 (scpr (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
==2894== Invalid write of size 4
==2894==    at 0x86ADC82: decompress_i (scpr.c:398)
==2894==    by 0x86ADC82: decode_frame (scpr.c:686)
==2894==    by 0x8729A58: avcodec_decode_video2 (utils.c:2263)
==2894==    by 0x872A9DC: do_decode (utils.c:2796)
==2894==    by 0x872B7AF: avcodec_send_packet (utils.c:2885)
==2894==    by 0x80E8446: decode (ffmpeg.c:2052)
==2894==    by 0x80E8446: decode_video (ffmpeg.c:2248)
==2894==    by 0x80E9805: process_input_packet (ffmpeg.c:2491)
==2894==    by 0x80C78D5: process_input (ffmpeg.c:4251)
==2894==    by 0x80C78D5: transcode_step (ffmpeg.c:4339)
==2894==    by 0x80C78D5: transcode (ffmpeg.c:4393)
==2894==    by 0x80C78D5: main (ffmpeg.c:4598)
==2894==  Address 0x4b2c68c is 256,044 bytes inside a block of size 256,047 alloc'd
==2894==    at 0x402C580: memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2894==    by 0x402C6AE: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2894==    by 0x8C3600F: av_malloc (mem.c:97)
==2894==    by 0x8C190D7: av_buffer_alloc (buffer.c:71)
==2894==    by 0x8C190D7: av_buffer_allocz (buffer.c:84)
==2894==    by 0x8C19928: pool_alloc_buffer (buffer.c:353)
==2894==    by 0x8C19928: av_buffer_pool_get (buffer.c:418)
==2894==    by 0x87279D6: video_get_buffer (utils.c:682)
==2894==    by 0x87279D6: avcodec_default_get_buffer2 (utils.c:740)
==2894==    by 0x87282C2: get_buffer_internal (utils.c:940)
==2894==    by 0x87282C2: ff_get_buffer (utils.c:955)
==2894==    by 0x872863B: reget_buffer_internal (utils.c:979)
==2894==    by 0x872863B: ff_reget_buffer (utils.c:1004)
==2894==    by 0x86ACA41: decode_frame (scpr.c:677)
==2894==    by 0x8729A58: avcodec_decode_video2 (utils.c:2263)
==2894==    by 0x872A9DC: do_decode (utils.c:2796)
==2894==    by 0x872B7AF: avcodec_send_packet (utils.c:2885)
==2894== 

valgrind: m_mallocfree.c:304 (get_bszB_as_is): Assertion 'bszB_lo == bszB_hi' failed.
valgrind: Heap block lo/hi size mismatch: lo = 10283824, hi = 0.
This is probably caused by your program erroneously writing past the
end of a heap block and corrupting heap metadata.  If you fix any
invalid writes reported by Memcheck, this assertion failure will
probably go away.  Please try that before reporting this as a bug.


host stacktrace:
==2894==    at 0x3805A504: ??? (in /usr/lib/valgrind/memcheck-x86-linux)
==2894==    by 0x3805A656: ??? (in /usr/lib/valgrind/memcheck-x86-linux)
==2894==    by 0x3805A7B9: ??? (in /usr/lib/valgrind/memcheck-x86-linux)
==2894==    by 0x3806939D: ??? (in /usr/lib/valgrind/memcheck-x86-linux)
==2894==    by 0x380699B5: ??? (in /usr/lib/valgrind/memcheck-x86-linux)
==2894==    by 0x380B21FB: ??? (in /usr/lib/valgrind/memcheck-x86-linux)
==2894==    by 0x3802C888: ??? (in /usr/lib/valgrind/memcheck-x86-linux)
==2894==    by 0x3802CC15: ??? (in /usr/lib/valgrind/memcheck-x86-linux)
==2894==    by 0x380B5293: ??? (in /usr/lib/valgrind/memcheck-x86-linux)
==2894==    by 0x380C70E7: ??? (in /usr/lib/valgrind/memcheck-x86-linux)

sched status:
  running_tid=1

Thread 1: status = VgTs_Runnable
==2894==    at 0x402C580: memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2894==    by 0x402C6AE: posix_memalign (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2894==    by 0x8C362EF: av_malloc (mem.c:97)
==2894==    by 0x8C362EF: av_mallocz (mem.c:254)
==2894==    by 0x8C1918E: av_buffer_ref (buffer.c:94)
==2894==    by 0x8C2E383: av_frame_ref (frame.c:427)
==2894==    by 0x86ACB4F: decode_frame (scpr.c:730)
==2894==    by 0x8729A58: avcodec_decode_video2 (utils.c:2263)
==2894==    by 0x872A9DC: do_decode (utils.c:2796)
==2894==    by 0x872B7AF: avcodec_send_packet (utils.c:2885)
==2894==    by 0x80E8446: decode (ffmpeg.c:2052)
==2894==    by 0x80E8446: decode_video (ffmpeg.c:2248)
==2894==    by 0x80E9805: process_input_packet (ffmpeg.c:2491)
==2894==    by 0x80C78D5: process_input (ffmpeg.c:4251)
==2894==    by 0x80C78D5: transcode_step (ffmpeg.c:4339)
==2894==    by 0x80C78D5: transcode (ffmpeg.c:4393)
==2894==    by 0x80C78D5: main (ffmpeg.c:4598)

Thread 2: status = VgTs_WaitSys
==2894==    at 0x444DD4B: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.S:188)
==2894==    by 0x811A3E1: worker (pthread.c:73)
==2894==    by 0x4449F6F: start_thread (pthread_create.c:312)
==2894==    by 0x454ABED: clone (clone.S:129)

Thread 3: status = VgTs_WaitSys
==2894==    at 0x444DD4B: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.S:188)
==2894==    by 0x811A3E1: worker (pthread.c:73)
==2894==    by 0x4449F6F: start_thread (pthread_create.c:312)
==2894==    by 0x454ABED: clone (clone.S:129)

Thread 4: status = VgTs_WaitSys
==2894==    at 0x444DD4B: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.S:188)
==2894==    by 0x811A3E1: worker (pthread.c:73)
==2894==    by 0x4449F6F: start_thread (pthread_create.c:312)
==2894==    by 0x454ABED: clone (clone.S:129)

Thread 5: status = VgTs_WaitSys
==2894==    at 0x444DD4B: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.S:188)
==2894==    by 0x811A3E1: worker (pthread.c:73)
==2894==    by 0x4449F6F: start_thread (pthread_create.c:312)
==2894==    by 0x454ABED: clone (clone.S:129)

Thread 6: status = VgTs_WaitSys
==2894==    at 0x444DD4B: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.S:188)
==2894==    by 0x811A3E1: worker (pthread.c:73)
==2894==    by 0x4449F6F: start_thread (pthread_create.c:312)
==2894==    by 0x454ABED: clone (clone.S:129)

Thread 7: status = VgTs_WaitSys
==2894==    at 0x444DD4B: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.S:188)
==2894==    by 0x811A3E1: worker (pthread.c:73)
==2894==    by 0x4449F6F: start_thread (pthread_create.c:312)
==2894==    by 0x454ABED: clone (clone.S:129)

Thread 8: status = VgTs_WaitSys
==2894==    at 0x444DD4B: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.S:188)
==2894==    by 0x811A3E1: worker (pthread.c:73)
==2894==    by 0x4449F6F: start_thread (pthread_create.c:312)
==2894==    by 0x454ABED: clone (clone.S:129)

Thread 9: status = VgTs_WaitSys
==2894==    at 0x444DD4B: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.S:188)
==2894==    by 0x811A3E1: worker (pthread.c:73)
==2894==    by 0x4449F6F: start_thread (pthread_create.c:312)
==2894==    by 0x454ABED: clone (clone.S:129)

Thread 10: status = VgTs_WaitSys
==2894==    at 0x444DD4B: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.S:188)
==2894==    by 0x811A3E1: worker (pthread.c:73)
==2894==    by 0x4449F6F: start_thread (pthread_create.c:312)
==2894==    by 0x454ABED: clone (clone.S:129)


Note: see also the FAQ in the source distribution.
It contains workarounds to several common problems.
In particular, if Valgrind aborted or crashed after
identifying problems in your program, there's a good chance
that fixing those problems will prevent Valgrind aborting or
crashing, especially if it happened in m_mallocfree.c.

If that doesn't help, please report this bug to: www.valgrind.org

In the bug report, send all the above text, the valgrind
version, and what OS and version you are using.  Thanks.
(gdb) r -i sp_24bit_q50_fuzz.avi -f null -
Starting program: /media/sdb1/ffmpeg/ffmpeg_g -i sp_24bit_q50_fuzz.avi -f null -
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
ffmpeg version 3.2.git Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.3.0 (Ubuntu 5.3.0-3ubuntu1~14.04) 20151204
  configuration: --disable-ffprobe --disable-ffserver --disable-ffplay --enable-gpl
  libavutil      55. 47.100 / 55. 47.100
  libavcodec     57. 81.100 / 57. 81.100
  libavformat    57. 66.102 / 57. 66.102
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 73.100 /  6. 73.100
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
Input #0, avi, from 'sp_24bit_q50_fuzz.avi':
  Metadata:
    encoder         : Lavf57.36.100
  Duration: 00:00:04.44, start: 0.000000, bitrate: 392 kb/s
    Stream #0:0: Video: scpr (SCPR / 0x52504353), bgr0, 320x200, 25 fps, 25 tbr, 25 tbn, 25 tbc
[New Thread 0xb68c6b40 (LWP 2995)]
[New Thread 0xb60c5b40 (LWP 2996)]
[New Thread 0xb58c4b40 (LWP 2997)]
[New Thread 0xb50c3b40 (LWP 2998)]
[New Thread 0xb48c2b40 (LWP 2999)]
[New Thread 0xb40c1b40 (LWP 3000)]
[New Thread 0xb38c0b40 (LWP 3001)]
[New Thread 0xb30bfb40 (LWP 3002)]
[New Thread 0xb28beb40 (LWP 3003)]
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf57.66.102
    Stream #0:0: Video: wrapped_avframe, bgr0, 320x200, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.81.100 wrapped_avframe
Stream mapping:
  Stream #0:0 -> #0:0 (scpr (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
Error while decoding stream #0:0: Invalid data found when processing input
    Last message repeated 6 times
Error while decoding stream #0:0: Not yet implemented in FFmpeg, patches welcome
Error while decoding stream #0:0: Invalid data found when processing input
    Last message repeated 52 times
Program received signal SIGSEGV, Segmentation fault.
decompress_p (plinesize=<optimized out>, prev=0xb207f020, 
    linesize=<optimized out>, dst=0xb2040020, avctx=0x9a29940)
    at libavcodec/scpr.c:496
496	                        dst[(by + i + sy1) * linesize + bx + sx1 + j] = prev[(by + mvy + sy1 + i) * plinesize + bx + sx1 + mvx + j];
(gdb) bt
#0  decompress_p (plinesize=<optimized out>, prev=0xb207f020, 
    linesize=<optimized out>, dst=0xb2040020, avctx=0x9a29940)
    at libavcodec/scpr.c:496
#1  decode_frame (avctx=0x9a29940, data=0x9a2bee0, got_frame=0xbfffe83c, 
    avpkt=0xbfffe7ac) at libavcodec/scpr.c:718
#2  0x08729a59 in avcodec_decode_video2 (avctx=0x9a29940, picture=0x9a2bee0, 
    got_picture_ptr=0xbfffe83c, avpkt=0xbfffe938) at libavcodec/utils.c:2263
#3  0x0872a9dd in do_decode (avctx=avctx@entry=0x9a29940, 
    pkt=pkt@entry=0xbfffe938) at libavcodec/utils.c:2796
#4  0x0872b7b0 in avcodec_send_packet (avctx=0x9a29940, avpkt=<optimized out>)
    at libavcodec/utils.c:2885
#5  0x080e8447 in decode (pkt=0xbfffe938, got_frame=0xbfffead4, 
    frame=<optimized out>, avctx=0x9a29940) at ffmpeg.c:2052
#6  decode_video (ist=ist@entry=0x9a29780, pkt=pkt@entry=0xbfffeb14, 
    got_output=got_output@entry=0xbfffead4, eof=0) at ffmpeg.c:2248
#7  0x080e9806 in process_input_packet (ist=0x9a29780, pkt=0xbfffed44, 
    no_eof=0) at ffmpeg.c:2491
#8  0x080c78d6 in process_input (file_index=<optimized out>) at ffmpeg.c:4251
#9  transcode_step () at ffmpeg.c:4339
#10 transcode () at ffmpeg.c:4393
#11 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:4598
(gdb) 
#6183 fixed scpr: crash with fuzzed file ami_stuff
Description
(gdb) r -i sp_16bit_q50_fuzz.avi -f null -
Starting program: /media/sdb1/ffmpeg/ffmpeg_g -i sp_16bit_q50_fuzz.avi -f null -
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
ffmpeg version 3.2.git Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.3.0 (Ubuntu 5.3.0-3ubuntu1~14.04) 20151204
  configuration: --disable-ffprobe --disable-ffserver --disable-ffplay --enable-gpl
  libavutil      55. 47.100 / 55. 47.100
  libavcodec     57. 81.100 / 57. 81.100
  libavformat    57. 66.102 / 57. 66.102
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 73.100 /  6. 73.100
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
Input #0, avi, from 'sp_16bit_q50_fuzz.avi':
  Metadata:
    encoder         : Lavf57.36.10 
  Duration: 00:00:04.44, start: 0.000000, bitrate: 79 kb/s
    Stream #0:0: Video: scpr (SCPR / 0x52504353), rgb0, 320x200, 25 fps, 25 tbr, 25 tbn, 25 tbc
[New Thread 0xb68c6b40 (LWP 3041)]
[New Thread 0xb60c5b40 (LWP 3042)]
[New Thread 0xb58c4b40 (LWP 3043)]
[New Thread 0xb50c3b40 (LWP 3044)]
[New Thread 0xb48c2b40 (LWP 3045)]
[New Thread 0xb40c1b40 (LWP 3046)]
[New Thread 0xb38c0b40 (LWP 3047)]
[New Thread 0xb30bfb40 (LWP 3048)]
[New Thread 0xb28beb40 (LWP 3049)]
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf57.66.102
    Stream #0:0: Video: wrapped_avframe, rgb0, 320x200, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.81.100 wrapped_avframe
Stream mapping:
  Stream #0:0 -> #0:0 (scpr (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help

Program received signal SIGSEGV, Segmentation fault.
decode_unit (s=s@entry=0xb68c7020, pixel=0xb759a368, 
    rval=rval@entry=0xbfffe738, step=400) at libavcodec/scpr.c:224
224	    pixel->freq[c] = cnt_c + step;
(gdb) bt
#0  decode_unit (s=s@entry=0xb68c7020, pixel=0xb759a368, 
    rval=rval@entry=0xbfffe738, step=400) at libavcodec/scpr.c:224
#1  0x086ade03 in decompress_i (linesize=320, dst=0xb2040020, avctx=0x9a29cc0)
    at libavcodec/scpr.c:319
#2  decode_frame (avctx=0x9a29cc0, data=0x9a2d1c0, got_frame=0xbfffe83c, 
    avpkt=0xbfffe7ac) at libavcodec/scpr.c:686
#3  0x08729a59 in avcodec_decode_video2 (avctx=0x9a29cc0, picture=0x9a2d1c0, 
    got_picture_ptr=0xbfffe83c, avpkt=0xbfffe938) at libavcodec/utils.c:2263
#4  0x0872a9dd in do_decode (avctx=avctx@entry=0x9a29cc0, 
    pkt=pkt@entry=0xbfffe938) at libavcodec/utils.c:2796
#5  0x0872b7b0 in avcodec_send_packet (avctx=0x9a29cc0, avpkt=<optimized out>)
    at libavcodec/utils.c:2885
#6  0x080e8447 in decode (pkt=0xbfffe938, got_frame=0xbfffead4, 
    frame=<optimized out>, avctx=0x9a29cc0) at ffmpeg.c:2052
#7  decode_video (ist=ist@entry=0x9a29960, pkt=pkt@entry=0xbfffeb14, 
    got_output=got_output@entry=0xbfffead4, eof=0) at ffmpeg.c:2248
#8  0x080e9806 in process_input_packet (ist=0x9a29960, pkt=0xbfffed44, 
    no_eof=0) at ffmpeg.c:2491
#9  0x080c78d6 in process_input (file_index=<optimized out>) at ffmpeg.c:4251
#10 transcode_step () at ffmpeg.c:4339
#11 transcode () at ffmpeg.c:4393
#12 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:4598
(gdb) 
1 2 3 4 5 6 7 8 9 10 11

Query Language

query: TracLinks and the [[TicketQuery]] macro both use a mini “query language” for specifying query filters. Basically, the filters are separated by ampersands (&). Each filter then consists of the ticket field name, an operator, and one or more values. More than one value are separated by a pipe (|), meaning that the filter matches any of the values. To include a literal & or | in a value, escape the character with a backslash (\).

The available operators are:

= the field content exactly matches one of the values
~= the field content contains one or more of the values
^= the field content starts with one of the values
$= the field content ends with one of the values

All of these operators can also be negated:

!= the field content matches none of the values
!~= the field content does not contain any of the values
!^= the field content does not start with any of the values
!$= the field content does not end with any of the values

The date fields created and modified can be constrained by using the = operator and specifying a value containing two dates separated by two dots (..). Either end of the date range can be left empty, meaning that the corresponding end of the range is open. The date parser understands a few natural date specifications like "3 weeks ago", "last month" and "now", as well as Bugzilla-style date specifications like "1d", "2w", "3m" or "4y" for 1 day, 2 weeks, 3 months and 4 years, respectively. Spaces in date specifications can be left out to avoid having to quote the query string.

created=2007-01-01..2008-01-01 query tickets created in 2007
created=lastmonth..thismonth query tickets created during the previous month
modified=1weekago.. query tickets that have been modified in the last week
modified=..30daysago query tickets that have been inactive for the last 30 days

See also: TracTickets, TracReports, TracGuide