Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OS X test compatibility #103

Open
paulfryzel opened this issue Apr 30, 2014 · 7 comments
Open

OS X test compatibility #103

paulfryzel opened this issue Apr 30, 2014 · 7 comments
Labels

Comments

@paulfryzel
Copy link
Contributor

This encapsulates the numerous outstanding issues preventing stable tests on OS X (Darwin). When this issue is fixed, all current tests should pass on both Linux and OS X.

Fixes on branch paulfryzel/Higgs#osx-tests.

@mollymorphic
Copy link
Contributor

Awesome work, thanks so much for taking this on!

@iankronquist
Copy link

I ran the tests on OS X Yosemite and got a segfault:
https://pastebin.osuosl.org/13041/

@maximecb
Copy link
Contributor

@tach4n @paulfryzel gonna need your help, since I don't have any OSX machiens.

PS: is there any way to get some bootleg OSX image to run in a VM?

@paulfryzel
Copy link
Contributor Author

To note, the segfault is not local to OS X 10.10. I can reproduce it on 10.9 as well.

With a smaller test case:

// tr2
var console = require("lib/console");
var ffi = require("lib/ffi");
var std = require("lib/stdlib");

console.log(ffi.c.fork());
$ ./higgs tr2.js

Caught segmentation fault
IP=null
23604

Reducing it even further resulted in a D core.exception which I'm unsure of how to get more from:
(lib/stdlib is required for the fork cdef)

// tr3
var ffi = require("lib/ffi");
var std = require("lib/stdlib");

ffi.c.fork();
$ ./higgs tr3.js
core.exception.InvalidMemoryOperationError@(0)

(edit: some dtruss output around the segfault, https://gist.github.com/paulfryzel/20d3774dffd329680cc3)

@bFraley
Copy link
Contributor

bFraley commented Dec 28, 2014

Ran make test on OSX Yosemite 10.10.1 and got through some of the test runner tests, and didn't segfault
until regexp tests.

Running: ./tests/00-runtime/for-in-continue.js...
Running: ./tests/00-runtime/for-in-delete.js...
Running: ./tests/00-runtime/for-in-sum.js...
Running: ./tests/00-runtime/has-own-property.js...
Running: ./tests/01-stdlib/array.js...
Running: ./tests/01-stdlib/boolean.js...
Running: ./tests/01-stdlib/date.js...
Running: ./tests/01-stdlib/function.js...
Running: ./tests/01-stdlib/global.js...
Running: ./tests/01-stdlib/json.js...
Running: ./tests/01-stdlib/map.js...
Running: ./tests/01-stdlib/math.js...
Running: ./tests/01-stdlib/number.js...
Running: ./tests/01-stdlib/object.js...
Running: ./tests/01-stdlib/regexp.js...

Caught segmentation fault
IP=null

EDIT: Re-installed and this time got segfault on array test

Running: ./tests/00-runtime/for-in-continue.js...
Running: ./tests/00-runtime/for-in-delete.js...
Running: ./tests/00-runtime/for-in-sum.js...
Running: ./tests/00-runtime/has-own-property.js...
Running: ./tests/01-stdlib/array.js...

Caught segmentation fault
IP=null

EDIT: Did normal (non install-dev) and REPL works now, and benchmarks passed!
But on make-test, segfaults at esprima.js - assertion fail in stats.d

Caught segmentation fault
IP=null
vm.curInstr: Assertion failed (stats.d@180)

Seems like this is something specific to the makefile and test implementation wrt OSX, instead of a specific Higgs JS or D / dmd problem.

@bFraley
Copy link
Contributor

bFraley commented Jan 8, 2015

Should new OSX issues be opened, or just quarantine them here for now? Maybe rename to 'OSX compatibility' or 'improve OSX support'?

In Yosemite, All x11 dependent software has build and install problems, as It no longer comes bundled in OSX. Some offer instructions, some specifically prompt users to supply the dir path to x11, and some runs checks or use alternate make and or configuration files for linking into x11. I will have to just specify where else to look for x11, or explicitly add commands to link x11 files. This is actually nothing compared to getting KDE based tools installed on mac, not to mention some other more legacy softwares I use.

I have more testing to do, but there may be other linking issues associated with dmd and osx. These OSX support issues are all build/install specific, as the jit runtime runs fine as expected. So, not all bad news...probably a matter of a few key new lines in makefile.

@maximecb
Copy link
Contributor

maximecb commented Jan 8, 2015

I'd keep it all in here for now so we can have all of our OSX debugging work documented in one place.

Higgs should work fine even if you don't have X11 installed. It's up to the user to install those libs if they want to tinker with graphical stuff.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants