After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 747861 - tracker-extract crashes with gstreamer
tracker-extract crashes with gstreamer
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer-vaapi
unspecified
Other Linux
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-04-14 15:26 UTC by openoliv
Modified: 2016-10-31 14:22 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description openoliv 2015-04-14 15:26:12 UTC
Hi,

tracker-extract is crashing when parsing a video.
Here are some information and traces (unfortunately I was unable to recompile glibc with the debug symbol included).


## Output of  /usr/lib/tracker/tracker-extract -v -3 

Tracker-Message: Starting tracker-extract 1.4.0
Tracker-Message: Using log file:'/home/olivarch/.local/share/tracker/tracker-extract.log'
Tracker-Message: General options:
Tracker-Message:   Verbosity  ............................  3
Tracker-Message:   Sched Idle  ...........................  1
Tracker-Message:   Max bytes (per file)  .................  1048576
Tracker-Message: Setting priority nice level to 19
Tracker-Message: Loading extractor rules... (/usr/share/tracker/extract-rules)
Tracker-Message: Extractor rules loaded
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-abw.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-bmp.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-comics.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-dvi.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-ebooks.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-epub.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-flac.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-gif.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-html.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-ico.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-jpeg.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-mp3.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-msoffice.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-oasis.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-pdf.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-png.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-ps.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-svg.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-tiff.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-vorbis.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-xmp.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '10-xps.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '11-iso.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '11-msoffice-xml.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '15-gstreamer-guess.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '15-playlist.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '15-source-code.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '90-gstreamer-audio-generic.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '90-gstreamer-image-generic.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '90-gstreamer-video-generic.rule'
(tracker-extract:31484): Tracker-DEBUG:   Loaded rule '90-text-generic.rule'
(tracker-extract:31484): libmediaart-DEBUG: Initializing media art processing requirements...
(tracker-extract:31484): libmediaart-DEBUG: No mounts found to iterate
(tracker-extract:31484): Tracker-DEBUG: tracker-backend.vala:37: Waiting for service to become available
...
(tracker-extract:31484): Tracker-DEBUG: tracker-backend.vala:45: Service is ready
(tracker-extract:31484): Tracker-DEBUG: tracker-backend.vala:47: Constructing connection
(tracker-extract:31484): Tracker-DEBUG: tracker-backend.vala:203: Using backend = 'AUTO'
(tracker-extract:31484): Tracker-DEBUG: Locale 'TRACKER_LOCALE_LANGUAGE' was set to 'en_US.utf8'
(tracker-extract:31484): Tracker-DEBUG: Locale 'TRACKER_LOCALE_TIME' was set to 'fr_FR.utf8'
(tracker-extract:31484): Tracker-DEBUG: Locale 'TRACKER_LOCALE_COLLATE' was set to 'en_US.utf8'
(tracker-extract:31484): Tracker-DEBUG: Locale 'TRACKER_LOCALE_NUMERIC' was set to 'fr_FR.utf8'
(tracker-extract:31484): Tracker-DEBUG: Locale 'TRACKER_LOCALE_MONETARY' was set to 'fr_FR.utf8'
Tracker-Message: Current and DB locales match: 'en_US.utf8'
Tracker-Message: Setting database locations
Tracker-Message: Checking database files exist
Tracker-Message: Opened sqlite3 database:'/home/olivarch/.cache/tracker/meta.db'
(tracker-extract:31484): Tracker-DEBUG: Resetting collator in db interface 0x173f420
(tracker-extract:31484): Tracker-DEBUG: [ICU collation] Initializing collator for locale 'en_US.utf8'
(tracker-extract:31484): Tracker-DEBUG: Preparing query: 'PRAGMA journal_mode = WAL;'
Tracker-Message:   Setting page size to 8192
Tracker-Message:   Setting cache size to 250
(tracker-extract:31484): Tracker-DEBUG: tracker-backend.vala:49: Backend is ready
Tracker-Message: Trying to use introspection XML:
<node>  <interface name='org.freedesktop.Tracker1.Miner'>    <method name='Start'>    </method>    <method name='GetStatus'>      <arg type='s' name='status' direction='out' />    </method>    <method name='GetProgress'>      <arg type='d' name='progress' direction='out' />    </method>    <method name='GetRemainingTime'>      <arg type='i' name='remaining_time' direction='out' />    </method>    <method name='GetPauseDetails'>      <arg type='as' name='pause_applications' direction='out' />      <arg type='as' name='pause_reasons' direction='out' />    </method>    <method name='Pause'>      <arg type='s' name='application' direction='in' />      <arg type='s' name='reason' direction='in' />      <arg type='i' name='cookie' direction='out' />    </method>    <method name='PauseForProcess'>      <arg type='s' name='application' direction='in' />      <arg type='s' name='reason' direction='in' />      <arg type='i' name='cookie' direction='out' />    </method>    <method name='Resume'>      <arg type='i' name='cookie' direction='in' />    </method>    <method name='IgnoreNextUpdate'>      <arg type='as' name='urls' direction='in' />    </method>    <signal name='Started' />    <signal name='Stopped' />    <signal name='Paused' />    <signal name='Resumed' />    <signal name='Progress'>      <arg type='s' name='status' />      <arg type='d' name='progress' />      <arg type='i' name='remaining_time' />    </signal>    <!-- Additional introspection data given by other miners -->      </interface></node>

Tracker-Message: Registering D-Bus object...
Tracker-Message:   Path:'/org/freedesktop/Tracker1/Miner/Extract'
Tracker-Message:   Object Type:'TrackerExtractDecorator'
(tracker-extract:31484): Tracker-DEBUG: tracker-backend.vala:95: Tracker.Sparql.Backend.query(): 'select
 tracker:id (rdf:type) { }'
(tracker-extract:31484): Tracker-DEBUG: Preparing query: 'SELECT COALESCE((SELECT ID FROM Resource WHERE
 Uri = ?), 0) FROM (SELECT 1)'
(tracker-extract:31484): Tracker-DEBUG: tracker-backend.vala:95: Tracker.Sparql.Backend.query(): 'select
 tracker:id (nie:dataSource) { }'
Tracker-Message: Starting to process 1 items

# [...] Some Parsing

(tracker-extract:31400): Tracker-DEBUG: Done (18 objects added)

Tracker-Message: Extracting metadata for 'file:///home/olivarch/Documents/Divers/Backup%20po/prague%20matt/100_0772.jpg'
Tracker-Message: MIME type passed to us as 'image/jpeg'
(tracker-extract:31400): Tracker-DEBUG: Using /usr/lib/tracker-1.0/extract-modules/libextract-jpeg.so...
Tracker-Message: EXIF GPS coordinate information is partial, got EXIF tag 'InteroperabilityVersion' with value '0100', expected with degrees, minutes and seconds
Tracker-Message: EXIF GPS coordinate information could not be extracted with tag 'InteroperabilityVersion'
(tracker-extract:31400): Tracker-DEBUG: Done (18 objects added)

Tracker-Message: Extracting metadata for 'file:///home/olivarch/Documents/Divers/Backup%20po/prague%20matt/100_0771.MOV'
Tracker-Message: MIME type passed to us as 'video/quicktime'
(tracker-extract:31400): Tracker-DEBUG: Using /usr/lib/tracker-1.0/extract-modules/libextract-gstreamer.so...
(tracker-extract:31400): Tracker-DEBUG: GStreamer backend in use:
(tracker-extract:31400): Tracker-DEBUG:   Discoverer/GUPnP-DLNA
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_37
libva info: va_openDriver() returns 0
tracker-extract: gen7_mfd.c:2095: gen7_mfd_jpeg_bsd_object: Assertion `0' failed.
Aborted (core dumped)


## (gdb) thread apply all bt 


Thread 18 (Thread 0x7fffeda62700 (LWP 31274))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait
    at gthread-posix.c line 1395
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 419
  • #3 g_async_queue_pop_unlocked
    at gasyncqueue.c line 475
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 245
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 764
  • #7 start_thread
    from /usr/lib/libpthread.so.0
  • #8 clone
    from /usr/lib/libc.so.6

Thread 17 (Thread 0x7fffed261700 (LWP 31275))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait
    at gthread-posix.c line 1395
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 419
  • #3 g_async_queue_pop_unlocked
    at gasyncqueue.c line 475
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 245
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 764
  • #7 start_thread
    from /usr/lib/libpthread.so.0
  • #8 clone
    from /usr/lib/libc.so.6

Thread 16 (Thread 0x7fffeca60700 (LWP 31276))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait
    at gthread-posix.c line 1395
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 419
  • #3 g_async_queue_pop_unlocked
    at gasyncqueue.c line 475
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 245
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 764
  • #7 start_thread
    from /usr/lib/libpthread.so.0
  • #8 clone
    from /usr/lib/libc.so.6

Thread 15 (Thread 0x7fffe7fff700 (LWP 31277))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait
    at gthread-posix.c line 1395
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 419
  • #3 g_async_queue_pop_unlocked
    at gasyncqueue.c line 475
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 245
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 764
  • #7 start_thread
    from /usr/lib/libpthread.so.0
  • #8 clone
    from /usr/lib/libc.so.6

Thread 14 (Thread 0x7fffe77fe700 (LWP 31278))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait
    at gthread-posix.c line 1395
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 419
  • #3 g_async_queue_pop_unlocked
    at gasyncqueue.c line 475
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 245
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 764
  • #7 start_thread
    from /usr/lib/libpthread.so.0
  • #8 clone
    from /usr/lib/libc.so.6

Thread 13 (Thread 0x7fffe6ffd700 (LWP 31279))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait
    at gthread-posix.c line 1395
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 419
  • #3 g_async_queue_pop_unlocked
    at gasyncqueue.c line 475
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 245
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 764
  • #7 start_thread
    from /usr/lib/libpthread.so.0
  • #8 clone
    from /usr/lib/libc.so.6

Thread 12 (Thread 0x7fffe67fc700 (LWP 31280))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait
    at gthread-posix.c line 1395
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 419
  • #3 g_async_queue_pop_unlocked
    at gasyncqueue.c line 475
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 245
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 764
  • #7 start_thread
    from /usr/lib/libpthread.so.0
  • #8 clone
    from /usr/lib/libc.so.6

Thread 11 (Thread 0x7fffe5ffb700 (LWP 31281))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait
    at gthread-posix.c line 1395
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 419
  • #3 g_async_queue_pop_unlocked
    at gasyncqueue.c line 475
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 245
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 764
  • #7 start_thread
    from /usr/lib/libpthread.so.0
  • #8 clone
    from /usr/lib/libc.so.6

Thread 10 (Thread 0x7fffe57fa700 (LWP 31282))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait
    at gthread-posix.c line 1395
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 419
  • #3 g_async_queue_pop_unlocked
    at gasyncqueue.c line 475
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 245
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 764
  • #7 start_thread
    from /usr/lib/libpthread.so.0
  • #8 clone
    from /usr/lib/libc.so.6

Thread 9 (Thread 0x7fffe4ff9700 (LWP 31283))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait
    at gthread-posix.c line 1395
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 419
  • #3 g_async_queue_pop_unlocked
    at gasyncqueue.c line 475
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 245
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 764
  • #7 start_thread
    from /usr/lib/libpthread.so.0
  • #8 clone
    from /usr/lib/libc.so.6

Thread 8 (Thread 0x7fffdf457700 (LWP 31284))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait_until
    at gthread-posix.c line 1442
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 422
  • #3 g_async_queue_timeout_pop_unlocked
    at gasyncqueue.c line 570
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 262
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 764
  • #7 start_thread
    from /usr/lib/libpthread.so.0
  • #8 clone
    from /usr/lib/libc.so.6

Thread 6 (Thread 0x7fffc26e8700 (LWP 31303))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait_until
    at gthread-posix.c line 1442
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 422
  • #3 g_async_queue_timeout_pop
    at gasyncqueue.c line 543
  • #4 pop_frame
    at gstvaapidecoder.c line 390
  • #5 gst_vaapi_decoder_get_frame_with_timeout
    at gstvaapidecoder.c line 815
  • #6 gst_vaapidecode_decode_loop
    at gstvaapidecode.c line 411
  • #7 gst_task_func
    at gsttask.c line 316
  • #8 g_thread_pool_thread_proxy
    at gthreadpool.c line 307
  • #9 g_thread_proxy
    at gthread.c line 764
  • #10 start_thread
    from /usr/lib/libpthread.so.0
  • #11 clone
    from /usr/lib/libc.so.6

Thread 5 (Thread 0x7fffc1ee7700 (LWP 31304))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait
    at gthread-posix.c line 1395
  • #2 gst_queue_loop
    at gstqueue.c line 1286
  • #3 gst_task_func
    at gsttask.c line 316
  • #4 g_thread_pool_thread_proxy
    at gthreadpool.c line 307
  • #5 g_thread_proxy
    at gthread.c line 764
  • #6 start_thread
    from /usr/lib/libpthread.so.0
  • #7 clone
    from /usr/lib/libc.so.6

Thread 3 (Thread 0x7fffd5954700 (LWP 31301))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait
    at gthread-posix.c line 1395
  • #2 gst_task_func
    at gsttask.c line 301
  • #3 g_thread_pool_thread_proxy
    at gthreadpool.c line 307
  • #4 g_thread_proxy
    at gthread.c line 764
  • #5 start_thread
    from /usr/lib/libpthread.so.0
  • #6 clone
    from /usr/lib/libc.so.6

Thread 2 (Thread 0x7fffd7fff700 (LWP 31300))

  • #0 syscall
    from /usr/lib/libc.so.6
  • #1 g_cond_wait
    at gthread-posix.c line 1395
  • #2 gst_data_queue_push
    at gstdataqueue.c line 519
  • #3 gst_multi_queue_chain
    at gstmultiqueue.c line 1626
  • #4 gst_pad_chain_data_unchecked
    at gstpad.c line 3830
  • #5 gst_pad_push_data
    at gstpad.c line 4063
  • #6 gst_qtdemux_decorate_and_push_buffer
    at qtdemux.c line 4139
  • #7 gst_qtdemux_loop_state_movie
    at qtdemux.c line 4286
  • #8 gst_qtdemux_loop
    at qtdemux.c line 4363
  • #9 gst_task_func
    at gsttask.c line 316
  • #10 g_thread_pool_thread_proxy
    at gthreadpool.c line 307
  • #11 g_thread_proxy
    at gthread.c line 764
  • #12 start_thread
    from /usr/lib/libpthread.so.0
  • #13 clone
    from /usr/lib/libc.so.6


Hope it helps...
Comment 1 Martyn Russell 2015-07-12 18:47:56 UTC
Reassigning to GStreamer
Comment 2 Tim-Philipp Müller 2015-07-12 19:08:37 UTC
crash in gstreamer-vaapi, re-assigning.
Comment 3 Víctor Manuel Jáquez Leal 2015-07-13 14:08:30 UTC
That looks like an assertion in libva-intel-driver.

Can you run gst-discoverer-1.0 over the media that cause the crash? If it does, would be great if you can share it or extract some logs :)
Comment 4 sreerenj 2015-07-14 06:06:26 UTC
I wonder why gst-discoverer is initiating the decoding ! IIUC tracker/gst-discoverer only requires parsing not decoding, please correct me if I am wrong :)

We are preparing the next gstreaemr-vaapi release,, could you please share the media sample???
Comment 5 openoliv 2015-07-15 03:16:40 UTC
Hi,

I'm sorry, I don't have the media on my computer anymore. I have it on a backup, but I won't be able to access it before mid-august...
As soon as I have it I 'll contact you, hopefully it won't be too late.
Comment 6 Gwenole Beauchesne 2015-07-15 10:00:34 UTC
(In reply to Víctor Manuel Jáquez Leal from comment #3)
> That looks like an assertion in libva-intel-driver.
> 
> Can you run gst-discoverer-1.0 over the media that cause the crash? If it
> does, would be great if you can share it or extract some logs :)

Either case, the VA driver shall not crash anyway, but should rather fail gracefully and propagate up to gst-vaapi a meaningful error if possible.

@openoliv:
Please recover the JPEG image. The HW only supports YUV encoded images. It seems your sample requires a fourth component: alpha (unlikely), or RGBA format actually?
Comment 7 Víctor Manuel Jáquez Leal 2015-11-19 17:12:05 UTC
Changing this to NEEDINFO. I hope we can get the image that crashed libva, and I wonder if it is still valid.
Comment 8 sreerenj 2016-03-24 16:55:37 UTC
Moving to Product:GStreamer, Component:gstreamer-vaapi
Comment 9 Tim-Philipp Müller 2016-05-22 16:55:51 UTC
I believe this has been somewhat addressed by splitting out the vaapi jpeg decoder in 1.8 and giving it MARGINAL rank (see bug #734093).
Comment 10 Víctor Manuel Jáquez Leal 2016-05-23 10:57:50 UTC
(In reply to Tim-Philipp Müller from comment #9)
> I believe this has been somewhat addressed by splitting out the vaapi jpeg
> decoder in 1.8 and giving it MARGINAL rank (see bug #734093).

Agree. I'll close this issue is "fixed" with the rank work-around. Also,  this issue is already reported in libva-intel-driver:

https://bugs.freedesktop.org/show_bug.cgi?id=67150

If you think this is not correct, please reopen the bug.