Bug 1535240 (Scilab-Geogebra-Jogl2-Problem) - Scilab does not start in FC26: GL3bc -> profileImpl GL4bc !!! not mapped
Summary: Scilab does not start in FC26: GL3bc -> profileImpl GL4bc !!! not mapped
Keywords:
Status: CLOSED ERRATA
Alias: Scilab-Geogebra-Jogl2-Problem
Product: Fedora
Classification: Fedora
Component: jogl2
Version: 26
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Clément DAVID
QA Contact: Fedora Extras Quality Assurance
URL: https://bugs.launchpad.net/ubuntu/+so...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-01-16 22:21 UTC by A. Sergio Garay
Modified: 2018-07-20 17:43 UTC (History)
7 users (show)

Fixed In Version: jogl2-2.3.2-7.fc27 jogl2-2.3.2-7.fc28
Clone Of:
Environment:
Last Closed: 2018-07-20 16:58:32 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
patch to detect mesa based driver in use with new AMD string (787 bytes, patch)
2018-02-09 04:11 UTC, Chris Caudle
no flags Details | Diff

Description A. Sergio Garay 2018-01-16 22:21:18 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
Build Identifier: 

Scilab 6.0.0 can not start from xterminal on my FC 26. It was working in my FC25 until upgrade the system. I am using an AMD graphic card:

VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 460/560D / Pro 450/455/460/560] (rev cf)

which is using the amdgpu driver.





Reproducible: Always

Steps to Reproduce:
1.start scilab 6.0 on a hardware using AMD videocard.
2.
3.
Actual Results:  
Could not create a Scilab main class. Error:
Exception in thread "main" java.lang.InternalError: XXX0 profile[1]: GL3bc -> profileImpl GL4bc !!! not mapped 
	at com.jogamp.opengl.GLProfile.computeProfileMap(GLProfile.java:2071)
	at com.jogamp.opengl.GLProfile.initProfilesForDeviceCritical(GLProfile.java:1954)
	at com.jogamp.opengl.GLProfile.initProfilesForDevice(GLProfile.java:1875)
	at com.jogamp.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1842)
	at com.jogamp.opengl.GLProfile.access$000(GLProfile.java:80)
	at com.jogamp.opengl.GLProfile$1.run(GLProfile.java:230)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.jogamp.opengl.GLProfile.initSingleton(GLProfile.java:216)
	at com.jogamp.opengl.GLProfile.getProfileMap(GLProfile.java:2297)
	at com.jogamp.opengl.GLProfile.get(GLProfile.java:988)
	at com.jogamp.opengl.GLProfile.getDefault(GLProfile.java:722)
	at com.jogamp.opengl.GLProfile.getDefault(GLProfile.java:733)
	at org.scilab.modules.gui.SwingView.<init>(Unknown Source)
	at org.scilab.modules.gui.SwingView.registerSwingView(Unknown Source)
	at org.scilab.modules.core.Scilab.<init>(Unknown Source)

Scilab cannot create Scilab Java Main-Class (we have not been able to find the main Scilab class. Check if the Scilab and thirdparty packages are available).


Expected Results:  
opening Scilab GUI

The problem also affects geogebra 5.0.328.0-3D which it runs normally but it can't show 3D graphics.

Both programas work perfectly in another PC with nvidia videocard, using i915 driver.

Comment 1 A. Sergio Garay 2018-01-23 13:27:37 UTC
I also try using jogl2 from FC25, FC27, FC28 but with no success. It gave exactly the same error.

Comment 2 Chris Caudle 2018-02-02 03:00:32 UTC
This is caused by a name change in how Mesa describes the AMD drivers, from containing Gallium in the name string to having AMD in the name string, which causes jogl to pick an incorrect profile for use.
This affects all java programs which use OpenGL via jogl in systems with AMD GPU.
I found the same problem on F27 with a different java program.

The upstream jogl bug report is here:
https://jogamp.org/bugzilla/show_bug.cgi?id=1357

It is fixed upstream in jogl 2.3.3, I recommend Fedora update the shipped version of jogl2 from 2.3.2 to 2.3.3.  I will be happy to test when the update packages goes into the updates-testing repository.

Comment 3 Chris Caudle 2018-02-02 16:34:52 UTC
Actually I see that the bug is marked "in progress" and 2.3.3 is not released yet, so I think this would have to be a 2.3.2-4 patched build for Fedora. The diff is shown  in the link above.

Comment 4 Chris Caudle 2018-02-02 17:15:31 UTC
I cannot get the jogl2 src RPM package to build without errors. I don't know all the fedora processes, is there a way to submit a build request for a package to see if it builds in the release infrastructure with the current versions of all the tools?  Since the current F27 package has fc27 in the name I assume that this was rebuilt for F27, so probably some tool update between first release and now is flagging an error in something that built OK with the older versions.
Can the jogl2 package maintainer get added to this bugzilla?  I don't know ant and maven, so I'm having trouble wading through the error messages to understand what is wrong.

Comment 5 Chris Caudle 2018-02-08 17:41:11 UTC
I found that jogl2-2.3.2-5.fc28.src.rpm from the rawhide repository will build on F27, so I am using that as the basis to create a patch.  I will base it on the simple one line change linked in that jogl bug report for now, although it appears there is still some discussion whether that is really the cleanest way to address or not.

Comment 6 Chris Caudle 2018-02-09 04:09:29 UTC
The attached patch (againstjogl2-2.3.2-5.fc28.src.rpm) corrected the problem with SciLab for me, although not with the proprietary ProtocaseDesigner package that has what seems like the same error.
Adds one additional case to the check to see whether the driver in use is Mesa based or not (copied directly from https://jogamp.org/bugzilla/show_bug.cgi?id=1357#c10 so some variant is expected to show up in the next jogl release).

Comment 7 Chris Caudle 2018-02-09 04:11:17 UTC
Created attachment 1393525 [details]
patch to detect mesa based driver in use with new AMD string

From https://jogamp.org/bugzilla/show_bug.cgi?id=1357#c10

Comment 8 Chris Caudle 2018-02-11 02:43:24 UTC
I finally realized that the reason the proprietary CAD program was still not working was because it shipped its own copy of jogl-all.jar and did not use the system library.  After I replaced the application copy with the library I built using the attached patch it also started working, so seems like a generally applicable patch as far as I can see.

Comment 9 A. Sergio Garay 2018-02-15 11:17:22 UTC
I have a pair of questions,

a)The comment 6 of Chris said there was an attached file (againstjogl2-2.3.2-5.fc28.src.rpm). Where can i find it?  

b)I am working on FC26, is there any chance to get the patch for this version? or Could you tell me how can i make my own patch for FC26.

Comment 10 Chris Caudle 2018-02-17 16:24:56 UTC
(In reply to A. Sergio Garay from comment #9)
> a)The comment 6 of Chris said there was an attached file
> (againstjogl2-2.3.2-5.fc28.src.rpm). Where can i find it?  

The attachment can be downloaded from the beginning of the bugzilla page:
https://bugzilla.redhat.com/attachment.cgi?id=1393525

> b)I am working on FC26, is there any chance to get the patch for this
> version? or Could you tell me how can i make my own patch for FC26.

The patch should still work on that version, I only built against the rawhide version because for some reason the src rpm of jogl2 will not build with F27 running the most recent updates, apparently there was a change in some of the tools that is not compatible with the original src rpm.
After you install the src rpm, edit the spec file to add the patch.  There are two places to edit, in the list of patches (was 6 in the version I used, may be a different number in the older version)
Patch6:         %{name}-mesa-profile-detection.patch

and then later there is a section where all the patches are actually applied, in that section add:
%patch6 -p1

Put jogl2-mesa-profile-detection.patch in the rpmbuild/SOURCES directory, run rpmbuild and it should apply the patch and create a new version for you.
You probably want to edit the "Release:" line at the top of the spec file so you can tell it apart from the fedora provided version.  I changed the release number to "6cc%{?dist}" in my file so that the version has "-6cc.fc27" in the name so I can easily tell if I have a version installed which I compiled or one directly from fedora.

Comment 11 A. Sergio Garay 2018-02-20 20:28:56 UTC
Thanks Chris, Scilab is working now with your patch! I thought that Geogebra (GeoGebra-Linux64-Portable-6-0-434-0) was working wrong due to the same problem, but it is still not showing 3D graphics. I do not know if its problem is related or not with jogl2. Have you tested Geogebra? This software is working perfectly in another PC with FC26, which has a nvidia videocard.

Comment 12 Chris Caudle 2018-02-20 21:39:52 UTC
> I thought that Geogebra GeoGebra-Linux64-Portable-6-0-434-0)
> was working wrong due to the same problem

I found a copy of that application, but I do not see any jar files in the zip file.
Are you sure it is a Java application which uses jogl for 3D graphics?

