bugGNU Octave - Bugs: bug #65622, contour3: Octave crashes when...

 
 

bug #65622: contour3: Octave crashes when rotating plot with "showtext" on with System OpenGL driver

Submitter:  None
Submitted:  Sun 21 Apr 2024 04:44:30 PM UTC
   
 
Category:  Plotting Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Segfault, Bus Error, etc.
Status:  Confirmed Assigned to:  None
Originator Name:  Originator Email:  -email is unavailable-
Open/Closed:  * Open Release:  * 9.1.0
Operating System:  * Microsoft Windows Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Wed 08 May 2024 10:26:02 AM UTC, comment #19: 

Hello, and thank you to the community for supporting such an important software as GNU Octave.

I am a user of GNU Octave and a lecturer at the university, where I am trying to teach students to use this free software in their engineering practice. Therefore, for me as a user, it is most important to have stable performance on any computer, and especially on laptops.

However, there are people who are professional programmers and can create new versions of Octave, fix bugs in the code, and for them it is of most importance to provide users with flexibility and fast rendering of graphics.

In my opinion, the better choice is to include a small message in the installer options explaining the pros and cons of Software OpenGL and System OpenGL (as well as the same for the BLAS library implementation), just give more information than now. I believe this is not a difficult task, but the improvement is significant: users will know, for example, that Intel HD graphics may cause problems, and they will have the option to choose a slower but more stable software renderer (and switch between renderers at any time if desired) based on the information and explanation provided during the installation process.

Because I myself (and it may be due to my own lack of knowledge) only became aware of the difference between Software OpenGL and System OpenGL, and the possibility to switch between them after installation, after experiencing several crashes and only finding out about it on this forum.


комментарий №11:

> It is possible that Octave is doing something wrong somewhere. But  the issues seem to be limited to Intel graphics. (At least, that's what I gathered from the reports we got during the last year or so.) So, it is also possible that the issue is with the OpenGL implementation that is vendored by Intel.
> Software rendering can be multiple orders of magnitudes slower for some complex scenes than hardware rendering. In my strong opinion, we shouldn't let all users suffer from potential deficiencies in probably only some vendored OpenGL implementations.
> Additionally, we got reports from some users for which the software OpenGL libraries caused crashes. That is another strong reason for not defaulting to software OpenGL imho.
>
> All in all, we shouldn't change the default for the Windows installer to software OpenGL in my opinion.
>

Ilya <ilya_kubasov>
Tue 07 May 2024 07:24:27 PM UTC, comment #18: 

correction on comment #16, i had the settings backwords on my crash test. that older system with Intel HD graphics suffers from the same issue.

Nicholas Jankowski <nrjank>
Group Member
Sat 27 Apr 2024 06:35:50 PM UTC, comment #17: 

(Thanks Dmitri, + nomarkup+  _opengl_info_ was the command I referenced in comment #4 as forgotten by me :-) )

> What do you get for:

There you go:

>> __opengl_info__.vendor
ans = NVIDIA Corporation
>> __opengl_info__.renderer
ans = GeForce 210/PCIe/SSE2
>> __opengl_info__.version
ans = 3.3.0
>>

It makes sense as the old Geoforce card is attached to the primary monitor.

Philip Nienhuis <philipnienhuis>
Group Member
Fri 26 Apr 2024 09:02:47 PM UTC, comment #16: 

and on my older system without this issue:


>> __opengl_info__.vendor
ans = Intel
>> __opengl_info__.renderer
ans = Intel(R) HD Graphics 4600
>> __opengl_info__.version
ans = 4.3.0 - Build 20.19.15.5063


Nicholas Jankowski <nrjank>
Group Member
Fri 26 Apr 2024 08:58:53 PM UTC, comment #15: 

on my system with issues that also has dual intel/nvidia chips

>> __opengl_info__.vendor
ans = Intel
>> __opengl_info__.renderer
ans = Intel(R) Iris(R) Xe Graphics
>> __opengl_info__.version
ans = 4.6.0 - Build 31.0.101.5333


Nicholas Jankowski <nrjank>
Group Member
Fri 26 Apr 2024 08:25:49 PM UTC, comment #14: 


comment #13:

> Then again, my desktop has 2 graphics cards, an Intel and an old NVidia, each attached to a single monitor. You'd wonder how that would behave ... (up til now I never had any issues with HW OpenGL).


What do you get for:

octave:2> __opengl_info__.vendor
ans = NVIDIA Corporation
octave:3> __opengl_info__.renderer
ans = NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2
octave:4> __opengl_info__.version
ans = 4.6.0 NVIDIA 550.54.15


?

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Fri 26 Apr 2024 08:17:11 PM UTC, comment #13: 

So, would it be possible for the NSIS installer to detect Intel graphics and set the OpenGL variant to the appropriate default? We might catch the majority of cases there.

Then again, my desktop has 2 graphics cards, an Intel and an old NVidia, each attached to a single monitor. You'd wonder how that would behave ... (up til now I never had any issues with HW OpenGL).

Philip Nienhuis <philipnienhuis>
Group Member
Fri 26 Apr 2024 01:57:56 PM UTC, comment #12: 

good points.  I was trying to remember what those counter cases were. The only one i could recall was specific to the 32bit windows builds, which we have more-or-less stopped support on.

Nicholas Jankowski <nrjank>
Group Member
Fri 26 Apr 2024 06:20:02 AM UTC, comment #11: 

It is possible that Octave is doing something wrong somewhere. But  the issues seem to be limited to Intel graphics. (At least, that's what I gathered from the reports we got during the last year or so.) So, it is also possible that the issue is with the OpenGL implementation that is vendored by Intel.
Software rendering can be multiple orders of magnitudes slower for some complex scenes than hardware rendering. In my strong opinion, we shouldn't let all users suffer from potential deficiencies in probably only some vendored OpenGL implementations.
Additionally, we got reports from some users for which the software OpenGL libraries caused crashes. That is another strong reason for not defaulting to software OpenGL imho.

All in all, we shouldn't change the default for the Windows installer to software OpenGL in my opinion.

Markus Mützel <mmuetzel>
Group administrator
Thu 25 Apr 2024 08:21:52 PM UTC, comment #10: 

The HW issues I am having myself and seeing in other reports are with Intel HW driver. I have a laptop with Nvidia/Intel hybrid
graphycs and when I "convince" (that seems to be not a very straightforward procedure) windows to use Nvidia ("aka "High-Performance Graphics") for octave it works fine.
I also have an old laptop with AMD graphics and it works fine.

Dmitri.
--


Dmitri A. Sergatskov <dasergatskov>
Thu 25 Apr 2024 08:08:38 PM UTC, comment #9: 

As far as i remember SW driver was default prior to 7.1 release.
During the 7.1 release there were issues with SW driver
(may be this one
https://octave.discourse.group/t/installed-7-1-0-on-win-10-with-installer-plots-dont-display/2536/16
I remember there were other threads, but cannot find them on discorse, perhaps they were on bug list) which made Markus to switch to HW driver by default since the issues with SW were deemed more severe (like octave crashing vs plot not showing).

For the record -- I think we should make SW driver the default
and keep SW/HW switcher as a backup option.

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Thu 25 Apr 2024 07:58:42 PM UTC, comment #8: 


> But it can be argued that most if not all other SW on affected systems work fine, so why not Octave?


that's been my only other concern as well, looking through similar crashes just with system drivers and e.g., printing to svg.  if other opengl implantations aren't having problems, are we sure we're not implementing something incorrectly where the software opengl drivers are more forgiving in some way? or is it' as suggested before, that the software driver is 'correct' and the hardware drivers causing problems are the ones with something incorrectly implemented? 

in any case, with the scarcity of core developers able to troublehshoot deep windows issues, I would propose we consider removing the option to select hardware drivers.  install by default with software drivers in place. if a user wants to opt to use hardware drivers, they can manually seek out the procedure to do so.

Nicholas Jankowski <nrjank>
Group Member
Thu 25 Apr 2024 07:53:31 PM UTC, comment #7: 

To me the problem here looks to be that is seems to depend on system HW and SW.  But it can be argued that most if not all other SW on affected systems work fine, so why not Octave?

But we did supply a SW OpenGL 'driver' for Octave, even set as default in the Windows installers, that should and AFAIK does circumvent these issues.
Should we more firmly discourage use of 'System OpenGL'?

Philip Nienhuis <philipnienhuis>
Group Member
Tue 23 Apr 2024 10:43:54 PM UTC, comment #6: 

I can confirm, that the issue depends on graphic card or system. There is no problem with my relatively new desktop with Windows 10 and NVIDIA RTX 3070 Ti  with 31.0.15.2849 GPU driver (both with System OpenGL and Software OpenGL),
but
the issue occurs with old laptop having Windows 11, Intel HD graphics with 31.0.101.1999 driver only with System OpenGL.

Ilya <ilya_kubasov>
Tue 23 Apr 2024 07:10:18 PM UTC, comment #5: 

i don't use the exe installer, but the zip/7z archives have the software rendering .dll in place

Nicholas Jankowski <nrjank>
Group Member
Tue 23 Apr 2024 05:54:39 PM UTC, comment #4: 

@nrjank:
Yeah that's typical for these OpenGL issues.

ISTR there's a command (in- or outside Octave, I forgot) to check the OpenGL version. But then again drivers from different manufacturers for the same HW OpenGL version might support different collections of functions. Windows itself can also be in the middle and usually supports just a very old and limited OpenGL version.

I forgot but does the Windows installer choose SW-based rendering by default?

Philip Nienhuis <philipnienhuis>
Group Member
Mon 22 Apr 2024 10:50:51 PM UTC, comment #3: 

forgot to add, I can reproduce this on some systems but not others.  both an old laptop and an aging desktop with Intel HD Graphics 4600 works just fine.   A newer system with both Intel Iris Xe Graphics, driver version 31.0.101.5333 and NVIDIA T550 GPU driver version 30.0.15.1236 crashes.

Nicholas Jankowski <nrjank>
Group Member
Mon 22 Apr 2024 07:44:57 PM UTC, comment #2: 

I can confirm on windows 10 with v9.1.0 that it works fine with the software OpenGL driver but results in a hard crash to desktop when using the System OpenGL driver.  updating status and summary.

Nicholas Jankowski <nrjank>
Group Member
Sun 21 Apr 2024 09:38:59 PM UTC, comment #1: 

Have you tried to set OpenGL to SW-based? there is a utility to switch between HW- and SW-based rendering: OpenGL Switcher in the Start Menu in Octave's directory.

Philip Nienhuis <philipnienhuis>
Group Member
Sun 21 Apr 2024 04:44:30 PM UTC, original submission:  

I have this crush always when try to rotate the 3D contour plot in its figure window.

The issue occurs only if the contour labels are shown by setting the ShowText property to 'on'.

An example of script causing this crash:

b1_vect=2:0.1:5;
b2_vect=2:0.1:5;
[B1, B2]=meshgrid(b1_vect,b2_vect);
sigma=B1.*exp(-B2)
contour3(B1, B2, sigma, 40, 'ShowText', 'on');


When contour3() is used without the option 'ShowText', there is no problem, graph can be rotated in its window. E.g. the line

contour3(B1, B2, sigma, 40, 'ShowText', 'on');

works well. Therefore, if the 3D contour plot is drawn this way, one can rotate it.

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by mmuetzel (Posted a comment)
  • -email is unavailable- added by dasergatskov (Posted a comment)
  • -email is unavailable- added by ilya_kubasov (Posted a comment)
  • -email is unavailable- added by nrjank (Posted a comment)
  • -email is unavailable- added by None (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2024-04-22 nrjank Item GroupOther Segfault, Bus Error, etc.
    2024-04-22 nrjank StatusNone Confirmed
        Summarycontour3 function: Octave crashes when try to rotate 3D contour plot in figure window contour3: Octave crashes when rotating plot with "showtext" on with System OpenGL driver

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code