#32 The oft-reported Error: 0x1FFFFFFF bug

open
5
2004-10-03
2004-10-03
Anonymous
No

Attached is a bunch of information which answers some of
the questions I've seen you ask numerous people who've
reported the "Disk Error Command: Mount Error: 0x1FFFFFFF"
thing in the SF foums for ext2fsx.

The disk is still sitting around in an never-100%-mountable
state, so if there's more data you'd like me to gather
I can do so.

-- Richard Mly@POBox.COM

Discussion

  • Nobody/Anonymous

    Random command and application output

     
  • Brian Bergstrand

    Logged In: YES
    user_id=595265

    Richard thanks for the copious info. this is the kind of thing that helps track down
    problems!

    I read over the info, and the only "interesting" part was:

    $ hdiutil mount /dev/disk1s2
    Initializing...
    Attaching...
    DI_kextDriveGetRequest: failed (0x00000025)
    Finishing...
    hdiutil: mount failed - no mountable file systems
    #### WTF!? Now /archive1/ doesn't mount...

    This looks like a problem with the one of the low level FW drivers in the kernel. The
    kextDriveGetRequest error is of particular note. I've not seen this before, but it is
    not part of the Ext2 driver.

    Can you try a manual mount and see if that works (for both partitions):

    mkdir /Volumes/archive1
    sudo /sbin/mount_ext2 /dev/disk1s2 /Volumes/archive1
    disktool -r

    Report back what happens.

    Thanks.

     
  • Nobody/Anonymous

    Logged In: NO

    No joy. I guess I could compile -g and run under gdb and
    get some sort of backtrace
    from where "Operation canceled" is reported, but much beyond
    that is getting a lot further into grody filesystemland than
    I want to go.

    (If you're really enthusiastic sometime I could try to get
    my machine
    and the attached ext3/ext2/ext2 firewire disk ssh-able to you,
    but that should be a last resort.)

    Send me mail if there are more experiments I can run for you.

    -- Mly@POBox.COM

    > mkdir -p /Volumes/archive1 /Volumes/archive2 /Volumes/archiveX
    # Loses (ext2)
    > sudo /sbin/mount_ext2 /dev/disk1s2 /Volumes/archive1
    mount_ext2: canceled automount on /dev/disk1s2 on
    /Volumes/archive1: Operation canceled
    # Success (ext3)
    > sudo /sbin/mount_ext2 /dev/disk1s1 /Volumes/archiveX
    # Success (ext2, should be almost identical to archive1)
    > sudo /sbin/mount_ext2 /dev/disk1s3 /Volumes/archive2
    # Still fails
    > sudo /sbin/mount_ext2 /dev/disk1s2 /Volumes/archive1
    mount_ext2: canceled automount on /dev/disk1s2 on
    /Volumes/archive1: Operation canceled
    > df
    Filesystem 512-blocks Used Avail
    Capacity Mounted on
    /dev/disk0s5 117199800 113438352 3249448 97%
    /
    devfs 185 185 0 100%
    /dev
    fdesc 2 2 0 100%
    /dev
    <volfs> 1024 1024 0 100%
    /.vol
    automount -nsl [340] 0 0 0 100%
    /Network
    automount -fstab [344] 0 0 0 100%
    /automount/Servers
    automount -static [344] 0 0 0 100%
    /automount/static
    /dev/disk1s1 99486 8260 86090 9%
    /Volumes/archiveX
    /dev/disk1s3 116904808 50006040 60960344 45%
    /Volumes/archive2
    > mount
    /dev/disk0s5 on / (local, journaled)
    devfs on /dev (local)
    fdesc on /dev (union)
    <volfs> on /.vol
    automount -nsl [340] on /Network (automounted)
    automount -fstab [344] on /automount/Servers (automounted)
    automount -static [344] on /automount/static (automounted)
    /dev/disk1s1 on /Volumes/archiveX (local)
    /dev/disk1s3 on /Volumes/archive2 (local)

     
  • Nobody/Anonymous

    Logged In: NO

    No joy. I guess I could compile -g and run under gdb and
    get some sort of backtrace
    from where "Operation canceled" is reported, but much beyond
    that is getting a lot further into grody filesystemland than
    I want to go.

    (If you're really enthusiastic sometime I could try to get
    my machine
    and the attached ext3/ext2/ext2 firewire disk ssh-able to you,
    but that should be a last resort.)

    Send me mail if there are more experiments I can run for you.

    -- Mly@POBox.COM

    > mkdir -p /Volumes/archive1 /Volumes/archive2 /Volumes/archiveX
    # Loses (ext2)
    > sudo /sbin/mount_ext2 /dev/disk1s2 /Volumes/archive1
    mount_ext2: canceled automount on /dev/disk1s2 on
    /Volumes/archive1: Operation canceled
    # Success (ext3)
    > sudo /sbin/mount_ext2 /dev/disk1s1 /Volumes/archiveX
    # Success (ext2, should be almost identical to archive1)
    > sudo /sbin/mount_ext2 /dev/disk1s3 /Volumes/archive2
    # Still fails
    > sudo /sbin/mount_ext2 /dev/disk1s2 /Volumes/archive1
    mount_ext2: canceled automount on /dev/disk1s2 on
    /Volumes/archive1: Operation canceled
    > df
    Filesystem 512-blocks Used Avail
    Capacity Mounted on
    /dev/disk0s5 117199800 113438352 3249448 97%
    /
    devfs 185 185 0 100%
    /dev
    fdesc 2 2 0 100%
    /dev
    <volfs> 1024 1024 0 100%
    /.vol
    automount -nsl [340] 0 0 0 100%
    /Network
    automount -fstab [344] 0 0 0 100%
    /automount/Servers
    automount -static [344] 0 0 0 100%
    /automount/static
    /dev/disk1s1 99486 8260 86090 9%
    /Volumes/archiveX
    /dev/disk1s3 116904808 50006040 60960344 45%
    /Volumes/archive2
    > mount
    /dev/disk0s5 on / (local, journaled)
    devfs on /dev (local)
    fdesc on /dev (union)
    <volfs> on /.vol
    automount -nsl [340] on /Network (automounted)
    automount -fstab [344] on /automount/Servers (automounted)
    automount -static [344] on /automount/static (automounted)
    /dev/disk1s1 on /Volumes/archiveX (local)
    /dev/disk1s3 on /Volumes/archive2 (local)

     
  • Brian Bergstrand

    Logged In: YES
    user_id=595265

    Any chance you have that particular disk set to not automount (via Ext2FS
    Manager). I ask because the "Operation canceled" error is the error that is
    returned if that option is set (and the kernel driver never returns this error). To
    override the EFSM options, pass '-x' to mount:

    sudo /sbin/mount_ext2 -x /dev/disk1s2 /Volumes/archive1

     
  • Richard Mlynarik

    Logged In: YES
    user_id=1132925

    (Do you really want to do this back and forth via this
    crufty web
    interface? Feel free to mail me directly if you'd find that
    less of a pain.)

    ########## Firewire external disk powered off
    > mount
    /dev/disk0s5 on / (local, journaled)
    devfs on /dev (local)
    fdesc on /dev (union)
    <volfs> on /.vol
    automount -nsl [340] on /Network (automounted)
    automount -fstab [344] on /automount/Servers (automounted)
    automount -static [344] on /automount/static (automounted)
    > df
    Filesystem 512-blocks Used Avail
    Capacity Mounted on
    /dev/disk0s5 117199800 113963496 2724304 98% /
    devfs 180 180 0 100%
    /dev
    fdesc 2 2 0 100%
    /dev
    <volfs> 1024 1024 0 100%
    /.vol
    automount -nsl [340] 0 0 0 100%
    /Network
    automount -fstab [344] 0 0 0 100%
    /automount/Servers
    automount -static [344] 0 0 0 100%
    /automount/static
    > ls -la /Volumes/
    total 24
    drwxrwxrwt 7 root admin 238 4 Oct 15:59 .
    drwxrwxr-t 45 root wheel 1530 2 Oct 18:03 ..
    -rwxrwxrwx 1 501 wheel 6148 30 Dec 2003 .DS_Store
    lrwxr-xr-x 1 root admin 1 2 Oct 18:03 Mnemosyne -> /
    drwxr-xr-x 2 mly admin 68 4 Oct 15:51 a0
    drwxr-xr-x 2 mly admin 68 4 Oct 15:51 a1
    drwxr-xr-x 2 mly admin 68 4 Oct 15:51 a2

    ########## Firewire disk powered on.
    ########## archive1 (disk1s2, ext2) mysteriously appears
    ########## automounted and appears to Finder
    ########## No sign of archive2 (disk1s3, ext2) or unnamed
    disk1s1 (ext3)

    > mount
    /dev/disk0s5 on / (local, journaled)
    devfs on /dev (local)
    fdesc on /dev (union)
    <volfs> on /.vol
    automount -nsl [340] on /Network (automounted)
    automount -fstab [344] on /automount/Servers (automounted)
    automount -static [344] on /automount/static (automounted)
    /dev/disk1s2 on /Volumes/archive1 (local, nodev, nosuid)
    > df
    Filesystem 512-blocks Used Avail
    Capacity Mounted on
    /dev/disk0s5 117199800 113963496 2724304 98%
    /
    devfs 185 185 0 100%
    /dev
    fdesc 2 2 0 100%
    /dev
    <volfs> 1024 1024 0 100%
    /.vol
    automount -nsl [340] 0 0 0 100%
    /Network
    automount -fstab [344] 0 0 0 100%
    /automount/Servers
    automount -static [344] 0 0 0 100%
    /automount/static
    /dev/disk1s2 111778352 95564768 10535416 90%
    /Volumes/archive1
    > ls -la /Volumes/
    total 32
    drwxrwxrwt 8 root admin 272 4 Oct 16:00 .
    drwxrwxr-t 45 root wheel 1530 2 Oct 18:03 ..
    -rwxrwxrwx 1 501 wheel 6148 30 Dec 2003 .DS_Store
    lrwxr-xr-x 1 root admin 1 2 Oct 18:03 Mnemosyne -> /
    drwxr-xr-x 2 mly admin 68 4 Oct 15:51 a0
    drwxr-xr-x 2 mly admin 68 4 Oct 15:51 a1
    drwxr-xr-x 2 mly admin 68 4 Oct 15:51 a2
    drwxr-xr-x 5 root wheel 4096 2 Oct 11:21 archive1

    ########## In Disk Utility app, volume1 appears
    ########## disk1s1 and disk1s3 are listed grey-out, unmounted

    ########## In extfs Preferences pane, volume1 appears
    ########## disk1s1 (displayed as Untitled 1) and disk1s3
    (Untitled 3)
    ########## are grey-out, unmounted

    ########## In extfs Preferences pane, selecting Untitled 3
    (aka disk1s3,
    ########## aka archive2) and clicking on the mount button
    results
    ########## in the usual "Disk Error. Command: Mount ...
    Error: 0x1FFFFFFF"
    ########## problem.

    ########## In the Disk Utility app, selecting disk1s3 (aka
    archive2)
    ########## and clicking on the mount buttons results in ...
    nothing.
    ########## No error, no apparent action of any type

    ########## Now try the command-line mount_ext2 for grins
    > mount
    /dev/disk0s5 on / (local, journaled)
    devfs on /dev (local)
    fdesc on /dev (union)
    <volfs> on /.vol
    automount -nsl [340] on /Network (automounted)
    automount -fstab [344] on /automount/Servers (automounted)
    automount -static [344] on /automount/static (automounted)
    /dev/disk1s2 on /Volumes/archive1 (local, nodev, nosuid)
    > sudo /sbin/mount_ext2 -x /dev/disk1s1 /Volumes/a0
    > sudo /sbin/mount_ext2 -x /dev/disk1s3 /Volumes/a2
    > mount
    /dev/disk0s5 on / (local, journaled)
    devfs on /dev (local)
    fdesc on /dev (union)
    <volfs> on /.vol
    automount -nsl [340] on /Network (automounted)
    automount -fstab [344] on /automount/Servers (automounted)
    automount -static [344] on /automount/static (automounted)
    /dev/disk1s2 on /Volumes/archive1 (local, nodev, nosuid)
    /dev/disk1s1 on /Volumes/a0 (local)
    /dev/disk1s3 on /Volumes/a2 (local)

    ########## Well, things seem to "work". Except not in any happy
    ########## MacOS fashion, just in Unix terms.
    ########## The mounted volumes do not show up in finder side
    bars
    ########## The mounted volumes do not show up in Disk Utility
    ########## The mounted volumes do not show up in the extfs
    pref pane

    >
    > sudo /sbin/umount /Volumes/a2
    > sudo /sbin/umount /Volumes/a0

     
  • Brian Bergstrand

    Logged In: YES
    user_id=595265

    Richard,

    When a bug is opened I like having all communication about the bug logged with
    the bug:

    1) It makes the info. easier to reference for me.

    2.) There is a traceable history on what actions were performed to detect/solve
    the problem.

    3.) All information is public, and may help others experiencing the problem.

    So we've determined ext2 mount is working correctly. Pair that with the hdiutil
    error and it looks like a problem with Apple's DiskArbitration. Are you running
    10.3.5? If so, do you remember if the problems started when you upgraded?

    As for getting the volume to show up in the Finder and other GUI apps, you can
    try the following after mounting the drive manually:

    $ disktool -r

    This should force a refresh, but it may not work if DiskArb is having problems
    recognizing the partition (for whatever reason).

    A good experiment may be to re-format these partitions as MS-DOS (don't make
    new partitions -- just format the existing ones) and see if the problems continue. I
    don't know if this is doable for you though.

    Thanks.

     
  • Richard Mlynarik

    Logged In: YES
    user_id=1132925

    A couple points to answer your latest message:

    1. I've not seen the hdiutil mount error
    "DI_kextDriveGetRequest: failed (0x00000025)" for days.
    In fact, I probably didn't see it more than once.
    Today, the situation is perfectly reproducible (shown below)
    and still very non-functional, even without scary driver errors.
    So I'd be tempted to discount that as a problem.

    2. No I am NOT NOT NOT interested in reformatting my disk as
    an MS-DOS
    partition. The partitions are named "archive1" and
    "archive2" (and
    they use what I thought was a fairly lowest common
    denominator ext2
    filesystem) for a very good reason: there's a hundred gig of
    data on
    there I do NOT want to lose, thank you.

    3. I had never used your software until a few days ago, so I
    can't
    recount any experiences with MacOS prior to what I'm running.
    (10.3.5.) I'm not interested in downgrading my OS to help
    debug this,
    sorry.

    4. I'm getting bored with this exercise, I'm afraid. I've
    spend two
    hours rebooting and remounting this morning to provide the
    data below,
    and I think we may be reaching the point of diminishing returns.
    I just wanted this to work, and I know that trying to get
    any bug fix
    out of Apple (or any investigation of a possible bug, which
    you've
    implied but haven't proven in your suggestion that
    DiskArbitration
    might be the culprit) is completely impossible, and I know I
    really
    don't want to put on my hair shirt and actually understand
    this whole
    mess properly myself and actually write any code. That's
    not why I
    bought into the Sinister Cult of Macintosh! I want to be
    dumb and
    ignorant.

    5. I could buy a copy of the same 120gb disk, clone the bits,
    and mail it to you if you'd like to dig further. I don't
    know how
    much further we're going to get in half-duplex debugging
    mode here.

    6. Thanks for your interest, and thanks for making the
    effort to write
    the software. Sorry to be too old and stupid and lazy and
    unmotivated
    to want to help you hack on it for the greater common good.

    -- Richard.

    ######################################################################

    OK. Another experiment.

    Turn on external firewire disk (once again, threee partititions:
    s1 "UNTITLED" ext3, s2 "archive1" ext2, s3 "archive2" ext2) and
    reboot powerbook.

    When the finder comes up, the disk archive1 is mounted as
    /Volumes/archive1 and is qx present in the usual finder places
    (desktop, finder window sidebars.)

    /var/log/system.log includes
    Oct 5 11:33:51 localhost diskarbitrationd[90]: disk1s2
    ext2 1099F69E-8FC5-4E5E-B930-04AEEA35997C archive1
    /Volumes/archive1
    but no mention of the other partitions.

    "disktool -l" reports
    ***Disk Appeared ('disk0',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s2',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s3',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s4',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s5',Mountpoint = '/', fsType =
    'hfs', volName = 'Mnemos\ yne')
    ***Disk Appeared ('disk1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk1s1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk1s2',Mountpoint =
    '/Volumes/archive1', fsType = 'ext2', \ volName = 'archive1')
    ***Disk Appeared ('disk1s3',Mountpoint = '', fsType = '',
    volName = '')

    I start the Disk Utility app.

    The three partitions disk1s1, disk1s2, disk1s3 are shown.
    archive1 (disk1s2) is shown as mounted, with a firewire icon.
    The other two are shown greyed-out, with the firewire icon
    greyed out.

    If I select one of the unmounted partitions and click on the
    "mount"
    button in Disk Utility, nothing happens. No error message
    is printed.
    If I look at the Disk Utility log (command-L) I see messages
    Mount of "disk1s1" succeeded
    Mount of "disk1s3" succeeded
    But no such successful mount has taken place, as evidenced in
    the lack of new information returned by /sbin/mount

    Now if I run the ext2fsmanager preferences pane (BTW it
    seems pretty
    random that this is a "system preference", but then again
    any other
    choice would be pretty awkward anyway) I see archive1 nicely
    listed as
    mounted, while "Untitled 1" and "Untitled 3" are greyed out.

    (Suggestion: These names shown in the pref pane are pretty
    unhelpful.
    Why not use the /dev/ diskXsY name -- at least they mean
    _something_.
    And can't you read the disk label to get a partition name?)

    If I select an unmounted partition ("Untitled3", aka
    disk1s3, aka
    archive2) and click "Mount" in ext2fsmanager, I get the usual.
    "Disk error ... Error: 0x1FFFFFFF".

    NEW INFORMATION NOT REPORTED EARLIER: The console logs
    2004-10-05 11:36:07.335 System Preferences[394] ExtFS:
    DiskArb failure for device 'disk1s3', with type -2147483648
    and status 0x1FFFFFFF

    Those are really suspiciously uninformative looking error
    codes, aren't they?

    Here's some information for your delectation returned by
    hdiutil imageinfo.

    Some of this stuff _looks_ suspicious from a totally naive
    point of
    view, but that may be because I have absolutely no idea what I'm
    talking about. (One of my promises to myself is that I
    wasn't going to
    do any programming on my happy standalone stable bug-free
    GUI Macintosh...
    I WANT to be deskilled, damnit.) For example, why does
    hdiutil imageinfo /dev/rdisk1 say "Partitioned: false" and what
    are "partition-hint: Type 92" and "partition-hint: Type 93"
    all about
    and why don't the e2label disk labels show up as
    "partition-name:"
    and so forth...

    ########## hdiutil output

    > hdiutil imageinfo /dev/rdisk1
    Class Name: CRawDiskImage
    Properties:
    Software License Agreement: false
    Kernel Compatible: false
    Encrypted: false
    Partitioned: false
    Checksummed: false
    Compressed: no
    Format Description: raw read/write
    Backing Store Information:
    URL: file://localhost/dev/rdisk1
    Class Name: CDevBackingStore
    Name: rdisk1
    Checksum Value:
    Format: RAWW
    Segments:
    0: /dev/rdisk1
    Checksum Type: none
    partitions:
    partitions:
    0:
    partition-hint: MBR
    partition-start: 0
    partition-synthesized: true
    partition-length: 1
    partition-name: Master Boot Record
    boot-code: <CFData 0x318f50 [0xa01900e0]>{length = 446,
    capacity = 446, bytes = 0xeb4890108ed0bc00b0b800008ed88ec0
    ... 0000000000000000}
    1:
    partition-hint: Apple_Free
    partition-start: 1
    partition-synthesized: true
    partition-length: 62
    partition-name:
    2:
    partition-length: 2104452
    partition-start: 63
    partition-number: 1
    partition-hint: Type 92
    3:
    partition-length: 113563485
    partition-start: 2104515
    partition-number: 2
    partition-hint: Linux_Ext2FS
    4:
    partition-length: 118768545
    partition-start: 115668000
    partition-number: 3
    partition-hint: Type 93
    5:
    partition-hint: Apple_Free
    partition-start: 234436545
    partition-synthesized: true
    partition-length: 5103
    partition-name:
    partition-scheme: fdisk
    Size Information:
    Compressed Ratio: 1
    Compressed Bytes: 120034123776
    Total Empty Bytes: 0
    Total Non-Empty Bytes: 120034123776
    Sector Count: 234441648
    Total Bytes: 120034123776

    > hdiutil imageinfo /dev/rdisk1s1
    Class Name: CRawDiskImage
    Properties:
    Software License Agreement: false
    Kernel Compatible: false
    Encrypted: false
    Partitioned: false
    Checksummed: false
    Compressed: no
    Format Description: raw read/write
    Backing Store Information:
    URL: file://localhost/dev/rdisk1s1
    Class Name: CDevBackingStore
    Name: rdisk1s1
    Checksum Value:
    Format: RAWW
    Segments:
    0: /dev/rdisk1s1
    Checksum Type: none
    partitions:
    partitions:
    0:
    partition-hint: not partitioned
    partition-start: 0
    partition-synthesized: true
    partition-length: 2104452
    partition-name: whole disk
    partition-scheme: none
    Size Information:
    Compressed Ratio: 1
    Compressed Bytes: 1077479424
    Total Empty Bytes: 0
    Total Non-Empty Bytes: 1077479424
    Sector Count: 2104452
    Total Bytes: 1077479424

    > hdiutil imageinfo /dev/rdisk1s2
    Class Name: CRawDiskImage
    Properties:
    Software License Agreement: false
    Kernel Compatible: false
    Encrypted: false
    Partitioned: false
    Checksummed: false
    Compressed: no
    Format Description: raw read/write
    Backing Store Information:
    URL: file://localhost/dev/rdisk1s2
    Class Name: CDevBackingStore
    Name: rdisk1s2
    Checksum Value:
    Format: RAWW
    Segments:
    0: /dev/rdisk1s2
    Checksum Type: none
    partitions:
    partitions:
    0:
    partition-hint: not partitioned
    partition-start: 0
    partition-synthesized: true
    partition-length: 113563485
    partition-name: whole disk
    partition-scheme: none
    Size Information:
    Compressed Ratio: 1
    Compressed Bytes: 58144504320
    Total Empty Bytes: 0
    Total Non-Empty Bytes: 58144504320
    Sector Count: 113563485
    Total Bytes: 58144504320

    > hdiutil imageinfo /dev/rdisk1s3
    Class Name: CRawDiskImage
    Properties:
    Software License Agreement: false
    Kernel Compatible: false
    Encrypted: false
    Partitioned: false
    Checksummed: false
    Compressed: no
    Format Description: raw read/write
    Backing Store Information:
    URL: file://localhost/dev/rdisk1s3
    Class Name: CDevBackingStore
    Name: rdisk1s3
    Checksum Value:
    Format: RAWW
    Segments:
    0: /dev/rdisk1s3
    Checksum Type: none
    partitions:
    partitions:
    0:
    partition-hint: not partitioned
    partition-start: 0
    partition-synthesized: true
    partition-length: 118768545
    partition-name: whole disk
    partition-scheme: none
    Size Information:
    Compressed Ratio: 1
    Compressed Bytes: 60809495040
    Total Empty Bytes: 0
    Total Non-Empty Bytes: 60809495040
    Sector Count: 118768545
    Total Bytes: 60809495040

    ########## Once again, run hdiutil mount by hand

    > hdiutil mount /dev/rdisk1s3
    Initializing...
    Attaching...
    Finishing...
    Finishing...
    /dev/disk2
    /Volumes/archive2

    ########## It seems to be happy.
    ########## But note that "man hdiutil" cryptically says
    ########## mount/attach can be called
    ########## on a /dev entry, but it will treat the /dev
    entry as a disk
    ########## image to be attached (creating another /dev
    entry). This is
    ########## usually undesirable.
    ########## I'm not sure exactly what they're trying to get
    at here,
    ########## but it soulds like I'm Not Doing The Apple Thing
    here,
    ########## and the fact that the mounted volumes shows up very
    ########## strangely in the GUI (see below) confirms this.

    ########## GUI strangeness: once the above hdiutil mount is
    run, an
    ########## icon for /Volumes/archive2 shows up in the
    finder and also
    ########## shows up in extfsmanager. But it is NOT a
    firewire Icon.
    ########## It is just the "white box" icon which the finder
    uses for
    ########## disk images (.dmg). Something's confused here.
    ########## Moreover, in extfsmanager, I now see a NEW disk
    image (with
    ########## the white box icon) for archive2 appear below
    the listed
    ########## icons for the external and partitioned firewire
    disk.
    ########## The "Untitled 3" icon for the external firewire
    partition
    ########## is still shows greyed out -- evidently
    extfsmanager has NO
    ########## IDEA that the mounted "archive2" and the zombie
    "Untitled 3"
    ########## partition are the same thing.

    ########## NEW BUG FOR YOU!!!

    > hdiutil unmount /Volumes/archive2
    "disk2" unmounted successfully.

    ########## Now in extfsmanager, the former "archive2" icon
    changes to
    ########## be named "Apple read/write". If I select it and
    click on
    ########## "Info" I see:

    IOKit Name: Apple read/write Media
    Device: disk2
    Connection Bus: Disk Image
    Connection Type: Virtual
    Ejectable: Yes
    DVD/CD-ROM: No
    Mount Point: Not Mounted
    Writable: Yes
    Filesystem: Linux Ext2
    Volume UUID: 7D783479-6996-473E-B659-AADE37BC78E8
    Device Size: 56.63 GB (60,809,495,040 bytes)
    Device Block Size: 512 bytes

    ########## Something is really really confused here!!!

    ########## Am I supposed to be using "mountvol" instead of
    hdiutil "mount"?
    ########## It's all very unclear to me. And I don't want
    to know, damnit.
    ########## I've had 20 years of this shit, now I want to be
    plug and play.

    > hdiutil mountvol /dev/rdisk1s3
    hdiutil: mountvol: "/dev//dev/rdisk1s3" not found No such
    file or directory (2).
    hdiutil: mountvol failed - No such file or directory
    > hdiutil mountvol /dev/disk1s3
    hdiutil: mountvol: Timeout for DiskArbitration expired.
    Aborting...

    ########## (Oh well, even if it's the right thing, it
    simply doesn't work...)

    Basically, I don't have the foggiest how mount/hdiutil/disktool/
    DiskArbitration/etc are supposed to interact, and how the
    finder GUI
    works, or any of that. So I'm just typing random commands.
    My understanding of any of this is stone age, dating back to
    manual
    calls to mount of UFS partitions in the bad old days; I
    don't know
    how any of the pieces beyond that are even supposed to fit
    together,
    which makes me a frustratingly incompetent remote debugger,
    sorry.

     
  • Brian Bergstrand

    Logged In: YES
    user_id=595265

    Richard,

    I haven't looked at your new debug info. yet (thanks though), but I wanted to
    respond to your "points":

    1)
    Apple's support for third-party filesystems is non-existent right now. The kernel
    VFS is undocumented, and DiskArbitration (which handles disk management in
    user land) is a private undocumented framework, so any third-party filesystem can
    break at any time if Apple decides to change how things work (this is unlikely in
    the kernel, but could easily happen in DiskArb). When I saw the DiskArb error, and
    subsequently you were able to manually mount the partitions with mount_ext2
    (which doesn't involve DiskArb) it was a logical jump to assume a problem with
    DiskArb itself.

    2)
    The re-format was merely a suggestion, completely up to you. I didn't know what
    kind of data you had on there so I thought I'd put the idea out.

    3)
    No need to downgrade (in fact I never suggested you do so). I was simply trying
    to ascertain if the problem started with an upgrade (where Apple could have
    changed something).

    4)
    I understand your frustration, and I am not asking anyone to "write code" (unless
    they want to!). Having said that, I do ask users to help with problems when I don't
    have the time myself or can't reproduce the problem. In this case it's both.

    Apple can take a long time to fix bugs (especially in undocumented parts of the
    system), but they don't simply ignore problems. They just prioritize things, and if
    the problem is not affecting a great no. of users then it is usually put on the back
    burner.

    There is no need to "understand the whole mess". Again, I'm simply asking for as
    much information as you can/want to give. I am not asking for code. There's no
    need to insult Mac users (who are neither dumb nor ignorant).

    6) Time is valuable, and if you want to help that's great (and I really appreciate all
    the help you have given so far), but if not that's fine too. I don't spend all my time
    on this software so I definitely don't expect users to.

    Finally, making a guess that this is a DiskArb problem, would you be interested in
    testing a new version of Ext FS Manager that bypassed DiskArb to see if that
    provided a work around?

    Thanks again for your help.

     
  • Richard Mlynarik

    Logged In: YES
    user_id=1132925

    > Date: 2004-10-05 13:35
    > Sender: bbergstrand
    >
    > I haven't looked at your new debug info. yet (thanks though),
    > but I wanted to respond to your "points":
    >
    > > 1) Apple's support for third-party filesystems is
    non-existent right
    > now. The kernel VFS is undocumented, and DiskArbitration
    (which
    > handles disk management in user land) is a private
    undocumented
    > framework [...]

    Yeah, I saw a number of frustrated-looking messages via
    http://lists.apple.com/archives/darwin-kernel/2003/Oct/msg00022.html
    etc.

    (BTW if you want to hassle with reporting trivial bugs to
    Apple -- I
    won't -- reading the source of disktool
    http://darwinsource.opendarwin.org/10.3.4/DiskArbitration-129.3/disktool/disktool.c
    shows that the "afpflags" variable is required by the "-a"
    (afpmount)
    command-line flag, but that that variable isn't used in the
    afpmount
    code (which calls DiskArbDiskAppearedWithMountpointPing_auto
    and doesn't mention afpflags.) Either it shouldn't be
    required by the
    command line or it should be passed to DiskArbDiskAppeared...

    I noticed all this because I had a secret hope that calling
    DiskArbDiskAppearedWithMountpointPing might somehow make my
    mount_ext2 mounted volumes somehow appear to all the sundry
    Mac crap,
    but no...)

    As I said, I'm a caveman. I don't understand anything more
    complicated than the mount system call circa 1990, and I
    just want all
    the GUI stuff and happy icons to work without thinking about
    it...

    BTW here's some more output for you, since I was futzing
    around with
    disktool. As I said, the core screwage seems to be that the
    diskarbitration server thingy (whereever it is hidden in
    Mach land I
    don't know, and I Google doesn't see any sources for it
    anywhere, so
    it's a black box to me) just doesn't seem to know anything
    at all
    about the disk1s1 and disks3 partitions on my external
    firewire disk,
    while it's perfectly happy with disk1s2. If it only saw the
    first
    partitition on the drive I'd somehow find it less
    mysterious, but only
    caring about the _second_ partition is weird.

    ########## What's mysterious is how ONLY disk1s2 ever seems
    to appear
    ########## to all the Apple arbitration junk, even though
    the ext2
    ########## disk1s3 seems almost exactly the same to any
    linux tools.
    ########## What's with the missing fsType and the missing
    volName
    ########## (presumably partition label) anyway??????
    $ disktool -l ; mount
    ***Disk Appeared ('disk1s1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk1s2',Mountpoint = '', fsType =
    'ext2', volName = 'archive1')
    ***Disk Appeared ('disk1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk1s3',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s2',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s3',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s4',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s5',Mountpoint = '/', fsType =
    'hfs', volName = 'Mnemosyne')
    /dev/disk0s5 on / (local, journaled)
    devfs on /dev (local)
    fdesc on /dev (union)
    <volfs> on /.vol
    automount -nsl [376] on /Network (automounted)
    automount -fstab [379] on /automount/Servers (automounted)
    automount -static [379] on /automount/static (automounted)
    ########## Attempt to mount the empty 1gb-sized ext3 partitition
    ########## ... nothing
    $ disktool -m disk1s1 ; echo 'XXX' ; disktool -l ; mount
    disk1s1 device will attempt to be mounted ...
    ***Disk Appeared ('disk1s1',Mountpoint = '', fsType = '',
    volName = '')
    Disk Mounting Completed
    XXX
    ***Disk Appeared ('disk1s1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk1s2',Mountpoint = '', fsType =
    'ext2', volName = 'archive1')
    ***Disk Appeared ('disk1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk1s3',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s2',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s3',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s4',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s5',Mountpoint = '/', fsType =
    'hfs', volName = 'Mnemosyne')
    /dev/disk0s5 on / (local, journaled)
    devfs on /dev (local)
    fdesc on /dev (union)
    <volfs> on /.vol
    automount -nsl [376] on /Network (automounted)

    automount -fstab [379] on /automount/Servers (automounted)
    automount -static [379] on /automount/static (automounted)
    ########## Attempt to mount the 54gb-sized ext2 partition
    archive1
    ########## ... everything is happy
    $ disktool -m disk1s2 ; echo 'XXX' ; disktool -l ; mount
    disk1s2 device will attempt to be mounted ...
    ***Disk Appeared ('disk1s1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk1s2',Mountpoint = '', fsType =
    'ext2', volName = 'archive1')
    Disk Mounting Completed
    XXX
    ***Disk Appeared ('disk1s1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk1s2',Mountpoint = '', fsType =
    'ext2', volName = 'archive1')
    ***Disk Appeared ('disk1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk1s3',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s2',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s3',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s4',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s5',Mountpoint = '/', fsType =
    'hfs', volName = 'Mnemosyne')
    ***Disk Appeared ('disk1s2',Mountpoint =
    '/Volumes/archive1', fsType = 'ext2', volName = 'archive1')
    /dev/disk0s5 on / (local, journaled)
    devfs on /dev (local)
    fdesc on /dev (union)
    <volfs> on /.vol
    automount -nsl [376] on /Network (automounted)
    automount -fstab [379] on /automount/Servers (automounted)
    automount -static [379] on /automount/static (automounted)
    /dev/disk1s2 on /Volumes/archive1 (local, nodev, nosuid)
    ########## Attempt to mount the 56gb-sized ext2 partition
    archive2
    ########## ... nothing. WHY WHY WHY?
    $ disktool -m disk1s3 ; echo 'XXX' ; disktool -l ; mount
    disk1s3 device will attempt to be mounted ...
    ***Disk Appeared ('disk1s1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk1s2',Mountpoint =
    '/Volumes/archive1', fsType = 'ext2', volName = 'archive1')
    ***Disk Appeared ('disk1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk1s3',Mountpoint = '', fsType = '',
    volName = '')
    Disk Mounting Completed
    XXX
    ***Disk Appeared ('disk1s1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk1s2',Mountpoint =
    '/Volumes/archive1', fsType = 'ext2', volName = 'archive1')
    ***Disk Appeared ('disk1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk1s3',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s1',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s2',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s3',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s4',Mountpoint = '', fsType = '',
    volName = '')
    ***Disk Appeared ('disk0s5',Mountpoint = '/', fsType =
    'hfs', volName = 'Mnemosyne')
    /dev/disk0s5 on / (local, journaled)
    be less mysterdevfs on /dev (local)
    fdesc on /dev (union)
    <volfs> on /.vol
    automount -nsl [376] on /Network (automounted)
    automount -fstab [379] on /automount/Servers (automounted)
    automount -static [379] on /automount/static (automounted)
    /dev/disk1s2 on /Volumes/archive1 (local, nodev, nosuid)

    > 2) The re-format was merely a suggestion, completely up to
    you. I
    > didn't know what kind of data you had on there so I
    thought I'd put
    > the idea out.

    No can do! But the offer duplicate the disk still stands.
    I bet it's possible to recreate with something other than a
    disk full
    of 100gb of data, though -- some fake debugging "Connection Bus"
    returning the same partition table as my disk would probably
    do the
    trick. But I'm resisting really hard.

    > 4) I understand your frustration, and I am not asking
    anyone to "write
    > code" (unless they want to!). Having said that, I do ask
    users to help
    > with problems when I don't have the time myself or can't
    reproduce the
    > problem. In this case it's both.

    I'm just being mock-disgusted with myself. I'm very burned out.
    I got _this_ close to actually compiling this stuff, until I
    saw how
    much utterly martian (to me) Objective C stuff there is.
    Stay away!

    Something which does look really weird to me though is the
    way you
    seem to call DiskArbRequestMount_auto in
    ext2fsx/src/extfsmgr/coremgr/ExtFSMediaController.m
    I'm just guessing (based on the only other caller of this
    function
    which Google knows about, Apple's disktool program) that
    this some
    sort of async RPC thingy, and that results really come back via
    DiskAppearedComplete_callback and friends, so the
    "hack to detect a failed mount" seems completely wrong.

    But at last reading this code we see where the 0x1FFFFFFF error
    comes from -- it's the mountError routine in this function.

    If you're going to put in an evil kludge like this, you
    really should
    also put a complementary kludge into
    DiskArbCallback_CallFailedNotification to print something
    nice like
    "Timed out attempting to mount device disk1s3" rather than the
    completely confusing (and misleading) 0x1FFFFFFF stuff
    people (like
    me, and others in the discussions group) keep seeing.

    > Apple can take a long time to fix bugs (especially in
    undocumented
    > parts of the system), but they don't simply ignore
    problems. They just
    > prioritize things, and if the problem is not affecting a
    great no. of
    > users then it is usually put on the back burner.
    >
    > There is no need to "understand the whole mess". Again,
    I'm simply
    > asking for as much information as you can/want to give. I
    am not
    > asking for code. There's no need to insult Mac users (who
    are neither
    > dumb nor ignorant).
    >
    > 6) Time is valuable, and if you want to help that's great
    (and I
    > really appreciate all the help you have given so far), but
    if not
    > that's fine too. I don't spend all my time on this
    software so I
    > definitely don't expect users to.
    >
    > Finally, making a guess that this is a DiskArb problem,
    would you be
    > interested in testing a new version of Ext FS Manager that
    bypassed
    > DiskArb to see if that provided a work around?

    Sure. If you'd like to send me a version with a whole lot
    of logging
    turned on I'd be happy to run that for you also.

    Or just check it in to CVS and let me know how to compile it.

     
  • Nobody/Anonymous

    Logged In: NO

    As I did not see a continuation of this...this what I get
    when I try to manually mount my external firewire drive. Via
    ExtFSManager I get the 0x1FFFFFFF message. Gentoo fsck says
    the partition is clean...

    chronon@core chronon $ mkdir /Volumes/archive1
    chronon@core chronon $ sudo /sbin/mount_ext2 /dev/disk1s1
    /Volumes/archive1
    mount_ext2: canceled automount on /dev/disk1s1 on
    /Volumes/archive1: Operation canceled

     
  • Dan Villiom P. Christiansen

    Logged In: YES
    user_id=341574

    I've had a similar problem: Forcably unmounting an Ext3
    volume (by unpowering the FireWire drive) results in the
    volume not being mounted when it's power back on.

    I believe these are the relevant lines from console.log:

    Oct 16 14:21:20 park071 kernel: disk1s1: alignment error.

    Oct 16 14:21:20 park071 diskarbitrationd[104]: unable to
    repair /dev/disk1s1 (status code 0x00000001).

    Judging from this output, it appears to be due to fsck_ext2
    repairing the character device, not the block device. I get
    similar results when I myself run fsck_ext2 on the character
    device; when completes after five minutes, "alignment error"
    appears in the console, and the volume isn't mountable.

    Steps to reproduce:
    Run this command on a 'dirty' ext3 volume:
    % fsck_ext2 /dev/rdiskNsN

    Expected results:
    The volume is mountable.

    Actual results:
    This appears in the system log:
    "kernel: diskNsN: alignment error."
    The volume is not mountable.

     
  • Brian Bergstrand

    Logged In: YES
    user_id=595265

    Nobody: mount_ext2: canceled automount on /dev/disk1s1 on
    /Volumes/archive1: Operation canceled

    As mentioned previously in this bug, this Op Canceled error is from mount_ext2
    because you have the partition set to not automount (from ExtFS Mgr). You need
    to override those settings with the '-x' arg:

    /sbin/mount_ext2 -x /dev/disk1s1 /Volumes/archive1

    As for the inactivity of this bug, I do have a workaround in mind, but I don't have
    the time right to work on it, so it's going to have to wait.

    Dan:

    Forcibly unmounting a drive is never good -- you leave the disk in a bad state. It is
    doubly bad when journaling is not supported (which it's not).

    As for the alignment error, that's the first good explanation that I've heard for
    that error msg. I've seen it myself sometimes. Unfortunately, Disk Arb always
    passes the char device as the device to check, and rightly so as using the block
    device can cause duplicate block caching to occur. Also, this error does not occur
    everytime, I can run fsck right now on my drive with no problems. But I have seen
    it before (usually at boot time when a drive is fsck'd). I don't really have an
    explanation or solution for the problem.

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks