A newer version of gnuplot has been placed on our virtual machine than is compatible with my code.
There is a command line that I've read can be used to establish backward compatibility:
./configure --enable-backwards-compatibility
Is this used within gnuplot or does it have to be used during the installation of gnuplot ?
If this would work, it would be preferable to my changing my code. However, below is a listing of what happens when I try to run my code now (if backwards compatibility can not be established, any suggestions on how to change my code ?):
G N U P L O T
Version 4.0 patchlevel 0
last modified Thu Apr 15 14:44:22 CEST 2004
System: Linux 4.4.0-92-generic
Copyright (C) 1986 - 1993, 1998, 2004
Thomas Williams, Colin Kelley and many others
This is gnuplot version 4.0. Please refer to the documentation
for command syntax changes. The old syntax will be accepted
throughout the 4.0 series, but all save files use the new syntax.
Type `help` to access the on-line reference manual.
The gnuplot FAQ is available from
http://www.gnuplot.info/faq/
Send comments and requests for help to
<gnuplot-info@lists.sourceforge.net>
Send bugs, suggestions and mods to
<gnuplot-bugs@lists.sourceforge.net>
Terminal type set to 'x11'
gnuplot> call"look_dat.gnu""17""01""5
gnuplot> set title "AMERIFLUX at Fermi, year 17 month 01" 0.000000,0.000000 ""
^
"look_dat.gnu", line 53: warning: deprecated syntax - please use 'font' keyword
gnuplot> set xlabel "Point #" 0.000000,0.000000 ""
^
"look_dat.gnu", line 55: warning: deprecated syntax - please use 'font' keyword
gnuplot> set ylabel "" 0.000000,0.000000 ""
^
"look_dat.gnu", line 58: warning: deprecated syntax - please use 'font' keyword
A newer version of gnuplot has been placed on our virtual machine than is
compatible with my code.
There is a command line that I've read can be used to establish backward
compatibility:
./configure --enable-backwards-compatibility
Is this used within gnuplot or does it have to be used during the
installation of gnuplot ?
If this would work, it would be preferable to my changing my code.
However, below is a listing of what happens when I try to run my code now
(if backwards compatibility can not be established, any suggestions on how
to change my code ?):
G N U P L O T
Version 4.0 patchlevel 0
last modified Thu Apr 15 14:44:22 CEST 2004
System: Linux 4.4.0-92-generic
You show a very old version of gnuplot.
Are you asking about backwards compatibility of a 2004 version
with some even earlier version?
If so I don't think we can help with that.
[snip]
Terminal type set to 'x11'
gnuplot> call"look_dat.gnu""17""01""5
gnuplot> set title "AMERIFLUX at Fermi, year 17 month 01"
0.000000,0.000000 ""
^
"look_dat.gnu", line 53: warning: deprecated syntax - please use
'font' keyword
However these error messages have nothing to do with backwards
compatibility
or lack of it. They are coming from trying to embed double quotes inside a
double-quoted string. You need to either
1) Use single quotes for the outermost string:
set title 'AMERIFLUX at Fermi, year 17 month 01"
0.000000,0.000000 "'
or
2) Escape the embedded double quotes:
set title "AMERIFLUX at Fermi, year 17 month 01\"
0.000000,0.000000 \""
Ethan
gnuplot> set xlabel "Point #" 0.000000,0.000000 ""
^
"look_dat.gnu", line 55: warning: deprecated syntax - please use
'font' keyword
gnuplot> set ylabel "" 0.000000,0.000000 ""
^
"look_dat.gnu", line 58: warning: deprecated syntax - please use
'font' keyword
Before your comment I did find that by eliminating the double quote the script would run to the point of the buffer overflow.
Yes, we're using an older version of gnuplot because we have so many plotting scripts that we use to produce plots for our website and don't want to have to modify all of them.
When I checked the gnuplot version of another LINUX machine (Red Hat, build 2.6.18-418.el5) that I run the same script on, it turned out to be exactly the same version of gnuplot as is on the newer machine (Ubuntu, build 4.4.0-92-generic) where it doesn't work.
I also tried the script on the older machine and it works fine.
So, backward compatibility may still appear to be the issue, as the script was written and used with a previous version of gnuplot (before 4.0) on an even older machine (previous to 2004). At the same time,
the change in my script, as you suggested, has apparently solved that particular problem.
The buffer problem may be an issue with the particular LINUX build of the newer machine. Our IT folks are looking into that.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I very much doubt that the commands with bad double quotes were acceptable
to any version of gnuplot. What exactly happened after encountering that
badness might be version-dependent, but I don't think it is accurate to say
that it used to work and then stopped.
As to your stack trace - note that it is not gnuplot itself that crashed.
It was the outboard x11 terminal driver gnuplot_x11, a separate process.
The most common cause for this is a version-mismatch between the gnuplot
executable and the separate gnuplot_x11 executable. For example, if you
build a new gnuplot binary from source you must also build and install the
gnuplot_x11 binary.
If you continue to have problems with gnuplot_x11 dying, the best way to
debug is to capture the output stream sent to it from gnuplot. You can do
this by saying
set term xlib <all other="" options="" the="" same="" as="" the="" failed="" x11="" terminal="" session="">
set output 'dump.x'
This sends the x11 output to a file rather than via a pipe to the outboard
driver process.
The problem might be evident by inspection of the file contents.
Also it can be "played back" by streaming it to gnuplot_x11 at your
convenience,
possibly after rebuilding or while running in a debugger or on another
machine
or whatever it takes.
gnuplot_x11 -noevents < dump.x
Before your comment I did find that by eliminating the double quote the
script would run to the point of the buffer overflow.
Yes, we're using an older version of gnuplot because we have so many
plotting scripts that we use to produce plots for our website and don't
want to have to modify all of them.
When I checked the gnuplot version of another LINUX machine (Red Hat,
build 2.6.18-418.el5) that I run the same script on, it turned out to be
exactly the same version of gnuplot as is on the newer machine (Ubuntu,
build 4.4.0-92-generic) where it doesn't work.
I also tried the script on the older machine and it works fine.
So, backward compatibility may still appear to be the issue, as the script
was written and used with a previous version of gnuplot (before 4.0) on an
even older machine (previous to 2004). At the same time,
the change in my script, as you suggested, has apparently solved that
particular problem.
The buffer problem may be an issue with the particular LINUX build of the
newer machine. Our IT folks are looking into that.
your expression set term xlib <all other="" options="" the="" same="" as="" the="" failed="" x11="" terminal="" session=""> is found to be an invalid expression by gnuplot 4.0.
I'm suspecting a problem with accessing of the gnuplot libraries. gnuplot was installed in an area that is admin only, /usr/local/, by looking at the output of gnuplot when I try to run my script, as seen in the output I listed above, showing /usr/local/libexec/gnuplot/4.0/gnuplot_x11
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
A newer version of gnuplot has been placed on our virtual machine than is compatible with my code.
There is a command line that I've read can be used to establish backward compatibility:
./configure --enable-backwards-compatibility
Is this used within gnuplot or does it have to be used during the installation of gnuplot ?
If this would work, it would be preferable to my changing my code. However, below is a listing of what happens when I try to run my code now (if backwards compatibility can not be established, any suggestions on how to change my code ?):
Terminal type set to 'x11'
gnuplot> call"look_dat.gnu""17""01""5
gnuplot> set title "AMERIFLUX at Fermi, year 17 month 01" 0.000000,0.000000 ""
^
"look_dat.gnu", line 53: warning: deprecated syntax - please use 'font' keyword
gnuplot> set xlabel "Point #" 0.000000,0.000000 ""
^
"look_dat.gnu", line 55: warning: deprecated syntax - please use 'font' keyword
gnuplot> set ylabel "" 0.000000,0.000000 ""
^
"look_dat.gnu", line 58: warning: deprecated syntax - please use 'font' keyword
gnuplot> set y2label "5" 0.000000,0.000000 ""
^
"look_dat.gnu", line 59: warning: deprecated syntax - please use 'font' keyword
buffer overflow detected : gnuplot_x11 terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fae53abd7e5]
/lib/x86_64-linux-gnu/libc.so.6(fortify_fail+0x5c)[0x7fae53b5f11c]
/lib/x86_64-linux-gnu/libc.so.6(+0x117120)[0x7fae53b5d120]
/lib/x86_64-linux-gnu/libc.so.6(+0x11758a)[0x7fae53b5d58a]
gnuplot_x11[0x405376]
gnuplot_x11[0x403c85]
/lib/x86_64-linux-gnu/libc.so.6(libc_start_main+0xf0)[0x7fae53a66830]
gnuplot_x11[0x404f59]
======= Memory map: ========
00400000-00412000 r-xp 00000000 fc:00 39459109 /usr/local/libexec/gnuplot/4.0/gnuplot_x11
00611000-00612000 r--p 00011000 fc:00 39459109 /usr/local/libexec/gnuplot/4.0/gnuplot_x11
00612000-00614000 rw-p 00012000 fc:00 39459109 /usr/local/libexec/gnuplot/4.0/gnuplot_x11
00614000-00617000 rw-p 00000000 00:00 0
0159c000-015bd000 rw-p 00000000 00:00 0 [heap]
7fae527d4000-7fae527ea000 r-xp 00000000 fc:00 114033161 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fae527ea000-7fae529e9000 ---p 00016000 fc:00 114033161 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fae529e9000-7fae529ea000 rw-p 00015000 fc:00 114033161 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fae529ea000-7fae529ef000 r-xp 00000000 fc:00 6560285 /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7fae529ef000-7fae52bee000 ---p 00005000 fc:00 6560285 /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7fae52bee000-7fae52bef000 r--p 00004000 fc:00 6560285 /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7fae52bef000-7fae52bf0000 rw-p 00005000 fc:00 6560285 /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7fae52bf0000-7fae52bf9000 r-xp 00000000 fc:00 6560287 /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7fae52bf9000-7fae52df8000 ---p 00009000 fc:00 6560287 /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7fae52df8000-7fae52df9000 r--p 00008000 fc:00 6560287 /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7fae52df9000-7fae52dfa000 rw-p 00009000 fc:00 6560287 /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7fae52dfa000-7fae52e03000 r-xp 00000000 fc:00 6560289 /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2
7fae52e03000-7fae53002000 ---p 00009000 fc:00 6560289 /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2
7fae53002000-7fae53003000 r--p 00008000 fc:00 6560289 /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2
7fae53003000-7fae53004000 rw-p 00009000 fc:00 6560289 /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2
7fae53004000-7fae5300f000 r-xp 00000000 fc:00 114033115 /lib/x86_64-linux-gnu/libnss_files-2.23.so
7fae5300f000-7fae5320e000 ---p 0000b000 fc:00 114033115 /lib/x86_64-linux-gnu/libnss_files-2.23.so
7fae5320e000-7fae5320f000 r--p 0000a000 fc:00 114033115 /lib/x86_64-linux-gnu/libnss_files-2.23.so
7fae5320f000-7fae53210000 rw-p 0000b000 fc:00 114033115 /lib/x86_64-linux-gnu/libnss_files-2.23.so
7fae53210000-7fae53216000 rw-p 00000000 00:00 0
7fae53216000-7fae5321b000 r-xp 00000000 fc:00 6559131 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fae5321b000-7fae5341a000 ---p 00005000 fc:00 6559131 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fae5341a000-7fae5341b000 r--p 00004000 fc:00 6559131 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fae5341b000-7fae5341c000 rw-p 00005000 fc:00 6559131 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7fae5341c000-7fae5341e000 r-xp 00000000 fc:00 6559129 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7fae5341e000-7fae5361e000 ---p 00002000 fc:00 6559129 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7fae5361e000-7fae5361f000 r--p 00002000 fc:00 6559129 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7fae5361f000-7fae53620000 rw-p 00003000 fc:00 6559129 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7fae53620000-7fae53623000 r-xp 00000000 fc:00 114033144 /lib/x86_64-linux-gnu/libdl-2.23.so
7fae53623000-7fae53822000 ---p 00003000 fc:00 114033144 /lib/x86_64-linux-gnu/libdl-2.23.so
7fae53822000-7fae53823000 r--p 00002000 fc:00 114033144 /lib/x86_64-linux-gnu/libdl-2.23.so
7fae53823000-7fae53824000 rw-p 00003000 fc:00 114033144 /lib/x86_64-linux-gnu/libdl-2.23.so
7fae53824000-7fae53845000 r-xp 00000000 fc:00 6559133 /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7fae53845000-7fae53a44000 ---p 00021000 fc:00 6559133 /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7fae53a44000-7fae53a45000 r--p 00020000 fc:00 6559133 /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7fae53a45000-7fae53a46000 rw-p 00021000 fc:00 6559133 /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7fae53a46000-7fae53c06000 r-xp 00000000 fc:00 114033196 /lib/x86_64-linux-gnu/libc-2.23.so
7fae53c06000-7fae53e06000 ---p 001c0000 fc:00 114033196 /lib/x86_64-linux-gnu/libc-2.23.so
7fae53e06000-7fae53e0a000 r--p 001c0000 fc:00 114033196 /lib/x86_64-linux-gnu/libc-2.23.so
7fae53e0a000-7fae53e0c000 rw-p 001c4000 fc:00 114033196 /lib/x86_64-linux-gnu/libc-2.23.so
7fae53e0c000-7fae53e10000 rw-p 00000000 00:00 0
7fae53e10000-7fae53f18000 r-xp 00000000 fc:00 114033183 /lib/x86_64-linux-gnu/libm-2.23.so
7fae53f18000-7fae54117000 ---p 00108000 fc:00 114033183 /lib/x86_64-linux-gnu/libm-2.23.so
7fae54117000-7fae54118000 r--p 00107000 fc:00 114033183 /lib/x86_64-linux-gnu/libm-2.23.so
7fae54118000-7fae54119000 rw-p 00108000 fc:00 114033183 /lib/x86_64-linux-gnu/libm-2.23.so
7fae54119000-7fae5424e000 r-xp 00000000 fc:00 6559136 /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7fae5424e000-7fae5444e000 ---p 00135000 fc:00 6559136 /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7fae5444e000-7fae5444f000 r--p 00135000 fc:00 6559136 /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7fae5444f000-7fae54453000 rw-p 00136000 fc:00 6559136 /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7fae54453000-7fae54479000 r-xp 00000000 fc:00 114033112 /lib/x86_64-linux-gnu/ld-2.23.so
7fae54662000-7fae54667000 rw-p 00000000 00:00 0
7fae54675000-7fae54678000 rw-p 00000000 00:00 0
7fae54678000-7fae54679000 r--p 00025000 fc:00 114033112 /lib/x86_64-linux-gnu/ld-2.23.so
7fae54679000-7fae5467a000 rw-p 00026000 fc:00 114033112 /lib/x86_64-linux-gnu/ld-2.23.so
7fae5467a000-7fae5467b000 rw-p 00000000 00:00 0
7ffdd3415000-7ffdd3436000 rw-p 00000000 00:00 0 [stack]
7ffdd3439000-7ffdd343b000 r--p 00000000 00:00 0 [vvar]
7ffdd343b000-7ffdd343d000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
On Tue, Nov 21, 2017 at 10:33 AM, David R Cook davidcook@users.sf.net
wrote:
You show a very old version of gnuplot.
Are you asking about backwards compatibility of a 2004 version
with some even earlier version?
If so I don't think we can help with that.
[snip]
However these error messages have nothing to do with backwards
compatibility
or lack of it. They are coming from trying to embed double quotes inside a
double-quoted string. You need to either
1) Use single quotes for the outermost string:
set title 'AMERIFLUX at Fermi, year 17 month 01"
0.000000,0.000000 "'
or
2) Escape the embedded double quotes:
set title "AMERIFLUX at Fermi, year 17 month 01\"
0.000000,0.000000 \""
Ethan
Ethan,
Before your comment I did find that by eliminating the double quote the script would run to the point of the buffer overflow.
Yes, we're using an older version of gnuplot because we have so many plotting scripts that we use to produce plots for our website and don't want to have to modify all of them.
When I checked the gnuplot version of another LINUX machine (Red Hat, build 2.6.18-418.el5) that I run the same script on, it turned out to be exactly the same version of gnuplot as is on the newer machine (Ubuntu, build 4.4.0-92-generic) where it doesn't work.
I also tried the script on the older machine and it works fine.
So, backward compatibility may still appear to be the issue, as the script was written and used with a previous version of gnuplot (before 4.0) on an even older machine (previous to 2004). At the same time,
the change in my script, as you suggested, has apparently solved that particular problem.
The buffer problem may be an issue with the particular LINUX build of the newer machine. Our IT folks are looking into that.
I very much doubt that the commands with bad double quotes were acceptable
to any version of gnuplot. What exactly happened after encountering that
badness might be version-dependent, but I don't think it is accurate to say
that it used to work and then stopped.
As to your stack trace - note that it is not gnuplot itself that crashed.
It was the outboard x11 terminal driver gnuplot_x11, a separate process.
The most common cause for this is a version-mismatch between the gnuplot
executable and the separate gnuplot_x11 executable. For example, if you
build a new gnuplot binary from source you must also build and install the
gnuplot_x11 binary.
If you continue to have problems with gnuplot_x11 dying, the best way to
debug is to capture the output stream sent to it from gnuplot. You can do
this by saying
set term xlib <all other="" options="" the="" same="" as="" the="" failed="" x11="" terminal="" session="">
set output 'dump.x'
This sends the x11 output to a file rather than via a pipe to the outboard
driver process.
The problem might be evident by inspection of the file contents.
Also it can be "played back" by streaming it to gnuplot_x11 at your
convenience,
possibly after rebuilding or while running in a debugger or on another
machine
or whatever it takes.
gnuplot_x11 -noevents < dump.x
On Tue, Nov 21, 2017 at 1:21 PM, David R Cook davidcook@users.sf.net
wrote:
Ethan,
your expression set term xlib <all other="" options="" the="" same="" as="" the="" failed="" x11="" terminal="" session=""> is found to be an invalid expression by gnuplot 4.0.
I'm suspecting a problem with accessing of the gnuplot libraries. gnuplot was installed in an area that is admin only, /usr/local/, by looking at the output of gnuplot when I try to run my script, as seen in the output I listed above, showing /usr/local/libexec/gnuplot/4.0/gnuplot_x11