bugGNU Octave - Bugs: bug #46675, failing test...

 
 

bug #46675: failing test __osmesa_print__.cc-tst

Submitter:  Hartmut <hardy>
Submitted:  Sat 12 Dec 2015 05:06:44 PM UTC
   
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Works For Me Assigned to:  None
Originator Name:  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

Sat 10 Sep 2016 02:49:10 PM UTC, comment #15: 

Just for the records:

With Octave version 4.2.0-rc1 the number of failing tests for this reason (on Ubuntu 14.04 systems with buggy osmesa) increased from 2 to 4 failing tests. The reason seems to be that the new function "publish" also has two tests that rely on osmesa.

Hartmut <hardy>
Fri 29 Apr 2016 09:41:28 PM UTC, comment #14: 

I concur that this is not really an Octave bug and nothing can be done in Octave to work around it anyway. Closing a bug does not delete it, we can still refer to the discussion here later.

Mike Miller <mtmiller>
Group Member
Tue 01 Mar 2016 10:55:32 PM UTC, comment #13: 

FYI, I'm running Kubuntu 15.10 with  MESA 11.0.2 and all tests pass.  Should this bug be closed as not an Octave bug?

Rik <rik5>
Group administrator
Mon 14 Dec 2015 06:09:51 PM UTC, comment #12: 

FTR, here's the result of _osmesa_print_.cc test on Magei-5 64b Linux:

>>>>> processing /home/philip/devel/octdev/4.1.0+/libinterp/dldfcn/__osmesa_print__.cc-tst
***** testif HAVE_OSMESA, HAVE_GL2PS_H
 if (isunix ())
   h = figure ("visible", "off");
   fn = tempname ();
   sombrero ();
   __osmesa_print__ (h, fn, "svg");
   assert (stat (fn).size, 2692270, -0.1);
   unlink (fn);
   img = __osmesa_print__ (h);
   assert (size (img), [get(h, "position")([4, 3]), 3])
   ## Use pixel sum per RGB channel as fingerprint
   img_fp = squeeze (sum (sum (img), 2));
   assert (img_fp, [52942515; 54167797; 56158178], -0.05);
 endif
!!!!! test failed
ASSERT errors for:  assert (stat (fn).size,2692270,-0.1)

  Location  |  Observed  |  Expected  |  Reason
     ()          2921       2692270      Rel err 0.99892 exceeds tol 0.1
***** testif HAVE_OSMESA, HAVE_GL2PS_H
 if (isunix ())
   h = figure ("visible", "off");
   fn = tempname ();
   plot (sin (0:0.1:2*pi));
   __osmesa_print__ (h, fn, "svgis2d");
   assert (stat (fn).size, 7438, -0.1);
   unlink (fn);
   img = __osmesa_print__ (h);
   assert (size (img), [get(h, "position")([4, 3]), 3])
   ## Use pixel sum per RGB channel as fingerprint
   img_fp = squeeze (sum (sum (img), 2));
   assert (img_fp, [59281711; 59281711; 59482179], -0.05);
 endif
!!!!! test failed
ASSERT errors for:  assert (stat (fn).size,7438,-0.1)

  Location  |  Observed  |  Expected  |  Reason
     ()          2243         7438       Rel err 0.69844 exceeds tol 0.1


Philip Nienhuis <philipnienhuis>
Group Member
Sun 13 Dec 2015 11:15:15 PM UTC, comment #11: 

And I can confirm that the Ubuntu package version 10.1.3-0ubuntu0.5 causes this error.

Downgrading all mesa packages to version 10.1.3-0ubuntu0.4 allows the test work again.

I do not know much about osmesa at all, but this packaging change is what is introducing this error. The packaging change made was "Build osmesa separately and without using shared glapi again. (LP: #1424059)" Translation is that osmesa is built with its own embedded copy of libGL instead of sharing the system libGL, which Octave also links to.

The bug report referenced in the change message is here: https://bugs.launchpad.net/ubuntu/trusty/+source/mesa/+bug/1424059

I participated in some of the discussions and testing about this change, so I know what the intent was, but this fix does not seem to be helping Octave.

Mike Miller <mtmiller>
Group Member
Sun 13 Dec 2015 10:54:30 PM UTC, comment #10: 

I can now confirm this on a freshly built Ubuntu 14.04 VM.

Mike Miller <mtmiller>
Group Member
Sun 13 Dec 2015 08:19:13 PM UTC, comment #9: 

Retagging since this is not an Octave regression, but an OS regression, and it is not specific to 4.0.1rc1.

Mike Miller <mtmiller>
Group Member
Sun 13 Dec 2015 08:18:28 PM UTC, comment #8: 

They are related, but not the same bug.

Bug #44467 was an invalid system configuration, overlinking of libraries due to OpenSUSE packaging error.

Bug #44478 is due to the Nvidia libGL replacement library and related video drivers.

This bug is about osmesa failing on an updated Ubuntu 14.04 system after it worked previously, not using the Nvidia drivers, but due to some system library change, possibly because osmesa is now being built with its own internal copy of libGL.

Mike Miller <mtmiller>
Group Member
Sun 13 Dec 2015 06:00:21 PM UTC, comment #7: 
Juan Pablo Carbajal <juanpi>
Group Member
Sun 13 Dec 2015 11:56:03 AM UTC, comment #6: 

You were right with your suspicion, Mike: When I compile the Octave 4.0.0 release tarball TODAY (very same laptop, same commands to compile, new folder for all files), then I also get two failing tests:

PASS 12878
FAIL     2
XFAIL   14
SKIPPED 62

And the origin of the two failing tests is also _osmesa_print_.cc-tst :

>>>>> processing /opt/octave-4.0.0_v2/libinterp/dldfcn/__osmesa_print__.cc-tst
***** testif HAVE_OSMESA, HAVE_GL2PS_H
 if (isunix ())
   h = figure ("visible", "off");
   fn = tempname ();
   sombrero ();
   __osmesa_print__ (h, fn, "svg");
   assert (stat (fn).size, 2692270, -0.1);
   unlink (fn);
   img = __osmesa_print__ (h);
   assert (size (img), [get(h, "position")([4, 3]), 3])
   ## Use pixel sum per RGB channel as fingerprint
   img_fp = squeeze (sum (sum (img), 2));
   assert (img_fp, [52942515; 54167797; 56158178], -0.05);
 endif
!!!!! test failed
__osmesa_print__: Depth and stencil doesn't match, are you sure you are using OSMesa >= 9.0?
***** testif HAVE_OSMESA, HAVE_GL2PS_H
 if (isunix ())
   h = figure ("visible", "off");
   fn = tempname ();
   plot (sin (0:0.1:2*pi));
   __osmesa_print__ (h, fn, "svgis2d");
   assert (stat (fn).size, 7438, -0.1);
   unlink (fn);
   img = __osmesa_print__ (h);
   assert (size (img), [get(h, "position")([4, 3]), 3])
   ## Use pixel sum per RGB channel as fingerprint
   img_fp = squeeze (sum (sum (img), 2));
   assert (img_fp, [59281711; 59281711; 59482179], -0.05);
 endif
!!!!! test failed
__osmesa_print__: Depth and stencil doesn't match, are you sure you are using OSMesa >= 9.0?


So it seems to me that something (unintentionally) changed on my Ubuntu 14.04 system that now makes those osmesa tests fail.

The sucessful compilation of Octave 4.0.0 on my laptop was on June 9, 2015.

Can I provide any other useful information about my system, to help resolve this issue?

Hartmut <hardy>
Sat 12 Dec 2015 10:30:16 PM UTC, comment #5: 

Understood, I would prefer to investigate specifically Ubuntu 14.04 for now, because I think there's something very specific going on there. It should be fairly similar to 15.10 and to Debian, but this different result has started showing up, and I think it's due to a recent change in the OS rather than Octave.

Mike Miller <mtmiller>
Group Member
Sat 12 Dec 2015 10:22:45 PM UTC, comment #4: 

@ Mike comment #1:
Not just Ubuntu 14.04. This same "make check" FAIL has happened since several weeks if not months on my Mageia 5 system as well, both with dev Octave as 4.0.1.
I figured it was just due to my local system setup so didn't bother to report or investigate. I run Octave primarily on Windows systems; as far as regards Octave, Linux is just my (cross-) build system, and on Windows this FAIL doesn't occur when running __run_test_suite__.m

Philip Nienhuis <philipnienhuis>
Group Member
Sat 12 Dec 2015 07:01:57 PM UTC, comment #3: 

Yes, please do try to compile 4.0.0 on the same system now so we can see if it's actually an Octave regression or a system library regression.

Mike Miller <mtmiller>
Group Member
Sat 12 Dec 2015 06:56:06 PM UTC, comment #2: 

I am not quite sure if I installed any hwe upgrades on my current Ubuntu 14.04 system. Maybe someone can tell from those informations: My current linux kernel package is "linux-generic 3.13.0.71.77" and my current Xorg package is "xorg 1:7.7+1ubuntu8.1".

