godot: [Regression] Immediate editor crash on opening project

Godot version: master / 9f82368d40f

OS/device including version: Manjaro Linux 17.1

Issue description: When opening a C# project with the latest build of Godot, it immediately crashes with the following output:

Unhandled Exception:
Microsoft.Build.Exceptions.InvalidProjectFileException: Attribute "Version" is not known on node "PackageReference" [type Microsoft.Build.Construction.ProjectItemElement].  at: /home/fender/workspace/AlleyCat/AlleyCat.csproj (334,6)
  at Microsoft.Build.Construction.ProjectElement.LoadAttribute (System.String name, System.String value) [0x0005f] in <dfba13dfea69468a9ada45eb8420eb7a>:0 
  at Microsoft.Build.Construction.ProjectItemElement.LoadAttribute (System.String name, System.String value) [0x00080] in <dfba13dfea69468a9ada45eb8420eb7a>:0 
  at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x00091] in <dfba13dfea69468a9ada45eb8420eb7a>:0 
  at Microsoft.Build.Construction.ProjectElementContainer.LoadValue (System.Xml.XmlReader reader) [0x00018] in <dfba13dfea69468a9ada45eb8420eb7a>:0 
  at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x0009e] in <dfba13dfea69468a9ada45eb8420eb7a>:0 
  at Microsoft.Build.Construction.ProjectElementContainer.LoadValue (System.Xml.XmlReader reader) [0x00018] in <dfba13dfea69468a9ada45eb8420eb7a>:0 
  at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x0009e] in <dfba13dfea69468a9ada45eb8420eb7a>:0 
  at Microsoft.Build.Construction.ProjectRootElement.Load (System.Xml.XmlReader reader) [0x00000] in <dfba13dfea69468a9ada45eb8420eb7a>:0 
  at Microsoft.Build.Construction.ProjectRootElement.Open (System.String path, Microsoft.Build.Evaluation.ProjectCollection projectCollection) [0x0000f] in <dfba13dfea69468a9ada45eb8420eb7a>:0 
  at Microsoft.Build.Construction.ProjectRootElement.Open (System.String path) [0x00006] in <dfba13dfea69468a9ada45eb8420eb7a>:0 
  at GodotSharpTools.Project.ProjectUtils.AddItemToProjectChecked (System.String projectPath, System.String itemType, System.String include) [0x0000c] in <39900711926f477193196126df2d803d>:0 
Stacktrace:

