Issue2502

classification
Title: Missing OpenFlags enum entry makes Jython clash with JRuby dependency
Type: crash Severity: normal
Components: Core Versions: Jython 2.7
Milestone: Jython 2.7.1
process
Status: pending Resolution: fixed
Dependencies: Superseder:
Assigned To: zyasoft Nosy List: kibertoad, zyasoft
Priority: high Keywords:

Created on 2016-05-28.12:38:15 by kibertoad, last changed 2016-11-14.05:49:53 by zyasoft.

Messages
msg10861 (view) Author: Igor Savin (kibertoad) Date: 2016-05-28.12:38:14
JRuby refers to the same jnr.constants.platform.OpenFlags class that Jython jar brings with itself, except Jython variant lacks "O_TMPFILE" (which ruby expects) and O_CLOEXEC enum values.

As a result, JRuby and Jython cannot be on the same classpath and work, for NoSuchFieldError is raised whem JRuby reaches "if (OpenFlags.O_TMPFILE.defined()) {" line.
msg10862 (view) Author: Igor Savin (kibertoad) Date: 2016-05-28.12:42:31
Those two fields were added to jnr-constants in 0.9.1 version, here is the relevant commit: https://github.com/jnr/jnr-constants/commit/a2aca0f9461ef9e282f657c634616c84b0336774

I presume that simply updating version of used jnr-costants should be enough to resolve the issue.
msg10910 (view) Author: Jim Baker (zyasoft) Date: 2016-08-24.20:31:57
Shadowing makes this problem go away, but otherwise this dependency needs to be updated.

I will look at updating our jars prior to the 2.7.1 RC.
msg10985 (view) Author: Jim Baker (zyasoft) Date: 2016-11-14.05:49:53
Should be now fixed with the jar update in https://hg.python.org/jython/rev/a4ab392aaf66
History
Date User Action Args
2016-11-14 05:49:53zyasoftsetstatus: open -> pending
resolution: accepted -> fixed
messages: + msg10985
2016-08-24 20:31:57zyasoftsetnosy: + zyasoft
messages: + msg10910
priority: high
assignee: zyasoft
milestone: Jython 2.7.1
resolution: accepted
2016-05-28 12:42:31kibertoadsetmessages: + msg10862
2016-05-28 12:38:15kibertoadcreate