#7 ✓resolved
Christopher Stawarz

getCodecs fails if input file isn't on boot volume

Reported by Christopher Stawarz | April 6th, 2010 @ 01:09 PM | in 0.4.5 (closed)

The MATLAB getCodecs function (in mw_datatools/MatlabDataReader) fails with a Boost error if the data file isn't on the boot volume:

>> d1 = getCodecs('/Documents/MonkeyWorks/Data/MARIONETTE.StimulusPresentTest.mwk')

d1 = 

    time_us: 6450032
      codec: [23x1 struct]

>> d2 = getCodecs('/Volumes/FreeAgent 2/MARIONETTE.StimulusPresentTest.mwk')
??? Unexpected Standard exception from MEX file.
What() is:boost::filesystem::rename: Cross-device link: "/Volumes/FreeAgent
2/MARIONETTE.StimulusPresentTest.mwk",
"/var/folders/v1/v1qsITo9GJezLwbJ2VOfM++++TI/-Tmp-/MARIONETTE.StimulusPresentTest.mwk"

It looks like it's trying to create a temporary file. Why?

Comments and changes to this ticket

  • Christopher Stawarz

    Christopher Stawarz July 6th, 2010 @ 01:45 PM

    • Milestone set to 0.4.5
    • State changed from “new” to “open”
    • Milestone order changed from “0” to “0”

    The issue is in dfindex, so it affects the Python data interface, too. The failure happens because dfindex::dfindex uses boost::filesystem::rename to move the original data file to a temporary directory (presumably on the root volume under /tmp or /var). I'm guessing that bf::rename uses POSIX rename, which doesn't work between different filesystems.

  • Christopher Stawarz

    Christopher Stawarz July 8th, 2010 @ 12:59 PM

    • State changed from “open” to “resolved”

    Fixed in mw_datatools commit 6f7c995f1ac6ed2244fd0e076795baf7b756538c

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

MWorks accessory libraries, build system, etc.

People watching this ticket

Pages