From owner-freebsd-perl@freebsd.org Mon Oct 2 19:09:23 2017 Return-Path: Delivered-To: freebsd-perl@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0012EE24F99 for ; Mon, 2 Oct 2017 19:09:22 +0000 (UTC) (envelope-from carborundumcrew@infogalactic.com) Received: from smtp.bestwny.com (smtp.bestwny.com [209.170.151.3]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DAA4C73E6E for ; Mon, 2 Oct 2017 19:09:19 +0000 (UTC) (envelope-from carborundumcrew@infogalactic.com) Received: from www.bestwny.com (localhost [127.0.0.1]) by smtp.bestwny.com (Postfix) with ESMTP id CED8F10B63ED for ; Mon, 2 Oct 2017 15:09:17 -0400 (EDT) X-Virus-Scanned: amavisd-new at bestwny.com Received: from smtp.bestwny.com ([127.0.0.1]) by www.bestwny.com (www.bestwny.com [127.0.0.1]) (amavisd-new, port 10026) with LMTP id CchAkAUIXWQ2 for ; Mon, 2 Oct 2017 15:08:58 -0400 (EDT) X-Received: From Authenticated User MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Mon, 02 Oct 2017 12:08:58 -0700 From: Crew To: freebsd-perl@freebsd.org Subject: Weird issue with PERL hashes on FreeBSD with EasyTimeline.pl that does not occur on RHEL 7.2 Organization: Infogalactic Reply-To: crew@infogalactic.com Mail-Reply-To: crew@infogalactic.com Message-ID: <789ab286c78d90e4077033fb589f3d29@infogalactic.com> X-Sender: carborundumcrew@infogalactic.com User-Agent: Roundcube Webmail/0.9.5 X-BeenThere: freebsd-perl@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: maintainer of a number of perl-related ports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Oct 2017 19:09:23 -0000 An issue has turned up, seemingly with PERL hashes on FreeBSD 10.3-STABLE and 10.3-RELEASE-p21. It involves a PERL script called EasyTimeline.pl. I have a simple reproducer that involves running EasyTimeline.pl with some input data (but you also need ploticus installed.) When run on those two versions of FreeBSD the script will fail something like one out of five to seven times, but on RHEL 7.2 it never fails. On FreeBSD it will often fail the first time it is run, and then will succeed for the next five or so attempts and then fail again. It seems to relate to one key in a hash being a proper prefix of another and the order in which the keys are in the hash. In this case the keys are "grid" and "gridcolor". I can supply the reproducer. Does anyone have any ideas what might be causing this? The following shows two sequential executions of the test on FreeBSD 10.3-RELEASE-p21: crew@XXXserver:~/timeline-test % sh -vx easytl.sh /usr/local/bin/perl ./EasyTimeline.pl -i ./timeline_xxx -m -P /usr/local/bin/ploticus -T /tmp/ -A '/yyy/$1' -f FreeSans + /usr/local/bin/perl ./EasyTimeline.pl -i ./timeline_xxx -m -P /usr/local/bin/ploticus -T /tmp/ -A '/yyy/$1' -f FreeSans EasyTimeline version 1.15 Copyright (C) 2004 Erik Zachte Email xxx@chello.nl (nospam: xxx=epzachte) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation ------------------------------------------------------ OS freebsd detected -> environment = Linux, create image in png format. Input: Script file ./timeline_xxx Output: Image files ./timeline_xxx.png & ./timeline_xxx.svg Map file ./timeline_xxx.map (add to html for clickable map) No external fonts specified in input -> Treat input as ascii and use internal Ploticus font. Ploticus input file = '/tmp//EasyTimeline.txt.23941' Generating output: Invoke Ploticus exe file as '/usr/local/bin/ploticus' Running Ploticus to generate svg file '/usr/local/bin/ploticus' -svg -o './timeline_xxx.svg' '/tmp//EasyTimeline.txt.23941' -tightcrop Running Ploticus to generate bitmap '/usr/local/bin/ploticus' -png -o './timeline_xxx.png' '/tmp//EasyTimeline.txt.23941' -tightcrop READY No errors found. crew@XXXserver:~/timeline-test % sh -vx easytl.sh /usr/local/bin/perl ./EasyTimeline.pl -i ./timeline_xxx -m -P /usr/local/bin/ploticus -T /tmp/ -A '/yyy/$1' -f FreeSans + /usr/local/bin/perl ./EasyTimeline.pl -i ./timeline_xxx -m -P /usr/local/bin/ploticus -T /tmp/ -A '/yyy/$1' -f FreeSans EasyTimeline version 1.15 Copyright (C) 2004 Erik Zachte Email xxx@chello.nl (nospam: xxx=epzachte) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation ------------------------------------------------------ OS freebsd detected -> environment = Linux, create image in png format. Input: Script file ./timeline_xxx Output: Image files ./timeline_xxx.png & ./timeline_xxx.svg Map file ./timeline_xxx.map (add to html for clickable map) No external fonts specified in input -> Treat input as ascii and use internal Ploticus font. ***** 1 error found ***** Line 8: ScaleMajor = unit:year increment:20 start:1605 gridcolor:paleGray - Scale attribute 'grid' invalid. Unknown color ''. Specify command 'Color' before this command. Execution aborted. -- Infogalactic: the planetary knowledge core