bugGNU Octave - Bugs: bug #44469, crash on make check in...

 
 

bug #44469: crash on make check in graphics.cc-tst (Ubuntu)

Submitter:  Hartmut <hardy>
Submitted:  Sat 07 Mar 2015 01:59:08 PM UTC
   
 
Category:  GUI Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Segfault, Bus Error, etc.
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * 4.0.0 Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Tue 02 Jun 2015 04:37:01 PM UTC, comment #20: 

Retagging release from 4.0.0-rc1 to 4.0.0.

John W. Eaton <jwe>
Group administrator
Wed 18 Mar 2015 07:47:13 AM UTC, comment #19: 

Same thing for me : the problem is fixed by Rik's patch.

Thanks a lot.

Julien Bect <jbect>
Wed 18 Mar 2015 02:20:54 AM UTC, comment #18: 

Rik pushed this to the default branch, should be fixed now.

http://hg.savannah.gnu.org/hgweb/octave/rev/e75a0fe1eee2

Mike Miller <mtmiller>
Group Member
Mon 16 Mar 2015 10:59:22 PM UTC, comment #17: 

Same here: the patch resolves the problem on Ubuntu 14.04.2 with German locale.

David Rörich <davidr>
Mon 16 Mar 2015 09:37:16 PM UTC, comment #16: 

I've applied Rik's patch, compiled and run "make check". If I do this on my machine (german Ubuntu 14.04) as a normal non-root user I get NO crash, and a "perfect" result: PASS 12836, FAIL 0, XFAIL 14, SKIPPED 62. So this patchs seems to fully fix the problem for me.

To double check, I've also run "sudo make check". As root I do get one fail then, in system.tst. But I cannot judge if this is a problem, because I've never done the tests as superuser before.


Hartmut <hardy>
Mon 16 Mar 2015 06:57:21 PM UTC, comment #15: 

Thanks for testing.  Can you apply the patch LC.cset that I am attaching to this report and then run 'make' and 'make check'?

The patch merely embeds the two setenv function calls from the command line in C++ so that they are invisible to the user.

Instructions:


cd octave_tar_ball_source_directory
patch -p1 < LC.cset
make
make check



(file #33364)

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

I get the following result on my machine (german Ubuntu 14.04, as normal non-root user) when I run the tests from inside Octave as described by Rik, including the two setenv commands:


  PASS     12836
  FAIL         0
  XFAIL       14
  SKIPPED     62


So no crash here. This is the identical result I got when I change the two language parameters outside Octave and run "make check" (still as normal non-root user).

Once I skip the two setenv commands from Rik's little script, then I do get the very same crash as before on my machine. The last lines are:


  ...

  libinterp/corefcn/find.cc-tst ............................... PASS     16/16
  libinterp/corefcn/gammainc.cc-tst ........................... PASS      4/4
  libinterp/corefcn/gcd.cc-tst ................................ PASS      9/9
  libinterp/corefcn/givens.cc-tst ............................. PASS      6/6
  libinterp/corefcn/graphics.cc-tst ............................./../libinterp/parse-tree/lex.ll:2697: void octave_base_lexer::handle_number(): Zusicherung »nread == 1« nicht erfüllt.
panic: Abgebrochen -- stopping myself...
Abgebrochen (Speicherabzug geschrieben)


Hartmut <hardy>
Mon 16 Mar 2015 03:57:54 PM UTC, comment #13: 

Octave specifically sets certain locale settings on startup in the file octave.cc.


octave_initialize_interpreter (int argc, char **argv, int embedded)
{
  // Matlab uses "C" locale for LC_NUMERIC class regardless of local setting
  setlocale (LC_NUMERIC, "C");
  setlocale (LC_TIME, "C");


It is possible, however, that these are being overridden somehow at a later point in time.

Could one of the reporters execute the following in their normal (failing) environment?


./run-octave -f --no-gui
setenv ("LC_NUMERIC", "C");
setenv ("LC_TIME", "C");
__run_test_suite__




Rik <rik5>
Group administrator
Sun 15 Mar 2015 02:34:27 PM UTC, comment #12: 

Sorry, the last bullet point should read "With LANG=en_US.UTF-8, as root..."

David Rörich <davidr>
Sun 15 Mar 2015 02:28:51 PM UTC, comment #11: 

Just to confirm this: I see the same behaviour on my machine when running make check.

OS: Ubuntu 14.04.2 LTS, 32 bit

  • With system locale (LANG="de_DE.UTF-8"), as normal user, crashes:



.build/libinterp/corefcn/graphics.cc-tst ....................../../libinterp/parse-tree/lex.ll:2698: void octave_base_lexer::handle_number(): Zusicherung »nread == 1« nicht erfüllt.
panic: Abgebrochen -- stopping myself...
octave exited with signal 6


  • With system locale (LANG="de_DE.UTF-8"), as root, crashes:



.build/libinterp/corefcn/graphics.cc-tst ....................*�I: ../../libinterp/parse-tree/lex.ll:2698: void octave_base_lexer::handle_number(): Zusicherung »nread == 1« nicht erfüllt.
panic: Abgebrochen -- stopping myself...
octave exited with signal 6

(Yes, the funny characters in the console only occur as root)

  • With LANG=en_US.UTF-8, normal user, PASS 12883, FAIL 1 (svds.m), XFAIL 14, SKIPPED 86
  • With LANG=en_US.UTF-8, normal user, PASS 12882, FAIL 2 (svds.m and system.tst), XFAIL 14, SKIPPED 86


David


David Rörich <davidr>
Sun 08 Mar 2015 07:19:16 PM UTC, comment #10: 

additional test on my computer (german Ubuntu 14.04):

  • If I change both, LC_NUMERIC=C and LC_TIME="en_US.UTF-8" then everything is fine. No crash and no failing tests:  PASS 12836, FAIL 0, XFAIL 14, SKIPPED 62.
Hartmut <hardy>
Sun 08 Mar 2015 03:28:42 PM UTC, comment #9: 

FTR, I am also using a flavor of ubuntu (linux mint 17.1).

Pantxo Diribarne <pantxo>
Group Member
Sun 08 Mar 2015 02:46:32 PM UTC, comment #8: 

@H.G: I bet the failing tests you see when only changing LC_NUMERIC are due to datexxx family of functions. Some tests assume english locale. What happens if you also change LC_TIME to "en_US"?

Pantxo Diribarne <pantxo>
Group Member
Sun 08 Mar 2015 02:38:13 PM UTC, comment #7: 

Hello Mike,

And what about setting the locale to de_DE.UTF-8 and running make check under your root account ?

On my (Ubuntu) system, I get no crash with fr_FR.UTF-8 in my user account, only with my root account...

@++
Julien

Julien Bect <jbect>
Sun 08 Mar 2015 02:21:17 PM UTC, comment #6: 

Just as another data point: my (Debian) system is configured for en_US.UTF-8 by default, but if I set the locale in my user environment to de_DE.UTF-8 I get no crash. I have also been unable to reproduce other errors due to non-English locale, so take that for what it's worth.

Mike Miller <mtmiller>
Group Member
Sun 08 Mar 2015 08:15:21 AM UTC, comment #5: 

By the way, here is the link for the bug report concerning the crash in _osmesa_print_.cc-tst:

https://savannah.gnu.org/bugs/?44478

Julien Bect <jbect>
Sat 07 Mar 2015 07:50:37 PM UTC, comment #4: 

I have tried several locales, the results on my (german Ubuntu 14.04) computer are as follows:

  • If I use LANG="de_DE.UTF-8" (as in my original post, that's my system wide locale), then I get the described crash from the test of graphics.cc-tst


  • If I use LANG="en_US.UTF-8" then all goes fine, and I get PASS 12836, FAIL 0, XFAIL 14, SKIPPED 62.


  • If I use LC_NUMERIC="en_US.UTF8" then I do also NOT get a crash, but some tests fail: PASS 12823, FAIL 13, XFAIL 14, SKIPPED 62.


  • If I use LC_NUMERIC=C then I also do NOT get a crash, but some (the same as above) tests fail: PASS 12823, FAIL 13, XFAIL 14, SKIPPED 62.


  • The 13 failing tests are: 11 test in datestr.m and 2 in datevec.m.


Also I have never used sudo on any of my "make check" commands. All were done as normal user.

I have not had any crash from _osmesa_print_.cc-tst on my computer.

Hartmut <hardy>
Sat 07 Mar 2015 07:35:55 PM UTC, comment #3: 

Hello Pantxo,

Bad news first, answering to your email question: I have the same (non-english) locale on my user account and on my root account. So, I don't how to explain the difference.

Good news: I can confirm that the crash goes away if I set the locale to en_US.UTF-8 first. But then make check crashes like this

  libinterp/dldfcn/__osmesa_print__.cc-tst ....................panic: Erreur de segmentation -- stopping myself...
octave exited with signal 11

as described recently on the maintainers list by Tasturo Matsuoka.

@++
Julien

Julien Bect <jbect>
Sat 07 Mar 2015 03:47:11 PM UTC, comment #2: 

Answering to myself: I also have a non-english locale, I also see the failure, and I double checked: if I first set the locale to en_US before "make check", the crash disappears.

Pantxo Diribarne <pantxo>
Group Member
Sat 07 Mar 2015 03:11:58 PM UTC, comment #1: 

Hi,

Thanks for your bug report. This issue is currently being discussed on the maintainers list (http://octave.1599824.n4.nabble.com/Problem-in-parse-tree-lex-ll-when-make-checking-td4668912.html).

Are you running "make check" as root as Julien reports?
Both of you have non english locale. What if you set your locale to english before make? Something like


$ export LC_NUMERIC=en_US
$ make check



Pantxo Diribarne <pantxo>
Group Member
Sat 07 Mar 2015 01:59:08 PM UTC, original submission:  

When I call "make check" after compiling the recent Octave 4.0.0 RC1 on my Ubuntu 14.04 system I get a crash. The last lines of output are:


  libinterp/corefcn/file-io.cc-tst ............................ PASS      1/1
  libinterp/corefcn/filter.cc-tst ............................. PASS     14/14
  libinterp/corefcn/find.cc-tst ............................... PASS     16/16
  libinterp/corefcn/gammainc.cc-tst ........................... PASS      4/4
  libinterp/corefcn/gcd.cc-tst ................................ PASS      9/9
  libinterp/corefcn/givens.cc-tst ............................. PASS      6/6
  libinterp/corefcn/graphics.cc-tst ............................./../libinterp/parse-tree/lex.ll:2697: void octave_base_lexer::handle_number(): Zusicherung »nread == 1« nicht erfüllt.
panic: Abgebrochen -- stopping myself...
octave exited with signal 6
make[1]: Verzeichnis »/opt/octave-4.0.0-rc1/test« wird verlassen


This is what I did before to compile:


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


This is not the first time I compile octave myself. The last ~5 releases and releas candidates worked fine for me on this machine (maybe with older libraries installed...).

I am not an expert. Let me know what further information or diagnosis you need.

Hartmut <hardy>

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #33364:  LC.cset added by rik5 (917B - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by davidr (Posted a comment)
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by jbect (Posted a comment)
  • -email is unavailable- added by pantxo (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 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-06-02 jwe Release4.0.0-rc1 4.0.0
    2015-03-18 mtmiller StatusNeed Info Fixed
        Open/ClosedOpen Closed
    2015-03-16 rik5 Attached File- Added LC.cset, #33364
    2015-03-16 rik5 StatusNone Need Info

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code