gvfs access inexistent fd0 drive

Bug #384409 reported by nmn
42
This bug affects 7 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
New
Medium
Unassigned

Bug Description

Binary package hint: gvfs

Source Package: gvfs

$ lsb_release -rd
Description: Ubuntu karmic (development branch)
Release: 9.10

$ apt-cache policy gvfs
gvfs:
  Installed: 1.3git20090512-0ubuntu1
  Candidate: 1.3git20090512-0ubuntu2
  Version table:
     1.3git20090512-0ubuntu2 0
        500 http://ch.archive.ubuntu.com karmic/main Packages
 *** 1.3git20090512-0ubuntu1 0
        100 /var/lib/dpkg/status

I am using an IBM Thinkpad T42 laptop without any floppy drive.

After upgrading to latest level as of Sat Jun 6, next reboot time was seriously degraded due to a regular attempt to use the non-existent floppy drive.
After look at /var/log/dpkg.log, trying to downgrade, I finally traced this back to devkit-disks trying to regularly poll the floppy device - while there is no floppy drive.

This was even shown in the /var/log/dmesg and by same messages on the console:
   23.590119] input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio1/serio2/input/input9
[ 30.986245] end_request: I/O error, dev fd0, sector 0
[ 44.050717] end_request: I/O error, dev fd0, sector 0
[ 44.050757] Buffer I/O error on device fd0, logical block 0
[ 57.114103] end_request: I/O error, dev fd0, sector 0
[ 57.114141] Buffer I/O error on device fd0, logical block 0
[ 70.178455] end_request: I/O error, dev fd0, sector 0
[ 70.178492] Buffer I/O error on device fd0, logical block 0
[ 70.670941] lp0: using parport0 (interrupt-driven).

Later on, every 10 to 20 seconds, we have an error in dmesg for I/O error on dev fd0..

While - after downgrade to previous version of gvfs, I now have:
[ 18.806608] lp0: using parport0 (interrupt-driven).
[ 18.927975] EXT3 FS on sda2, internal journal
[ 19.546507] psmouse serio2: ID: 10 00 64
[ 22.896621] IBM TrackPoint firmware: 0x0e, buttons: 3/3
[ 23.113681] input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio1/serio2/input/input9

ps ax was showing a task devkit-disks-addons with fd0 as one of its arguments....

Even if this is a bug for computers without floppy drives, it is anyway a bad idea to try to discover automatically a floppy (for autorun?) - especially as this is a slow device that is today disappearing from recent computers.

Best regards,

Nicolas

ProblemType: Bug
Architecture: i386
Date: Sun Jun 7 02:03:49 2009
DistroRelease: Ubuntu 9.10
Package: gvfs 1.3git20090512-0ubuntu1
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.30-8.9-generic
SourcePackage: gvfs
Uname: Linux 2.6.30-8-generic i686

Revision history for this message
nmn (nicolas-de-metz-noblat) wrote :
Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Could you please post the output of:

devkit-disks --dump
gvfs-mount -l

Thanks

Changed in gvfs (Ubuntu):
importance: Undecided → Low
status: New → Incomplete
Revision history for this message
nmn (nicolas-de-metz-noblat) wrote :

As you may see in dmesg, there is an fd0 controller detected but there is no physical drive.
Following output comes from "modprobe floppy"

[ 2.031611] Floppy drive(s): fd0 is 1.44M
[ 2.047060] FDC 0 is a National Semiconductor PC87306

# ps ax | egrep fd0 | egrep -v egrep
 3772 ? D 0:00 devkit-disks-daemon: polling /dev/sr0 /dev/fd0

There is no output from gvfs-mount -l

Also when using "modprobe floppy floppy=debug" I just have following trace:

[ 2534.816115] floppy0: Setting flag 0x1
[ 2534.816250] Floppy drive(s): fd0 is 1.44M
[ 2534.832040] floppy0: reschedule timeout lock fdc
[ 2534.833468] reset interrupt: dtime=558708
[ 2534.833480] floppy0: reschedule timeout do wakeup
[ 2534.833793] FDC 0 is a National Semiconductor PC87306
[ 2534.833813] floppy0: reschedule timeout lock fdc
[ 2534.834699] reset interrupt: dtime=558708
[ 2534.834711] floppy0: reschedule timeout do wakeup

But afterwards, dmesg is permanently filled in by following output just saturating the ring buffer

[ 2541.096925] floppy0: checking disk change line for drive 0
[ 2541.096933] floppy0: jiffies=560274
[ 2541.096943] floppy0: disk change line=0
[ 2541.096949] floppy0: flags=2
[ 2541.096967] queue fd request dtime=1555
[ 2541.096973] floppy0: reschedule timeout floppy start
[ 2541.096982] floppy0: setting NEWCHANGE in floppy_start
[ 2541.116217] floppy0: calling disk change from floppy_ready
[ 2541.116226] floppy0: checking disk change line for drive 0
[ 2541.116233] floppy0: jiffies=560279
[ 2541.116243] floppy0: disk change line=0
[ 2541.116249] floppy0: flags=6
[ 2541.116293] floppy0: calling disk change from seek
[ 2541.116300] floppy0: checking disk change line for drive 0
[ 2541.116306] floppy0: jiffies=560279
[ 2541.116316] floppy0: disk change line=0
[ 2541.116322] floppy0: flags=2
[ 2541.116332] recalibrate floppy: dtime=1560
[ 2541.465651] recal interrupt: dtime=1647
[ 2541.465659] recal interrupt need 1 recal: dtime=1647
[ 2541.465672] floppy0: reschedule timeout redo fd request

