duplicate jobs generated for CD/DVD/BD devices

Bug #1328481 reported by Zygmunt Krynicki
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Checkbox Provider - Base
Fix Released
Medium
Sylvain Pineau

Bug Description

My system has a USB BD recorder. When running checkbox service I see the following warning messages:

WARNING plainbox.ctrl: Local job 2013.com.canonical.certification::optical/read produced job 2013.com.canonical.certification::optical/read_sr0 that collides with an existing job 2013.com.canonical.certification::optical/read_sr0 (from 2013.com.canonical.certification::optical/read:1-15), the new job was discarded
WARNING plainbox.ctrl: Local job 2013.com.canonical.certification::optical/cdrom-write produced job 2013.com.canonical.certification::optical/cdrom-write_sr0 that collides with an existing job 2013.com.canonical.certification::optical/cdrom-write_sr0 (from 2013.com.canonical.certification::optical/cdrom-write:1-18), the new job was discarded
WARNING plainbox.ctrl: Local job 2013.com.canonical.certification::optical/dvd-write produced job 2013.com.canonical.certification::optical/dvd-write_sr0 that collides with an existing job 2013.com.canonical.certification::optical/dvd-write_sr0 (from 2013.com.canonical.certification::optical/dvd-write:1-18), the new job was discarded
WARNING plainbox.ctrl: Local job 2013.com.canonical.certification::optical/bluray-read produced job 2013.com.canonical.certification::optical/bluray-read_sr0 that collides with an existing job 2013.com.canonical.certification::optical/bluray-read_sr0 (from 2013.com.canonical.certification::optical/bluray-read:1-17), the new job was discarded
WARNING plainbox.ctrl: Local job 2013.com.canonical.certification::optical/bluray-write produced job 2013.com.canonical.certification::optical/bluray-write_sr0 that collides with an existing job 2013.com.canonical.certification::optical/bluray-write_sr0 (from 2013.com.canonical.certification::optical/bluray-write:1-18), the new job was discarded

Related branches

Revision history for this message
Zygmunt Krynicki (zyga) wrote :

Providers:

provider '2013.com.canonical.plainbox:stubbox'
  broken_i18n: False
  name: '2013.com.canonical.plainbox:stubbox'
  namespace: '2013.com.canonical.plainbox'
  version: '1.0'
  description: 'StubBox (dummy data for development)'
  tr_description: 'StubBox (atrapa z danymi do rozwoju oprogramowania)'
  jobs_dir: '/home/zyga/checkbox/plainbox/plainbox/impl/providers/stubbox/jobs'
  whitelists_dir: '/home/zyga/checkbox/plainbox/plainbox/impl/providers/stubbox/whitelists'
  data_dir: None
  locale_dir: '/home/zyga/checkbox/plainbox/plainbox/impl/providers/stubbox/build/mo'
  gettext_domain: 'stubbox'
  base_dir: '/home/zyga/checkbox/plainbox/plainbox/impl/providers/stubbox'
provider '2013.com.canonical.certification:certification-client'
  broken_i18n: True
  name: '2013.com.canonical.certification:certification-client'
  namespace: '2013.com.canonical.certification'
  version: '1.0'
  description: 'Client Certification provider'
  tr_description: 'Client Certification provider'
  jobs_dir: None
  whitelists_dir: '/home/zyga/checkbox/providers/plainbox-provider-certification-client/whitelists'
  data_dir: None
  locale_dir: None
  gettext_domain: '2013_com_canonical_certification_certification-client'
  base_dir: '/home/zyga/checkbox/providers/plainbox-provider-certification-client'
provider '2013.com.canonical.certification:checkbox'
  broken_i18n: True
  name: '2013.com.canonical.certification:checkbox'
  namespace: '2013.com.canonical.certification'
  version: '0.5'
  description: 'Checkbox provider'
  tr_description: 'Checkbox provider'
  jobs_dir: '/home/zyga/checkbox/providers/plainbox-provider-checkbox/jobs'
  whitelists_dir: '/home/zyga/checkbox/providers/plainbox-provider-checkbox/whitelists'
  data_dir: '/home/zyga/checkbox/providers/plainbox-provider-checkbox/data'
  locale_dir: None
  gettext_domain: '2013.com.canonical.certification.checkbox'
  base_dir: '/home/zyga/checkbox/providers/plainbox-provider-checkbox'
provider '2013.com.canonical.certification:plainbox-resources'
  broken_i18n: True
  name: '2013.com.canonical.certification:plainbox-resources'
  namespace: '2013.com.canonical.certification'
  version: '0.4'
  description: 'PlainBox resources provider'
  tr_description: 'PlainBox resources provider'
  jobs_dir: '/home/zyga/checkbox/providers/plainbox-provider-resource-generic/jobs'
  whitelists_dir: None
  data_dir: None
  locale_dir: None
  gettext_domain: '2013.com.canonical.certification.plainbox-resources'
  base_dir: '/home/zyga/checkbox/providers/plainbox-provider-resource-generic'

Revision history for this message
Zygmunt Krynicki (zyga) wrote :

I now suspect this bug is a duplicate of the generic bug that our device interrogation system creates duplicate device entries (the way we enumerate and understand devices)

Revision history for this message
Daniel Manrique (roadmr) wrote :

Hi, can you please run and attach output of this? this is to see which device sections are seen (and then turned into jobs) by the local job in question.

PYTHONPATH=checkbox-support; providers/plainbox-provider-resource-generic/bin/udev_resource | providers/plainbox-provider-checkbox/bin/filter_templates -w "category=CDROM"

I tailored this command to run from the lp:checkbox top-level directory.

Changed in plainbox-provider-checkbox:
status: New → Incomplete
Revision history for this message
Zygmunt Krynicki (zyga) wrote :

Thanks for the script. I've modified it a little as seen below (export PYTHONPATH)

zyga@silverblade:~/checkbox$ ( export PYTHONPATH=checkbox-support; providers/plainbox-provider-resource-generic/bin/udev_resource | providers/plainbox-provider-checkbox/bin/filter_templates -w "category=CDROM" )
Traceback (most recent call last):
  File "providers/plainbox-provider-resource-generic/bin/udev_resource", line 63, in <module>
    main()
  File "providers/plainbox-provider-resource-generic/bin/udev_resource", line 59, in main
    udev.run(result)
  File "/home/zyga/checkbox/checkbox-support/checkbox_support/parsers/udevadm.py", line 732, in run
    elif device.category == 'BLUETOOTH':
  File "/home/zyga/checkbox/checkbox-support/checkbox_support/parsers/udevadm.py", line 156, in category
    self.driver.startswith('rt') and
AttributeError: 'NoneType' object has no attribute 'startswith'

After updating to latest trunk:

bus: scsi
vendor: MediaTek Inc
category: CDROM
product: MT1956
driver: sr
path: /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0/host6/target6:0:0/6:0:0:0

bus: scsi
vendor: TSSTcorp
category: CDROM
product: BDDVDW SE-506BB
driver: sr
path: /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0/host6/target6:0:0/6:0:0:0

So two separate entries, because of two vendor fields (somehow, not sure how this part of checkbox works). The device is exactly the same though. Might this be caused by it being a BD + DVD device?

Changed in plainbox-provider-checkbox:
status: Incomplete → New
Revision history for this message
Zygmunt Krynicki (zyga) wrote :

Note:

udisks sees one device:

/org/freedesktop/UDisks2/drives/TSSTcorp_BDDVDW_SE_506BB_TSSTcorp_BDDVDW_SE_506BB_0_3a0:
  org.freedesktop.UDisks2.Drive:
    CanPowerOff: true
    Configuration: {}
    ConnectionBus: usb
    Ejectable: true
    Id: TSSTcorp-BDDVDW-SE-506BB-TSSTcorp_BDDVDW_SE-506BB-0:0
    Media:
    MediaAvailable: false
    MediaChangeDetected: true
    MediaCompatibility: optical_bd
                                optical_bd_r
                                optical_bd_re
                                optical_cd
                                optical_cd_r
                                optical_cd_rw
                                optical_dvd
                                optical_dvd_plus_r
                                optical_dvd_plus_r_dl
                                optical_dvd_plus_rw
                                optical_dvd_r
                                optical_dvd_ram
                                optical_dvd_rw
                                optical_mrw
                                optical_mrw_w
    MediaRemovable: true
    Model: BDDVDW SE-506BB
    Optical: false
    OpticalBlank: false
    OpticalNumAudioTracks: 0
    OpticalNumDataTracks: 0
    OpticalNumSessions: 0
    OpticalNumTracks: 0
    Removable: true
    Revision: TS00
    RotationRate: -1
    Seat: seat0
    Serial: TSSTcorp_BDDVDW_SE-506BB-0:0
    SiblingId: /sys/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.0
    Size: 0
    SortKey: 01hotplug/1405324599115629
    TimeDetected: 1405324599115629
    TimeMediaDetected: 0
    Vendor: TSSTcorp
    WWN:

Revision history for this message
Daniel Manrique (roadmr) wrote :

Wow, so how can it have two different vendor/product sets if it's the same device? this is so odd!

Could you please attach output of

udevadm info --export-db ?

I'd like to see raw udev information. Interesting that udisks is doing the right thing...

Revision history for this message
Zygmunt Krynicki (zyga) wrote : Re: [Bug 1328481] Re: duplicate jobs generated for CD/DVD/BD devices
Daniel Manrique (roadmr)
Changed in plainbox-provider-checkbox:
status: New → Confirmed
importance: Undecided → High
milestone: none → 0.9
Daniel Manrique (roadmr)
Changed in plainbox-provider-checkbox:
milestone: 0.9 → 0.10
Daniel Manrique (roadmr)
Changed in plainbox-provider-checkbox:
milestone: 0.10 → future
importance: High → Medium
Changed in plainbox-provider-checkbox:
status: Confirmed → In Progress
assignee: nobody → Sylvain Pineau (sylvain-pineau)
milestone: future → 0.26
status: In Progress → Fix Committed
Pierre Equoy (pieq)
Changed in plainbox-provider-checkbox:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.