Ubuntu 20.04 & 3.1.3 Errors: Networked Drive

Hi,

We use Audacity at our community radio station, and I recently upgraded to 3.1.3 using snap on an Ubuntu 20.04 machine.

Audacity works as expected on the machine, however when I save Audacity files to our ‘Share’ folder on the station file server, I cannot open the file from the local machine or any other machine.

On the Ubuntu machine where Audacity is installed, I get this message:

Could not open file: /filepath-to-file

I have a Windows laptop connected to the LAN, and when I try to open the Audacity file I saved, I get this message:

Project is read only (Unable to work with the block files

and this for Problem Details:

{
    "timestamp": 1653052787,
    "event_id": "ac6ed1fd4a0dd7418eb942d9eed8ff2d",
    "platform": "native",
    "release": "audacity@3.1.3",
    "contexts": {
        "os": {
            "type": "os",
            "name": "Windows",
            "version": "10.0.22000"
        }
    },
    "exception": {
        "values": [
            {
                "type": "Error_Opening_Project",
                "value": "Project is read only\n(Unable to work with the blockfiles)",
                "mechanism": {
                    "type": "runtime_error",
                    "handled": false,
                    "data": {
                        "sqlite3.query": "DELETE FROM sampleblocks WHERE NOT inset(blockid);",
                        "sqlite3.rc": "8",
                        "sqlite3.context": "ProjectGileIO::GetBlob",
                        "log": "08:19:47: Error: Couldn't find symbol 'av_packet_alloc' in a dynamic library (error 127: The specified procedure could not be found.)\n08:19:47: Error: Couldn't find symbol 'av_packet_free' in a dynamic library (error 127: The specified procedure could not be found.)\n08:19:47: Error: Couldn't find symbol 'avcodec_free_context' in a dynamic library (error 127: The specified procedure could not be found.)\n08:19:47: Loaded 61 string <path> Kb in size\n08:19:47: sqlite3 message: (8) statement aborts at 11: [DELETE FROM sampleblocks WHERE NOT inset(blockid);] attempt to write a readonly database\n08:19:47: DBConnection SetDBError\n\tErrorCode: 8\n\tLastError: Project is read only\n(Unable to work with the blockfiles)\n\tLibraryError: attempt to write a readonly database\n"
                    }
                }
            }
        ]
    }
}

When I access our Share folder and look for the file I saved, I see a .aup file as well as a .aup3-wal and .aup3-shm.

Any thoughts on how to resolve this would be greatly appreciated, thank you!

This is a SQLITE_READONLY error (code 8).

The SQLITE_READONLY result code is returned when an attempt is made to alter some data for which the current database connection does not have write permission.

Database errors occur more frequently with networked or shared project files. It is best to work locally on a single machine and then after the project is saved and closed, transfer it to the networked drive.

If moving the database to the local drive does not correct the problem, try to repair your project, see: Corrupt or Otherwise Broken Audacity Project Recovery

Thanks for the reply. Is it really the suggested practice to not save Audacity files to networked folders? It seems like a step backward.

I’m wondering if this is a bug that will be worked out, or is it just the way newer versions of Audacity will be.

It has never been good practice to work on a project that is on a network drive. Both playback, and (especially) recording require fast, reliable, low latency access to the data storage medium, and that is difficult to guarantee across a network.

Since Audacity updated to 3.x, network drives became potentially more problematic. Audacity 3.x has a new, single file format, based on SQLite. Some of the potential issues are described here: SQLite Over a Network, Caveats and Considerations and here: File Locking And Concurrency In SQLite Version 3

Having said that, I have got Audacity to work successfully with the project on a NAS drive using Common Internet File System (cifs) on which my (Linux) PC was the only user.

Is it really the suggested practice to not save Audacity files to networked folders? It seems like a step backward.

You can totally save and recover projects on network drives. You just can’t use Audacity to do it. Use your operating system to push files back and forth. Do actual audio production on your internal drive.

Audacity assumes its drives can do all possible audio production jobs including jobs that require surgically precise timing and stability.

Audacity doesn’t understand network collision detection, retry management, failure recovery, and sloppy delays. All features of network or cloud drives.

Koz

I’d like to follow on this. I understand that working on and saving projects should be done on a local drive, fine. However, saving a file from exporting audio should be a process that audacity hands over on operating system level, because it should be agnostic to where something is saved that doesn’t require real time responsiveness.

I have two computers that I use with audacity: One notebook sits by the piano and records via an audio interface. This notebook runs Windows 10 (It’s semi broken and it was easier to install Windows than Linux) and does what it is supposed to do i.e. record my Steinway very well. The other notebook runs Linux (Fedora) and I use it for post-processing recorded audio from the Windows computer. So far I exported audio to local drive, send it to Google Drive and download it from there with the Linux notebook.

Now, I have recently acquired a nice FRITZ!Box as router for the home network and this includes the option of adding an SSD as NAS - and as an SMB share it works fine on both computers. I can create, read and change files with the usual file managers on both operating systems.

However, audacity does not give me the option of exporting and importing audio in the respective file dialogues. Which completely defies the purpose of actually having the NAS available as a convenient way of sharing saved audio files between two computers.

Both computers use audacity 2.4.2 and I wonder whether there is something wrong in my thinking, expectations or setting up audacity in a way that a network drive is recognized as just one place of saving files to. Any ideas?

TIA

An Audacity 3.x project is not a normal file. It’s an SQLite database file. The issues about networks and SQLite are described here: SQLite Over a Network, Caveats and Considerations

I agree with you. I would not expect to have the same levels of difficulties with Importing and Exporting inherently sequential access .WAV (and such) files as with the database random access files used with Audacity projects.

Having said that, note that Audacity does not block you from using networked drives for it’s projects (although it probably should). As you don’t even have “the option” to export or import, I would look elsewhere for a solution.

Yes. I suspect that your issue has little or nothing to do with Audacity. Do other Fritz users report a similar issue? I noticed at least one report on Amazon indicating after a certain update to his Fritzbox the NAS Network operation was not working properly.

I thought I have made it clear that I was specifically speaking about exported/imported audio files (FLAC in my case), not about projects. I have also made it clear that I am working with audacity 2.4.2, not a later version, for reasons well known.

Perhaps it would have been better to start a new topic rather tagging onto a topic about Audacity 3.1.3.

I’ll do just that.