Page MenuHome

Opening a blender file last edited in 2013 causes Blender's fonts to go crazy
Open, Needs Triage by DeveloperPublic

Description

System Information
Operating system: macOS X version 10.14.3 (18D109
Graphics card: Radeon RX 580 8192 MB in Sonnet eGPU

Blender Version
Still Broken: blender-2.80.0-git20190325.72ede30d0f97-x86_64

Broken: 2.80 Beta 7f77961f1c38 (branch: Blender 2.7 (that's confusing))

Works: blender-2.79.0-git20190325.edcb5415a275-x86_64

Short description of error
If I launch Blender the menus and tabs and other screen elements all look fine.
If I open an old file the menu and tab text is all scrambled.

Exact steps for others to reproduce the error
Launch Blender
Select File->Open and open the attached file.


Details

Type
Bug

Event Timeline

Tyler (haikuty) updated the task description. (Show Details)

I don't have this issue in Ubuntu 18.04 with the same graphics card, please try to use the latest build of Blender 2.8 and Load Factory Settings for a clear blender startup file.
Then try to open the blend file with Load UI disabled like in the screenshot below.

Can't repro on windows either

Maybe not related to the bug, but I get an assert when I try to open the file.

__GI_raise(int sig) (/build/glibc-OTsEL5/glibc-2.27/sysdeps/unix/sysv/linux/raise.c:51)
__GI_abort() (/build/glibc-OTsEL5/glibc-2.27/stdlib/abort.c:79)
blo_do_versions_280(FileData * fd, Library * UNUSED_lib, Main * bmain) (/home/jacques/blender-git/blender/source/blender/blenloader/intern/versioning_280.c:2165)
do_versions(FileData * fd, Library * lib, Main * main) (/home/jacques/blender-git/blender/source/blender/blenloader/intern/readfile.c:9296)
blo_read_file_internal(FileData * fd, const char * filepath) (/home/jacques/blender-git/blender/source/blender/blenloader/intern/readfile.c:9564)
BLO_read_from_file(const char * filepath, eBLOReadSkip skip_flags, ReportList * reports) (/home/jacques/blender-git/blender/source/blender/blenloader/intern/readblenentry.c:314)
BKE_blendfile_read(bContext * C, const char * filepath, const struct BlendFileReadParams * params, ReportList * reports) (/home/jacques/blender-git/blender/source/blender/blenkernel/intern/blendfile.c:388)
WM_file_read(bContext * C, const char * filepath, ReportList * reports) (/home/jacques/blender-git/blender/source/blender/windowmanager/intern/wm_files.c:600)
wm_file_read_opwrap(bContext * C, const char * filepath, ReportList * reports, const _Bool autoexec_init) (/home/jacques/blender-git/blender/source/blender/windowmanager/intern/wm_files.c:1866)
wm_open_mainfile_exec(bContext * C, wmOperator * op) (/home/jacques/blender-git/blender/source/blender/windowmanager/intern/wm_files.c:1926)
wm_operator_invoke(bContext * C, wmOperatorType * ot, wmEvent * event, PointerRNA * properties, ReportList * reports, const _Bool poll_only, _Bool use_last_properties) (/home/jacques/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:1353)
wm_operator_call_internal(bContext * C, wmOperatorType * ot, PointerRNA * properties, ReportList * reports, const short context, const _Bool poll_only, wmEvent * event) (/home/jacques/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:1586)
WM_operator_name_call_ptr(bContext * C, wmOperatorType * ot, short context, PointerRNA * properties) (/home/jacques/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:1598)
ui_apply_but_funcs_after(bContext * C) (/home/jacques/blender-git/blender/source/blender/editors/interface/interface_handlers.c:782)
ui_popup_handler(bContext * C, const wmEvent * event, void * userdata) (/home/jacques/blender-git/blender/source/blender/editors/interface/interface_handlers.c:10101)
wm_handler_ui_call(bContext * C, wmEventHandler_UI * handler, const wmEvent * event, int always_pass) (/home/jacques/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:585)
wm_handlers_do_intern(bContext * C, wmEvent * event, ListBase * handlers) (/home/jacques/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2491)
wm_handlers_do(bContext * C, wmEvent * event, ListBase * handlers) (/home/jacques/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:2720)
wm_event_do_handlers(bContext * C) (/home/jacques/blender-git/blender/source/blender/windowmanager/intern/wm_event_system.c:3071)
WM_main(bContext * C) (/home/jacques/blender-git/blender/source/blender/windowmanager/intern/wm.c:418)
main(int argc, const char ** argv) (/home/jacques/blender-git/blender/source/creator/creator.c:505)

Looks like the versioning code is wrong.
Or the file is broken...

Looks normal here on Mac. Although the layout is clearly from 2.49x and earlier.

I do remember this dice tutorial for old Blender versions: https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Die_Another_Way

The original file is probably a fair bit older than 2013, so it might be an issue with opening very old blend files (Perhaps Blender 2.0 to 2.4 era)

@Marco (nacioss)

I don't have this issue in Ubuntu 18.04 with the same graphics card, please try to use the latest build of Blender 2.8 and Load Factory Settings for a clear blender startup file.
Then try to open the blend file with Load UI disabled like in the screenshot below.

This is the latest version of 2.8 downloaded immediately before posting from the blender website. And I noted that I did load factor settings before trying again....

@William Reynish (billreynish)
What version of macOS are you on?
And what version of Blender did you use?

Yes, the file is definitely older than 2013 (2009 or 2010 I think?).

So that assert posted by @Jacques Lucke (JacquesLucke) pointing at the version reading code may well be a relevant clue.

Seems odd that an old (or even corrupt, though I don't think the file is corrupt) file could cause the UI to freak out so badly. That's definitely a bug that would like to get fixed. Some kind of better error handling or something so that a "bad" data file can't corrupt the app seems important.

That said, I'm unfortunately not in a position to get the source and dig into the code to find the issue and offer a fix (got to be a huge code base).

@William Reynish (billreynish) that is likely the tutorial my son was working from when he created this. Nice find.