Assertion Failed! Failed in Get Wave Display

Audacity 3.0.2
Ubuntu Ubuntu 20.04.3 LTS

A project that was working fine yesterday and was saved shows the error in the title. This is the second time recently this has happened. Lat time I just started again as it was a smaller project but this time it’s inconvenient.

I tried moving the file from external to internal but no luck

/build/audacity-U7bTxL/audacity-3.0.2/src/Sequence.cpp(1457): assert "pixel == len" failed in GetWaveDisplay().



ASSERT INFO:
/build/audacity-U7bTxL/audacity-3.0.2/src/Sequence.cpp(1457): assert "pixel == len" failed in GetWaveDisplay().

BACKTRACE:
[1] Sequence::GetWaveDisplay(float*, float*, float*, int*, unsigned long, sampleCount const*) const
[2] WaveClip::GetWaveDisplay(WaveDisplay&, double, double) const
[3] WaveformView::DoDraw(TrackPanelDrawingContext&, WaveTrack const*, wxRect const&, bool)
[4] WaveformView::Draw(TrackPanelDrawingContext&, wxRect const&, unsigned int)
[5] CellularPanel::Visit(wxRect const&, std::shared_ptr<TrackPanelNode> const&, CellularPanel::Visitor&)
[6] CellularPanel::Visit(wxRect const&, std::shared_ptr<TrackPanelNode> const&, CellularPanel::Visitor&)
[7] CellularPanel::Visit(wxRect const&, std::shared_ptr<TrackPanelNode> const&, CellularPanel::Visitor&)
[8] CellularPanel::Visit(wxRect const&, std::shared_ptr<TrackPanelNode> const&, CellularPanel::Visitor&)
[9] CellularPanel::Visit(wxRect const&, std::shared_ptr<TrackPanelNode> const&, CellularPanel::Visitor&)
[10] CellularPanel::Visit(wxRect const&, std::shared_ptr<TrackPanelNode> const&, CellularPanel::Visitor&)
[11] CellularPanel::Visit(wxRect const&, std::shared_ptr<TrackPanelNode> const&, CellularPanel::Visitor&)
[12] CellularPanel::Visit(wxRect const&, std::shared_ptr<TrackPanelNode> const&, CellularPanel::Visitor&)
[13] CellularPanel::Visit(CellularPanel::Visitor&)
[14] CellularPanel::VisitPostorder(std::function<void (wxRect const&, TrackPanelNode&)> const&)
[15] CellularPanel::Draw(TrackPanelDrawingContext&, unsigned int)
[16] TrackPanel::DrawTracks(wxDC*)
[17] TrackPanel::OnPaint(wxPaintEvent&)
[18] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[19] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[20] wxEvtHandler::TryHereOnly(wxEvent&)
[21] wxEvtHandler::ProcessEventLocally(wxEvent&)
[22] wxEvtHandler::ProcessEvent(wxEvent&)
[23] wxEvtHandler::SafelyProcessEvent(wxEvent&)
[24] wxWindow::GTKSendPaintEvents(_cairo*)
[25] g_closure_invoke
[26] g_signal_emit_valist
[27] g_signal_emit
[28] gtk_container_propagate_draw
[29] g_closure_invoke
[30] g_signal_emit_valist
[31] g_signal_emit
[32] gtk_container_propagate_draw
[33] g_closure_invoke
[34] g_signal_emit_valist
[35] g_signal_emit
[36] gtk_container_propagate_draw
[37] gtk_container_propagate_draw
[38] gtk_main_do_event
[39] g_signal_emit_valist
[40] g_signal_emit
[41] g_main_context_dispatch
[42] g_main_loop_run
[43] gtk_main
[44] wxGUIEventLoop::DoRun()
[45] wxEventLoopBase::Run()
[46] wxAppConsoleBase::MainLoop()
[47] wxEntry(int&, wchar_t**)
[48] main
[49] __libc_start_main
[50] _start

Do you mean that the project file was on an external device?
What sort?

We are aware that some external devices can be problematic for working on Audacity projects - generally OK just for storage, but problematic if the project is opened. My advice is to play it safe and never use any external device for a project that you are working on (even though some external devices may work without issues).

Yes, I had it saved to an external drive, WD elements. Thanks for the swift response.

USB drive?

USB drives are “usually” OK so long as you’re not pushing the computer hard, and the drive is not FAT formatted. I have used USB drives without problems (though I would avoid doing so for important projects).

How big is the project .aup3 file?
Is there a “WAL” file with the same name as the AUP3 file?

It’s an external SSD drive, sorry for misunderstanding the initial question.
The .aup3 file is 600mb and the wal file is 3.2gb.
I just saw that an older save , which is one track and 70 mins long is 17gb in size. Is that normal?

It’s an external SSD drive, sorry for misunderstanding the initial question.
The .aup3 file is 600mb and the wal file is 3.2gb.
I just saw that an older save , which is one track and 70 mins long is 17gb in size. Is that normal?

No, that’s not normal. The expected size for 70 mins mono would be around 2 GB, or 4 GB for stereo.

Projects may grow very large while working on the project due to the “undo” history, but the history is deleted when the project is closed and Audacity “should” then compact the AUP3 file (it’s a database file) to fit the data. Unfortunately, a common problem with external storage devices is that they may not support (or have buggy support) for modes required by SQLite, which then prevents compacting from working correctly.
It is sometimes possible to recover from this problem by closing Audacity, moving the project to an internal drive, and re-opening the project. Then make some changes to the project and save.

Another common problem with external devices is that they may not support (or have buggy support) for secure database transactions. This may not appear to be a problem, until suddenly the database is corrupt.

“Sometimes” it is possible to salvage a corrupted AUP3 file using “DB Browser for SQLite” (available in the Ubuntu repository). I’m not an expert with this, though I have, on a couple of occasions, managed to salvage most of a project by renaming the “project” table as something else, and renaming the “autosave” table as “project” (then close the database, and open the file with Audacity). If you want to try that, best to work on a copy rather than the original.

Thanks so much for your time. I’ll just have to re-record I guess and not save to the external.