Comment 13 A. Sergio Garay 2018-02-21 10:54:46 UTC
Yes, you are right, there is not any jar file inside the program folder. But I found several references which indicate that at least GeoGebra 5 used java machine (https://help.geogebra.org/topic/can-t-run-geogebra-3d-portable-versions), but I am not sure about 6.

It is quite weird, because I can run the program online (https://www.geogebra.org/m/k7kQBPSy) perfectly inside Firefox, but when I use it inside Chrome, the 3D view looks very ugly. May be this hints can help you to understand why Geogebra 6 does not show 3D graphics at all in FC26.

Comment 14 A. Sergio Garay 2018-02-21 20:25:16 UTC
I found the answer in Geogebra page: 

Modify the file:

/GeoGebra-linux-x64/resources/app/main.js

Adding the line

app.commandLine.appendSwitch('ignore-gpu-blacklist', 'true');

after the line

const {app, BrowserWindow, Menu} = require('electron');

which is around line 24 in resources/app/main.js

This solved the problem in my FC26.

Comment 15 Chris Caudle 2018-03-11 22:45:02 UTC
Over a month and no comment from the Fedora/RH guys.  Are there just not that many users affected by this bug?

Comment 16 Chris Caudle 2018-04-06 15:47:05 UTC
So did jogl2-2.3.2-6.fc28 get this fix or not?

Comment 17 schwarzdrossel 2018-05-02 07:53:28 UTC
I got the same error with Maple2017, installed package is  jogl2.x86_64 2.3.2-6.fc28.
So this error still exist in fedora 28.

Comment 18 Fedora End Of Life 2018-05-03 08:21:07 UTC
This message is a reminder that Fedora 26 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 26. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '26'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 26 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 19 Chris Caudle 2018-05-03 14:21:30 UTC
The version of this bug should be updated to (at least) 27.  I have not looked at the latest source to see if it is fixed in F28 yet, may also apply there still since there has been no acknowledgement of the patch I provided against the F28 package from the rawhide repository three months ago.

Comment 20 Fedora End Of Life 2018-05-29 12:38:32 UTC
Fedora 26 changed to end-of-life (EOL) status on 2018-05-29. Fedora 26
is no longer maintained, which means that it will not receive any
further security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 21 Chris Caudle 2018-05-29 13:38:32 UTC
The package maintainer obviously never looked at this bugzilla, there are comments indicating that the problem exists in F27 and F28, but yet the report was still allowed to close as EOL for just F26.  I provided a patch that fixes this problem in February, but there is a comment from May indicating that this problem seems to still exist in the latest F28 package.

Comment 22 schwarzdrossel 2018-05-29 15:30:33 UTC
(In reply to schwarzdrossel from comment #17)
> I got the same error with Maple2017, installed package is  jogl2.x86_64
> 2.3.2-6.fc28.
> So this error still exist in fedora 28.

I made a Mistake.
Maple ships with his own version of jogl; In my case it's not the fault of the Maintainer.

I'm sorry.

Comment 23 Chris Caudle 2018-05-29 18:34:39 UTC
Whether or not the Maple problem was related, it is still the case that the problem existed in F27, so closing as F26-EOL is not appropriate.
I just downloaded the src rpm for F28, and the patch I provided is not included, the last change noted for the -6 version was just a rebuild to accomodate the change to new gcc and glibc version in F28.  CLOSED-EOL is not the appropriate state for this entry.

Comment 24 Clément DAVID 2018-06-05 07:49:43 UTC
Hello guys, sorry for not tracking this issue before. I merged this patch and launched the build on :

 * rawhide https://koji.fedoraproject.org/koji/buildinfo?buildID=1088916
 * f28 https://koji.fedoraproject.org/koji/buildinfo?buildID=1088917
 * f27 https://koji.fedoraproject.org/koji/buildinfo?buildID=1088918

I am no longer a daily user of this package, if you wish to maintain I would happily set you as an admin.

Comment 25 Fedora Update System 2018-07-11 08:32:19 UTC
jogl2-2.3.2-7.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-dff66b7292

Comment 26 Fedora Update System 2018-07-11 08:32:30 UTC
jogl2-2.3.2-7.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-9a9d5ed0d5

Comment 27 Fedora Update System 2018-07-11 19:19:02 UTC
jogl2-2.3.2-7.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-9a9d5ed0d5

Comment 28 Fedora Update System 2018-07-11 23:44:31 UTC
jogl2-2.3.2-7.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-dff66b7292

Comment 29 Chris Caudle 2018-07-20 01:37:17 UTC
Corrects the originally reported problem with SciLab.  I marked positive feedback on the bodhi page.

Comment 30 Fedora Update System 2018-07-20 16:58:32 UTC
jogl2-2.3.2-7.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.

Comment 31 Fedora Update System 2018-07-20 17:43:11 UTC
jogl2-2.3.2-7.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.