bugGNU Octave - Bugs: bug #44621, Segfault with clf.m test

 
 

bug #44621: Segfault with clf.m test

Submitter:  Guillaume <gyom>
Submitted:  Tue 24 Mar 2015 05:02:58 PM UTC
   
 
Category:  Plotting with OpenGL Severity:  4 - Important
Priority:  5 - Normal Item Group:  Segfault, Bus Error, etc.
Status:  Fixed Assigned to:  None
Originator Name:  Guillaume Open/Closed:  * Closed
Release:  * dev Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Mon 30 Mar 2015 11:45:48 AM UTC, comment #8: 

It is maybe this cset that solved your issue: http://hg.savannah.gnu.org/hgweb/octave/rev/3f461c2b990e

The reset operation used to reset the graphics toolkit even if the default was the same as the current toolkit. It lead to useless (and maybe armful) finalization/initialization of the figure.

Pantxo Diribarne <pantxo>
Group Member
Mon 30 Mar 2015 11:17:16 AM UTC, comment #7: 

After updating to latest version available in the meantime (185e8dbdaa40) and recompiling, I don't observe the error anymore:


Summary:

  PASS     12886
  FAIL         0
  XFAIL       14
  SKIPPED     84


so I don't know which changeset solved the issue but you can now close this bug report as fixed.

Thanks.

Guillaume <gyom>
Fri 27 Mar 2015 09:47:42 PM UTC, comment #6: 

Just to add that, in order to see the error messages, I was using the '--no-gui' flag and it appears that Octave hangs and segfault with it as reported in my previous post (even without doing anything in Octave) while it exits without problem when using the GUI.

Guillaume <gyom>
Fri 27 Mar 2015 09:43:01 PM UTC, comment #5: 

Sorry for the slow reply but am away from the VM where I observed the segfault.
In the meantime, I build another VM (openSUSE 13.2 and VirtualBox (was using VMware earlier)) and hopefully it gives more insights of what is going on:

  • test("clf") still returns a segfault:


>> test clf
libGL error: pci id for fd 16: 80ee:beef, driver (null)
OpenGL Warning: Failed to connect to host. Make sure 3D acceleration is enabled for this VM.
libGL error: core dri or dri2 extension not found
libGL error: failed to load driver: vboxvideo
panic: Segmentation fault -- stopping myself...
Segmentation fault


  • I also tried this:


>> graphics_toolkit fltk
>> hf = figure ("visible", "off"); reset (hf); close (hf);
libGL error: pci id for fd 17: 80ee:beef, driver (null)
OpenGL Warning: Failed to connect to host. Make sure 3D acceleration is enabled for this VM.
libGL error: core dri or dri2 extension not found
libGL error: failed to load driver: vboxvideo
>> exit

^Cpanic: Segmentation fault -- stopping myself...


  • And this where it also doesn't segfault straight away but at exit:


>> test graphics.cc-tst
libGL error: pci id for fd 16: 80ee:beef, driver (null)
OpenGL Warning: Failed to connect to host. Make sure 3D acceleration is enabled for this VM.
libGL error: core dri or dri2 extension not found
libGL error: failed to load driver: vboxvideo
PASSES 37 out of 37 tests
>> test graphics.cc-tst
PASSES 37 out of 37 tests
>> exit

^Cpanic: Segmentation fault -- stopping myself...
attempting to save variables to 'octave-workspace'...
*** Error in `/home/octave/.build/src/.libs/octave-gui': corrupted double-linked list: 0x00007fb0649983e0 ***
panic: attempted clean up apparently failed -- aborting...
Aborted


I'd be happy to provide a gdb backtrace but I would indeed need further instructions to do so.

I don't remember seeing any libGL errors when using a VMware VM instead of VirtualBox so this is not necessarily directly related to my initial report.

Guillaume <gyom>
Thu 26 Mar 2015 11:42:38 AM UTC, comment #4: 

@Mike: Is there a central place where we can get instructions on how to produce a gdb backtrace. On linux, I currently generally install octave and then run gdb on the installed octave-gui binary. This produces backtraces that only show the GUI thread calls, not the interpreter. We thus can't see how the two threads at play may interact/interfere.
Is there a simpler and more general way to have a full backtrace?

Pantxo Diribarne <pantxo>
Group Member
Thu 26 Mar 2015 02:23:55 AM UTC, comment #3: 

This curiously looks a lot like bug #44328, segfault in Qt toolkit, which we are only seeing on certain systems. It would be very helpful if you could confirm that the error you're seeing is the same or related and help us find the cause.

A few more questions:

  • You see a segfault with "test clf", do you also see one with "test graphics.cc-tst"?


  • Do any of the examples I give in bug #44328 segfault for you, e.g.



hf = figure ("visible", "off"); reset (hf); close (hf);


  • Can you provide a gdb backtrace of the segfault?
Mike Miller <mtmiller>
Group Member
Wed 25 Mar 2015 09:01:49 AM UTC, comment #2: 

Yes, the segfault also occurs from within octave with test("clf") with 100% reproducibility (just created a VM with openSUSE 13.2 and all the packages required to compile Octave).
The segfault occurs when running the third test script from that function - it does not necessarily crash if I run the script line by line.
I'll test again later with fltk and let you know.

Guillaume <gyom>
Tue 24 Mar 2015 09:03:05 PM UTC, comment #1: 

Thanks for your bug report. I am not able to reproduce but we currently see erratic segfaults with Qt toolkit. Does the segfault also occur if you run the test from octave ('test ("clf")')?
If so : Does it also occur using fltk tookit? Can you debug using something like this:


dbstop ("clf", 74);
plot (1:10)
clf (gcf, "reset")
## then dbstep to see if/where the segfault happens


Pantxo Diribarne <pantxo>
Group Member
Tue 24 Mar 2015 05:02:58 PM UTC, original submission:  

When running 'make check' on freshly compiled Octave (ed53c87050e8), there is a segfault when testing clf.m:

  scripts/plot/util/clf.m .....................................panic: Segmentation fault -- stopping myself...
octave exited with signal 11

It occurs during the third test within the function.
This is on an up-to-date OpenSUSE 13.2 - let me know if it's a know issue or if there's any extra information that I should provide.

Guillaume <gyom>

 

(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 mtmiller (Posted a comment)
  • -email is unavailable- added by pantxo (Posted a comment)
  • -email is unavailable- added by gyom (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 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-03-30 pantxo StatusNeed Info Fixed
        Open/ClosedOpen Closed
    2015-03-26 mtmiller CategoryNone Plotting with OpenGL
        Severity3 - Normal 4 - Important
        StatusNone Need Info

    Back to the top

    Powered by Savane 3.14-79a4.
    Corresponding source code