/proc/self/maps:
4022c000-4023c000 rwxp 00000000 00:00 0 
4032b000-403cc000 rw-p 00000000 00:00 0 
407b3000-407b5000 r-xs 00000000 00:2d 102                                /tmp/.glos4UFs (deleted)
40b6d000-40bf2000 rwxp 00000000 00:00 0 
41176000-41186000 rwxp 00000000 00:00 0 
411e0000-411f0000 rwxp 00000000 00:00 0 
55b8aad8d000-55b8af57a000 r-xp 00000000 08:07 3151468                    /usr/bin/godot
55b8af77a000-55b8af87e000 r--p 047ed000 08:07 3151468                    /usr/bin/godot
55b8af87e000-55b8af884000 rw-p 048f1000 08:07 3151468                    /usr/bin/godot
55b8af884000-55b8af89c000 rw-p 00000000 00:00 0 
55b8af91f000-55b8b53e1000 rw-p 00000000 00:00 0                          [heap]
7efd98000000-7efd98021000 rw-p 00000000 00:00 0 
7efd98021000-7efd9c000000 ---p 00000000 00:00 0 
7efd9e500000-7efd9e600000 rw-p 00000000 00:00 0 
7efd9e647000-7efd9ea47000 rw-s 00000000 00:06 513                        /dev/nvidiactl
7efd9ea47000-7efda8000000 rw-p 00000000 00:00 0 
7efda8000000-7efda8021000 rw-p 00000000 00:00 0 
7efda8021000-7efdac000000 ---p 00000000 00:00 0 
7efdac1eb000-7efdaefff000 rw-p 00000000 00:00 0 
7efdaefff000-7efdaf000000 ---p 00000000 00:00 0 
7efdaf000000-7efdafc00000 rw-p 00000000 00:00 0 
7efdafc01000-7efdb4000000 rw-p 00000000 00:00 0 
7efdb4000000-7efdb4021000 rw-p 00000000 00:00 0 
7efdb4021000-7efdb8000000 ---p 00000000 00:00 0 
7efdb81f4000-7efdb81f5000 ---p 00000000 00:00 0 
Memory around native instruction pointer (0x7efdd171f86b):
0x7efdd171f85b  d2 4c 89 ce bf 02 00 00 00 b8 0e 00 00 00 0f 05  .L..............
0x7efdd171f86b  48 8b 8c 24 08 01 00 00 64 48 33 0c 25 28 00 00  H..$....dH3.%(..
0x7efdd171f87b  00 44 89 c0 75 1d 48 81 c4 10 01 00 00 5b c3 66  .D..u.H......[.f
0x7efdd171f88b  0f 1f 44 00 00 48 8b 15 99 f5 37 00 f7 d8 64 89  ..D..H....7...d.

Native stacktrace:

        /usr/lib/libmonosgen-2.0.so.1(+0xd5163) [0x7efdd2ada163]
        /usr/lib/libpthread.so.0(+0x11a80) [0x7efdd2057a80]
        /usr/lib/libc.so.6(gsignal+0x10b) [0x7efdd171f86b]
        /usr/lib/libc.so.6(abort+0x129) [0x7efdd170a40e]
        godot(+0xe089cb) [0x55b8abb959cb]
        godot(+0xe008b6) [0x55b8abb8d8b6]
        godot(_ZN13CSharpProject8add_itemERK6StringS2_S2_+0x1ae) [0x55b8abbe70be]
        godot(_ZNK12CSharpScript12can_instanceEv+0xf9) [0x55b8abb6f0a9]
        godot(_ZN6Object10set_scriptERK6RefPtr+0x8b) [0x55b8ad9e080b]
        godot(_ZN6Object3setERK10StringNameRK7VariantPb+0xff) [0x55b8ad9e05af]
        godot(_ZNK10SceneState8instanceENS_12GenEditStateE+0xc90) [0x55b8ad5ef010]
        godot(_ZNK11PackedScene8instanceENS_12GenEditStateE+0x27) [0x55b8ad5f1887]
        godot(_ZN22EditorAutoloadSettings16_create_autoloadERK6String+0x149) [0x55b8aca13919]
        godot(_ZN22EditorAutoloadSettingsC1Ev+0x502) [0x55b8aca19162]
        godot(_ZN21ProjectSettingsEditorC2EP10EditorData+0x403c) [0x55b8ac37bb2c]
        godot(_ZN10EditorNodeC1Ev+0x5bb7) [0x55b8ac4b7ec7]
        godot(_ZN4Main5startEv+0x20a4) [0x55b8ab9c95f4]
        godot(main+0x80) [0x55b8ab9a8020]
        /usr/lib/libc.so.6(__libc_start_main+0xeb) [0x7efdd170c06b]
        godot(_start+0x2a) [0x55b8ab9a7eda]

Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an object
중지됨 (core dumped)

I’m pretty sure that the InvalidProjectFileException is not the real cause of the problem, since it’s been always there ever since I started using Godot (#15386). (Edit : Upon further testing, it looks like this could be the real cause but just stopped being harmless since recent changes. I’ll add comments after doing more tests.)

This seems to be a regression, since it started to happen after I upgraded from 0ffec7daf to 9f82368d40f. And after I rolled back my build to 0ffec7daf, the editor started to work without a problem again.

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 18 (13 by maintainers)

Most upvoted comments

This looks like a duplicate of #15386. I’m planning GodotSharpTools to use nuget Microsoft.Build packages instead.

This crash is happening to me on Linux Manjaro Hakoila, it became really annoying in Godot 3.0.6. Each time I need to run the code, I need to:

  1. Delete the .mono folder (otherwise the editor will crash right after opening the project).
  2. Open Godot and run the project.
  3. Godot editor will crash, but at least it will copy the assemblies into the project.
  4. Run msbuild . /p:Configuration=Tools && godot-mono command to start the project (because running godot-mono --rebuild-solutions also causes the editor to crash).

In Godot 3.0.5 it also happened, but the editor would not crash all the time, and then deleting the .mono folder once would help. Right now, it started to really interfere with my work.

As for the error, I get the same stacktrace described above minus the “Version” attribute part.

I’m using msbuild version 15.6.0.0

I really hope you fix it soon, because like I said these crashes are destroying the user experience.

@akien-mga If there are other users who are affected by this problem, maybe we should add this to the 3.1 milestone?