Skip to content

Instantly share code, notes, and snippets.

@larsiusprime
Last active March 4, 2017 22:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save larsiusprime/2cff49cc973eba078a94b6c3358c7efb to your computer and use it in GitHub Desktop.
Save larsiusprime/2cff49cc973eba078a94b6c3358c7efb to your computer and use it in GitHub Desktop.
Help me diagnose a black screen error on linux/mac
I believe these settings should be enough to reproduce the error.
platform: linux
bits: 64
haxe version: latest dev version
hxcpp:
https://github.com/larsiusprime/hxcpp (master branch)
openfl:
https://github.com/larsiusprime/openfl (allfixes_openfl3 branch)
lime:
https://github.com/larsiusprime/lime (allfixes3 branch)
You will have to rebuild hxcpp and lime from source
To rebuild hxcpp from source:
cd ~/path/to/hxcpp
cd tools/hxcpp
haxe compile.hxml
cd ../../
cd project
neko build.n
To rebuild lime from source (IIRC):
cd ~/path/to/lime
git submodule init
git submodule update
haxelib run lime rebuild tools
haxelib run lime rebuild linux
Reproduction case:
- rebuild hxcpp
- rebuild lime
- clone https://github.com/openfl/openfl-samples (master branch)
- compile the "PiratePig" sample under "demos" for linux
Intended behavior:
- the sample should run properly and display a match-3 game
Actual behavior:
- you hear sound but the display is just blank white
$100 bounty to someone who can help diagnose/fix this
@larsiusprime
Copy link
Author

Notes:

  • "HelloWorld" from stock lime-samples works

  • "BunnyMark" from stock lime-samples works (but background is white... is it supposed to be?)

  • "HerokuSHaders" from stock lime-samples works

  • "GameOfLife" from stock lime-samples works

  • "SimpleImage" from stock lime-samples works

  • "NyanCat" from stock openfl-samples does NOT work (compiles, is blank white)

  • "DisplayingABitmap" from stock openfl-samples does NOT work (compiles, is blank white)

@larsiusprime
Copy link
Author

Updated the gist with some instructions for rebuilding hxcpp/lime from source, if I'm remembering the correct syntax.

@larsiusprime
Copy link
Author

Notable leads/hints:

  • The "blank screen error" occurs on both Linux AND Mac, but not, as far as I can tell, on Windows.
  • This used to work about a month or so ago w/ the same settings. Maybe a regression?
  • Things that have changed since then:
    • latest haxe dev version
    • udpates to the forked versions of my libraries (commit history should all be public)

@larsiusprime
Copy link
Author

More leads:

  • My lime fork has not been updated since November (it was working then)
  • My openfl fork has only been updated a bit recently, and only with text-related fixes, which are unlikely to regress something as fundamental as rendering.
  • My hxcpp fork is a simple freeze of the main branch around January 25 with no changes

In other words, the most likely thing to have regressed is perhaps the haxe compiler itself? But what do I know.

@larsiusprime
Copy link
Author

More leads:

  • We have discovered that with the above libraries installed, and using Haxe compiler 3.2.1, the bug does NOT occur. It is a Haxe compiler regression. Which version it is exactly is not determined.

@larsiusprime
Copy link
Author

Update:

The regression is sometime after

2016-12-25 16:11 5748881 haxe_2016-12-25_development_e08d018.tar.gz

@larsiusprime
Copy link
Author

larsiusprime commented Mar 3, 2017

Testing on mac, got a regression window!

Latest known good date:
2017-01-06 11:55
haxe_2017-01-06_development_c91d0ad.tar.gz

Earliest known bad date:
2017-01-07 11:57
haxe_2017-01-07_development_9ac7a29.tar.gz

Regressed commit:
HaxeFoundation/haxe@9ac7a29


Other versions tested:

Confirmed good:
2017-01-04 22:52
haxe_2017-01-04_development_10609a0.tar.gz

2017-01-01 22:13
haxe_2017-01-01_development_bd089ab.tar.gz

2016-12-25 16:11
haxe_2016-12-25_development_e08d018.tar.gz

Confirmed bad:
2017-01-07 14:54
haxe_2017-01-07_development_d4c5506.tar.gz

2017-01-07 15:37
haxe_2017-01-07_development_ec05863.tar.gz

2017-01-07 19:21
haxe_2017-01-07_development_f493eb6.tar.gz

2017-01-09 15:33
haxe_2017-01-09_development_875ad19.tar.gz

2017-01-31 09:21
haxe_2017-01-31_development_0f9a268.tar.gz

@nadako
Copy link

nadako commented Mar 4, 2017

Spent half a day trying to figure it out and I think it's caused by HaxeFoundation/hxcpp#575. I actually reproduced the blank screen on my Windows machine as well. And the "regressed commit" you mentioned probably just disables the analyzer by default, so the compiler behaviour was changed. Enabling it back with -D analyzer-optimize fixes the symptom.

Hopefully, Hugh will fix that issue soon and you'll be able to check if it helps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment