2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Assertion failed on expression: 'success && actual == (UInt64)size'

Last updated at Posted at 2017-04-13

いつものようにJenkinsでUnityアプリをビルドしていると、こんなエラーが。

Compiled shader 'TMPro/Distance Field (Surface)' in 18.91s
    gles (total internal programs: 90, unique: 50)
    gles3 (total internal programs: 90, unique: 71)
Assertion failed on expression: 'success && actual == (UInt64)size'

当該のシェーダーを見ても問題はないどころか、そもそもこんなassertを書いている箇所はありません。

…で、ざっくり言うと、

PCのハードディスクがいっぱいになった

が原因です。

調べたところ、たまたまこのシェーダーをコンパイルした瞬間にハードディスクがいっぱいになり、ファイルが書き込めず、想定と実際のファイルサイズが違ってしまったのでビルドスクリプトのassertで止まった、ということのようです。

特に自動ビルドPCには過去の成果物ファイルがたまったりしてHDDがいっぱいになりがちで、かつ、普段はログインしないPCなので確認がおろそかになります。注意しましょう。イマドキ500GB程度ではこころもとないですね…。

なお、Windowsで出力されるファイルが2GBを超えた場合などにも同じエラーが出ることがあったようなんですが、これはUnity5.3.0で解消されているようです。

[BUILDING] WINDOWS STANDALONE NOT BUILDABLE WHEN SHAREDASSETS FILE IS LARGER THAN 2GB
https://issuetracker.unity3d.com/issues/building-windows-standalone-not-buildable-when-sharedassets-file-is-larger-than-2gb

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?