Ubuntu

crashes with segfault

Reported by Ralf Hildebrandt on 2010-12-20
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ploticus (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: ploticus

$ ploticus 2007-12_Korsolex-10.pl
// proc getdata has read & parsed these data:
// (no field names defined)
0.523|0.662|0.740|
6.307|6.098|6.693|
0.648|0.760|0.881|
6.369|6.000|6.809|
1.523|1.574|1.716|
9.429|11.766|12.638|
0.744|0.654|0.844|
6.325|6.448|6.237|
6.307|6.369|9.429|
6.098|6.000|11.766|
0.523|6.693|0.648|
0.662|6.289|0.760|
0.740|6.367|0.881|
// end of data set
Segmentation fault

The data files are attached.
A backtrace is inconclusive:

(gdb) run
Starting program: /usr/bin/ploticus 2007-12_Korsolex-10.pl
// proc getdata has read & parsed these data:
// (no field names defined)
0.523|0.662|0.740|
6.307|6.098|6.693|
0.648|0.760|0.881|
6.369|6.000|6.809|
1.523|1.574|1.716|
9.429|11.766|12.638|
0.744|0.654|0.844|
6.325|6.448|6.237|
6.307|6.369|9.429|
6.098|6.000|11.766|
0.523|6.693|0.648|
0.662|6.289|0.760|
0.740|6.367|0.881|
// end of data set

Program received signal SIGSEGV, Segmentation fault.
0x000000000043abf3 in ?? ()
(gdb) bt
#0 0x000000000043abf3 in ?? ()
#1 0x0000000000407da5 in ?? ()
#2 0x000000000043a2be in ?? ()
#3 0x0000000000439954 in ?? ()
#4 0x00000000004393a2 in ?? ()
#5 0x0000000000403fe7 in ?? ()
#6 0x00007ffff698fd8e in __libc_start_main () from /lib/libc.so.6
#7 0x00000000004033b9 in ?? ()
#8 0x00007fffffffe808 in ?? ()
#9 0x000000000000001c in ?? ()
#10 0x0000000000000002 in ?? ()
#11 0x00007fffffffeac1 in ?? ()
#12 0x00007fffffffead3 in ?? ()
#13 0x0000000000000000 in ?? ()
(gdb) q

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: ploticus 2.41-3
ProcVersionSignature: Ubuntu 2.6.35-24.42-generic 2.6.35.8
Uname: Linux 2.6.35-24-generic x86_64
NonfreeKernelModules: nvidia
Architecture: amd64
Date: Mon Dec 20 15:08:20 2010
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: ploticus

I rebuilt the binary using "-Wall -g" and disabled stripping:

Program received signal SIGSEGV, Segmentation fault.
0x000000000043a6c3 in PL_getmultiline (firstline=0x6e743a "A.dest", mode=0x4703fe "get") at execline.c:462
462 for( i = 0, emptyline = 1; line[i] != '\0'; i++ ) if( !isspace( (int) line[i] )) { emptyline = 0; break; }
(gdb) bt
#0 0x000000000043a6c3 in PL_getmultiline (firstline=0x6e743a "A.dest", mode=0x4703fe "get") at execline.c:462
#1 0x0000000000407919 in PLP_annotate () at proc_annotate.c:59
#2 0x0000000000439d92 in proc_call (procname=0x68d1e0 "annotate") at execline.c:316
#3 0x0000000000439428 in PL_execline (line=0x7fffffffd560 " #proc annotate") at execline.c:154
#4 0x0000000000438e76 in PL_exec_scriptfile (scriptfile=0x7fffffffe4b0 "2007-12_Korsolex-10.pl") at execscriptfile.c:102
#5 0x0000000000403b74 in main (argc=2, argv=0x7fffffffe818) at pl.c:278
(gdb)

Colin Tuckley (colint) wrote :

Ralf,

Can you still reproduce this bug with the newest version (2.41-5)?

Colin Tuckley (colint) wrote :

No response from submitter in almost a year, unreproducable, so setting to invalid

Changed in ploticus (Ubuntu):
status: New → Invalid

It still crashes with 2.41-5 and the data files in this bug report.

hildeb@gilgamesch:~/Downloads$ ploticus 2007-12_Korsolex-10.pl
// proc getdata has read & parsed these data:
// (no field names defined)
0.523|0.662|0.740|
6.307|6.098|6.693|
0.648|0.760|0.881|
6.369|6.000|6.809|
1.523|1.574|1.716|
9.429|11.766|12.638|
0.744|0.654|0.844|hildeb@gilgamesch:~/Downloads$ ploticus 2007-12_Korsolex-10.pl
// proc getdata has read & parsed these data:
// (no field names defined)
0.523|0.662|0.740|
6.307|6.098|6.693|
0.648|0.760|0.881|
6.369|6.000|6.809|
1.523|1.574|1.716|
9.429|11.766|12.638|
0.744|0.654|0.844|
6.325|6.448|6.237|
6.307|6.369|9.429|
6.098|6.000|11.766|
0.523|6.693|0.648|
0.662|6.289|0.760|
0.740|6.367|0.881|
// end of data set
Segmentation fault (core dumped)

6.325|6.448|6.237|
6.307|6.369|9.429|
6.098|6.000|11.766|
0.523|6.693|0.648|
0.662|6.289|0.760|
0.740|6.367|0.881|
// end of data set
Segmentation fault (core dumped)

Changed in ploticus (Ubuntu):
status: Invalid → New

$ gdb /usr/bin/ploticus
GNU gdb (GDB) 7.5.91.20130417-cvs-ubuntu
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/ploticus...(no debugging symbols found)...done.
(gdb) set args /home/hildeb/Downloads/2007-12_Korsolex-10.pl
(gdb) run
Starting program: /usr/bin/ploticus /home/hildeb/Downloads/2007-12_Korsolex-10.pl
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
// proc getdata has read & parsed these data:
// (no field names defined)
0.523|0.662|0.740|
6.307|6.098|6.693|
0.648|0.760|0.881|
6.369|6.000|6.809|
1.523|1.574|1.716|
9.429|11.766|12.638|
0.744|0.654|0.844|
6.325|6.448|6.237|
6.307|6.369|9.429|
6.098|6.000|11.766|
0.523|6.693|0.648|
0.662|6.289|0.760|
0.740|6.367|0.881|
// end of data set

Program received signal SIGSEGV, Segmentation fault.
0x000000000043e9fe in ?? ()
(gdb) bt
#0 0x000000000043e9fe in ?? ()
#1 0x0000000000407b48 in ?? ()
#2 0x000000000043e0d3 in ?? ()
#3 0x000000000043d77e in ?? ()
#4 0x000000000043d207 in ?? ()
#5 0x0000000000403b56 in ?? ()
#6 0x00007ffff6f97ea5 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#7 0x0000000000402f29 in ?? ()
#8 0x00007fffffffe188 in ?? ()
#9 0x000000000000001c in ?? ()
#10 0x0000000000000002 in ?? ()
#11 0x00007fffffffe46b in ?? ()
#12 0x00007fffffffe47d in ?? ()
#13 0x0000000000000000 in ?? ()
(gdb)

Retried with dbgsyms:

$ gdb /usr/bin/ploticus
GNU gdb (GDB) 7.5.91.20130417-cvs-ubuntu
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/ploticus...Reading symbols from /usr/lib/debug/usr/bin/ploticus...done.
done.
(gdb) set args /home/hildeb/Downloads/2007-12_Korsolex-10.pl
(gdb) run
Starting program: /usr/bin/ploticus /home/hildeb/Downloads/2007-12_Korsolex-10.pl
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
// proc getdata has read & parsed these data:
// (no field names defined)
0.523|0.662|0.740|
6.307|6.098|6.693|
0.648|0.760|0.881|
6.369|6.000|6.809|
1.523|1.574|1.716|
9.429|11.766|12.638|
0.744|0.654|0.844|
6.325|6.448|6.237|
6.307|6.369|9.429|
6.098|6.000|11.766|
0.523|6.693|0.648|
0.662|6.289|0.760|
0.740|6.367|0.881|
// end of data set

Program received signal SIGSEGV, Segmentation fault.
0x000000000043e9fe in PL_getmultiline (firstline=0x6ec4ca "A.dest", mode=0x474fae "get") at execline.c:462
462 execline.c: No such file or directory.
(gdb) bt
#0 0x000000000043e9fe in PL_getmultiline (firstline=0x6ec4ca "A.dest", mode=0x474fae "get")
    at execline.c:462
#1 0x0000000000407b48 in PLP_annotate () at proc_annotate.c:59
#2 0x000000000043e0d3 in proc_call (procname=0x692240 <procname> "annotate") at execline.c:316
#3 0x000000000043d77e in PL_execline (line=0x7fffffffd200 " #proc annotate") at execline.c:154
#4 0x000000000043d207 in PL_exec_scriptfile (
    scriptfile=0x7fffffffdfa0 "/home/hildeb/Downloads/2007-12_Korsolex-10.pl") at execscriptfile.c:102