Yes, with this very same laptop I was able to compile the sources of the Octave 4.0.0 release at that time. (I had failing tests only with the early release candidates of 4.0.0, see other bug report, but those were in no way connected to osmesa. Those failing tests where only connected to the german locale on my system.) I am not 100% sure if I could compile the 4.0.0 release sources without any failing tests TODAY with my current setup (some things might have changed, not intentionally though). But if this would be a useful information, I could try this, just let me know.

Hartmut <hardy>
Sat 12 Dec 2015 05:14:53 PM UTC, comment #1: 

I have seen this mentioned by others before, thanks for reporting it as a bug we can keep track of.

As far as I can tell everyone who has run across this is running Ubuntu 14.04, and it does not affect 15.10 users for example.

I have been unable to reproduce it yet by building and running Octave in an Ubuntu container or VM (can't remember which I have tried at the moment).

Do you have the HWE kernel and X.org packages installed? See https://wiki.ubuntu.com/Kernel/LTSEnablementStack.

There was a recent change to the libosmesa6 packages in the Ubuntu 14.04 branch only to build them without linking against the system libGL, which may be partially to blame for this error, but like I said I have been unable to reproduce it yet.

Marking as confirmed since it affects other people (Doug can confirm).

I do not this this is specific to 4.0.1rc1, though, and I wouldn't call it a regression. Or are you saying that you can build 4.0.0 and "make check" runs fine, while 4.0.1rc1 does not?

Mike Miller <mtmiller>
Group Member
Sat 12 Dec 2015 05:06:44 PM UTC, original submission:  

When I compile the new release candidate 4.0.1-rc1  of Octave on my Ubuntu 14.04 machine, I get two failing tests from _osmesa_print_.cc-tst . I am not quite sure if this is a dublicate of bug #44338 , that's why I opened a new issue.

Here is what I did in more detail:

cd /opt/octave-4.0.1-rc1/
export JAVA_HOME=/usr/lib/jvm/default-java
./configure
make
make check


The result of make check is:
PASS   12930
FAIL       2
XFAIL     14
SKIPPED   62

And the details in fntests.log are:

>>>>> processing /opt/octave-4.0.1-rc1/libinterp/dldfcn/__osmesa_print__.cc-tst
***** testif HAVE_OSMESA, HAVE_GL2PS_H
 if (isunix ())
   h = figure ("visible", "off");
   fn = tempname ();
   sombrero ();
   __osmesa_print__ (h, fn, "svg");
   assert (stat (fn).size, 2692270, -0.1);
   unlink (fn);
   img = __osmesa_print__ (h);
   assert (size (img), [get(h, "position")([4, 3]), 3])
   ## Use pixel sum per RGB channel as fingerprint
   img_fp = squeeze (sum (sum (img), 2));
   assert (img_fp, [52942515; 54167797; 56158178], -0.05);
 endif
!!!!! test failed
__osmesa_print__: Depth and stencil doesn't match, are you sure you are using OSMesa >= 9.0?
***** testif HAVE_OSMESA, HAVE_GL2PS_H
 if (isunix ())
   h = figure ("visible", "off");
   fn = tempname ();
   plot (sin (0:0.1:2*pi));
   __osmesa_print__ (h, fn, "svgis2d");
   assert (stat (fn).size, 7438, -0.1);
   unlink (fn);
   img = __osmesa_print__ (h);
   assert (size (img), [get(h, "position")([4, 3]), 3])
   ## Use pixel sum per RGB channel as fingerprint
   img_fp = squeeze (sum (sum (img), 2));
   assert (img_fp, [59281711; 59281711; 59482179], -0.05);
 endif
!!!!! test failed
__osmesa_print__: Depth and stencil doesn't match, are you sure you are using OSMesa >= 9.0?


some notes:

  • I have libosmesa6 installed, in version 10.1.3-0ubuntu0.5 from the Ubuntu repositories for Ubuntu 14.04.
  • when I do "export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGL.so" and then "make", then I get the very same failing tests
  • I have seen no crashes at all, only failing tests. Doing "test _osmesa_print_.cc-tst" inside of Octave does not crash either.
  • This is a laptop with inbuilt Intel graphics. No NVidea graphics card. No propietary graphics drivers (as far as I know).


Anything more you need to know?

Hartmut <hardy>

 

(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

Digest:
   bug dependencies.

 

Carbon-Copy List
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by juanpi (Posted a comment)
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by hardy (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 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-04-29 mtmiller StatusConfirmed Works For Me
        Open/ClosedOpen Closed
    2016-01-21 mtmiller Dependencies- bugs #46923 is dependent
    2015-12-13 mtmiller Item GroupRegression Incorrect Result
        Release4.0.1-rc1 dev
    2015-12-12 mtmiller StatusNone Confirmed

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code