Revision history for this message
Jacob Godserv (fun2program8) wrote :
Download full text (3.7 KiB)

I am also experiencing repeated attempts to access /dev/fd0. Since my floppy drive actually exists, but there is no drive, I am going crazy with its constant clicking. Running 'sudo modprobe -r floppy' gets rid of the clicking, but the drive light stays on, which makes me wonder how clean the unloading of floppy was.

I'm providing the same information as the original reporter for comparison:

$ apt-cache policy gvfs
gvfs:
  Installed: 1.3git20090512-0ubuntu2
  Candidate: 1.3git20090512-0ubuntu2
  Version table:
 *** 1.3git20090512-0ubuntu2 0
        500 http://archive.ubuntu.com karmic/main Packages
        100 /var/lib/dpkg/status
$ dmesg | tail
[ 348.836058] end_request: I/O error, dev fd0, sector 0
[ 350.836031] end_request: I/O error, dev fd0, sector 0
[ 352.836049] end_request: I/O error, dev fd0, sector 0
[ 354.836039] end_request: I/O error, dev fd0, sector 0
[ 356.836081] end_request: I/O error, dev fd0, sector 0
[ 358.836056] end_request: I/O error, dev fd0, sector 0
[ 360.836031] end_request: I/O error, dev fd0, sector 0
[ 362.836031] end_request: I/O error, dev fd0, sector 0
[ 364.836038] end_request: I/O error, dev fd0, sector 0
[ 366.836060] end_request: I/O error, dev fd0, sector 0
$ devkit-disks --dump > devkit-disks # see attached file
$ gvfs-mount -l
Drive(0): (null)
  Type: GProxyDrive (GProxyVolumeMonitorGdu)
Drive(1): TEAC DVD+RW DV-W58E
  Type: GProxyDrive (GProxyVolumeMonitorGdu)
$ sudo modprobe -r floppy
$ sudo modprobe floppy floppy=debug
$ dmesg | tail -n 40 # after waiting a bit
[ 632.836045] floppy0: calling disk change from seek
[ 632.836049] floppy0: checking disk change line for drive 0
[ 632.836052] floppy0: jiffies=83209
[ 632.836063] floppy0: disk change line=80
[ 632.836066] floppy0: flags=2
[ 632.836078] floppy0: reschedule timeout request done 0
[ 632.836086] end_request: I/O error, dev fd0, sector 0
[ 634.817327] floppy0: reschedule timeout lock fdc
[ 634.817388] floppy0: reschedule timeout redo fd request
[ 634.817395] floppy0: checking disk change line for drive 0
[ 634.817399] floppy0: jiffies=83704
[ 634.817430] floppy0: disk change line=80
[ 634.817433] floppy0: flags=2
[ 634.817455] queue fd request dtime=34421
[ 634.817459] floppy0: reschedule timeout floppy start
[ 634.817464] floppy0: setting NEWCHANGE in floppy_start
[ 634.817468] floppy0: calling disk change from floppy_ready
[ 634.817472] floppy0: checking disk change line for drive 0
[ 634.817476] floppy0: jiffies=83704
[ 634.817486] floppy0: disk change line=80
[ 634.817489] floppy0: flags=6
[ 634.817501] floppy0: calling disk change from seek
[ 634.817599] floppy0: checking whether disk is write protected
[ 634.817602] floppy0: wp=40
[ 634.817699] seek command: dtime=34421
[ 634.822409] seek interrupt: dtime=34422
[ 634.822415] floppy0: clearing NEWCHANGE flag because of effective seek
[ 634.822419] floppy0: jiffies=83705
[ 634.840039] floppy0: calling disk change from floppy_ready
[ 634.840048] floppy0: checking disk change line for drive 0
[ 634.840052] floppy0: jiffies=83710
[ 634.840064] floppy0: disk change line=80
[ 634.840068] floppy0: flags=0
[ 634.840081] floppy0: calling disk change from...

Read more...

Revision history for this message
Chris Coulson (chrisccoulson) wrote :

Jacob - your issue is a separate one with devicekit-disks where it polls floppy drives. I'm not sure if a bug report for that exists already, but I mentioned it to davidz a few weeks ago on IRC, and he's already aware of your problem and it's likely to be fixed during this cycle.

nmn - your issue looks more like a kernel bug rather than a userspace bug, as it is enumerating a floppy drive when one doesn't exist.

affects: gvfs (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
status: Incomplete → New
importance: Low → Medium
Revision history for this message
nmn (nicolas-de-metz-noblat) wrote :

I agree.

A work around is to blacklist the non-existent floppy:
add to /etc/modprobe.d/blacklist.conf the lines

 # floppy driver since I don't have one
 blacklist floppy

and then run update-initramfs.

Thanks.

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.