#5 0x0000000000403b56 in main (argc=2, argv=0x7fffffffe198) at pl.c:278
(gdb)

I was able to "fix" this by adding newlines after the "text:" statement in the "#proc annotate" blocks, like this:

  #proc annotate
   #saveas: AXISann
    textdetails: color=black align=C size=@TEXTSIZE_2
    location: 5.5(s) 0.25
    test: NaCl

  #proc annotate
   #saveas: AXISann
    textdetails: color=black align=C size=@TEXTSIZE_2
    location: 8.5(s) 0.25
    text: pH-2

  #proc annotate
   #saveas: AXISann
    textdetails: color=black align=C size=@TEXTSIZE_2
    location: 11.5(s) 0.25
    text: pH-9

Colin Tuckley (colint) wrote :

Ralf,

The blocks you show above have *test:* instead of *text:* in the first section

Is this a typo in the bug report or the actual cause of the failure?

(It still shouldn't cause a crash of course)

Colin

* Colin Tuckley <email address hidden>:
> Ralf,
>
> The blocks you show above have *test:* instead of *text:* in the first
> section
>
> Is this a typo in the bug report or the actual cause of the failure?

Typo. It's really just the newline that matters.

> (It still shouldn't cause a crash of course)

--
Ralf Hildebrandt Charite Universitätsmedizin Berlin
<email address hidden> Campus Benjamin Franklin
http://www.charite.de Hindenburgdamm 30, 12203 Berlin
Geschäftsbereich IT, Abt. Netzwerk fon: +49-30-450.570.155

Colin Tuckley (colint) wrote :

Pointed this bug out to upstream. He was able to reproduce it.

Upstream fix was generated 7-Jan-2014

It should be in Debian today or tomorrow.

Colin

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ploticus - 2.42-1

---------------
ploticus (2.42-1) unstable; urgency=low

  * New Upstream release.
  * Bump Standards-Version to 3.9.5 (No changes required).
  * Upstream Bugfix: Instability with multiline attribute in execline.c
    (LP: #692567)

 -- Colin Tuckley <email address hidden> Wed, 08 Jan 2014 11:02:15 +0000

Changed in ploticus (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers