Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

getCodecs fails if input file isn't on boot volume

#7

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?

Reported by Christopher Stawarz · April 6th, 2010 @ 01:09 PM

State: resolved
Milestone: 0.4.5
Assigned to: Christopher Stawarz Christopher Stawarz

Activity

  1. Christopher Stawarz
    Christopher Stawarz
    • 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.

    July 6th, 2010 @ 01:45 PM

  2. Christopher Stawarz
    Christopher Stawarz
    • State changed from open to resolved

    Fixed in mw_datatools commit 6f7c995f1ac6ed2244fd0e076795baf7b756538c

    July 8th, 2010 @ 12:59 PM

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.