Debian Bug report logs - #714625
gedit: Crash gettext syntax highlight + Input Japanese characters

version graph

Package: gtk+3.0; Maintainer for gtk+3.0 is Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>;

Reported by: Hideki Yamane <henrich@debian.org>

Date: Mon, 1 Jul 2013 12:45:02 UTC

Severity: important

Tags: fixed-upstream, patch

Found in version 3.8.2-2

Fixed in version 3.10.1-1

Done: Hideki Yamane <henrich@debian.or.jp>

Bug is archived. No further changes may be made.

Forwarded to https://bugzilla.gnome.org/show_bug.cgi?id=703533

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>:
Bug#714625; Package gedit. (Mon, 01 Jul 2013 12:45:06 GMT) (full text, mbox, link).


Acknowledgement sent to Hideki Yamane <henrich@debian.org>:
New Bug report received and forwarded. Copy sent to Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>. (Mon, 01 Jul 2013 12:45:06 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Hideki Yamane <henrich@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: gedit: Crash gettext syntax highlight + Input Japanese characters
Date: Mon, 01 Jul 2013 21:40:00 +0900
Package: gedit
Version: 3.8.0-1
Severity: important

Dear Maintainer,

  On sid, using gedit with gettext syntax highlight (edit .po file) and
  input Japanese characters, then crash.


minimum test case

-------------------------------------------------------
# 
# AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: 0\n"
"POT-Creation-Date: 2012-10-31T14:54:16\n"
"PO-Revision-Date: 2012-10-31T14:54:16\n"
"Last-Translator: Automatically generated\n"
"Language-Team: None\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-publican; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

-------------------------------------------------------

 1. input characters between "", then crash
 2. input characters where as blank line, it doesn't crash


 a. on Wheezy it doesn't crash
 b. on Ubuntu 13.04, it doesn't crash, too
 c. on Sid, it crashes


-- Package-specific info:
Active plugins:
  - 'docinfo'
  -  'modelines'
  -  'spell'
  -  'time'
  -  'filebrowser'

No plugin installed in $HOME.

Module versions:
  - glib                  2.36.3
  - gtk+                  
  - gtksourceview         
  - pygobject             
  - enchant               
  - iso-codes             3.43


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.9-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=ja_JP.utf8, LC_CTYPE=ja_JP.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gedit depends on:
ii  gedit-common               3.8.0-1
ii  gir1.2-gtk-3.0             3.8.2-2
ii  gir1.2-gtksource-3.0       3.4.2-1
ii  gir1.2-peas-1.0            1.4.0-2+b1
ii  gsettings-desktop-schemas  3.4.2-3
ii  iso-codes                  3.43-1
ii  libatk1.0-0                2.8.0-2
ii  libc6                      2.17-7
ii  libcairo-gobject2          1.12.14-5
ii  libcairo2                  1.12.14-5
ii  libenchant1c2a             1.6.0-10
ii  libgdk-pixbuf2.0-0         2.28.2-1
ii  libgirepository-1.0-1      1.36.0-2+b1
ii  libglib2.0-0               2.36.3-2
ii  libgtk-3-0                 3.8.2-2
ii  libgtksourceview-3.0-0     3.4.2-1
ii  libpango1.0-0              1.32.5-5+b1
ii  libpeas-1.0-0              1.4.0-2+b1
ii  libx11-6                   2:1.6.0-1
ii  libxml2                    2.9.1+dfsg1-2
ii  python-gi-cairo            3.8.2-1
ii  python3                    3.2.3-7
ii  python3-gi                 3.8.2-1

Versions of packages gedit recommends:
ii  yelp    3.8.1-2
ii  zenity  3.8.0-1

Versions of packages gedit suggests:
pn  gedit-plugins  <none>

-- no debconf information



Information forwarded to debian-bugs-dist@lists.debian.org, Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>:
Bug#714625; Package gedit. (Mon, 01 Jul 2013 12:57:11 GMT) (full text, mbox, link).


Acknowledgement sent to Hideki Yamane <henrich@debian.or.jp>:
Extra info received and forwarded to list. Copy sent to Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>. (Mon, 01 Jul 2013 12:57:11 GMT) (full text, mbox, link).


Message #10 received at 714625@bugs.debian.org (full text, mbox, reply):

From: Hideki Yamane <henrich@debian.or.jp>
To: 714625@bugs.debian.org
Subject: Re: Bug#714625: Acknowledgement (gedit: Crash gettext syntax highlight + Input Japanese characters)
Date: Mon, 1 Jul 2013 21:54:04 +0900
Hi,


(gdb) run
Starting program: /usr/bin/gedit 
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffed9d8700 (LWP 24762)]
[New Thread 0x7fffe6947700 (LWP 24763)]
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.
[New Thread 0x7fffe4b3f700 (LWP 24764)]
[New Thread 0x7fffd7fa0700 (LWP 24765)]

Program received signal SIGSEGV, Segmentation fault.
magazine_chain_pop_head (magazine_chunks=0x699670) at /tmp/buildd/glib2.0-2.36.3/./glib/gslice.c:532
532	/tmp/buildd/glib2.0-2.36.3/./glib/gslice.c: そのようなファイルやディレクトリはありません.
(gdb) 

"そのようなファイルやディレクトリはありません." means "No such file or directory."

-- 
Regards,

 Hideki Yamane     henrich @ debian.or.jp/org
 http://wiki.debian.org/HidekiYamane



Information forwarded to debian-bugs-dist@lists.debian.org, Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>:
Bug#714625; Package gedit. (Mon, 01 Jul 2013 13:09:10 GMT) (full text, mbox, link).


Acknowledgement sent to Hideki Yamane <henrich@debian.or.jp>:
Extra info received and forwarded to list. Copy sent to Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>. (Mon, 01 Jul 2013 13:09:10 GMT) (full text, mbox, link).


Message #15 received at 714625@bugs.debian.org (full text, mbox, reply):

From: Hideki Yamane <henrich@debian.or.jp>
To: 714625@bugs.debian.org
Subject: Re: Bug#714625: Acknowledgement (gedit: Crash gettext syntax highlight + Input Japanese characters)
Date: Mon, 1 Jul 2013 22:07:58 +0900
Hi,

 backtrace is attached here.

(gdb) bt
#0  magazine_chain_pop_head (magazine_chunks=0x699670) at /tmp/buildd/glib2.0-2.36.3/./glib/gslice.c:532
#1  thread_memory_magazine1_alloc (tmem=<optimized out>, ix=1)
    at /tmp/buildd/glib2.0-2.36.3/./glib/gslice.c:835
#2  g_slice_alloc (mem_size=mem_size@entry=32) at /tmp/buildd/glib2.0-2.36.3/./glib/gslice.c:994
#3  0x00007ffff53d5671 in g_slice_copy (mem_size=32, mem_block=0x78ee80)
    at /tmp/buildd/glib2.0-2.36.3/./glib/gslice.c:1051
#4  0x00007ffff7222036 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#5  0x00007ffff64c226f in pango_attribute_copy () from /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0
#6  0x00007ffff64c2968 in pango_attr_list_copy () from /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0
#7  0x00007ffff64b9a69 in ?? () from /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0
#8  0x00007ffff64cce63 in ?? () from /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0
#9  0x00007ffff64ce188 in ?? () from /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0
#10 0x00007ffff7224b4f in gtk_text_layout_get_line_display () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#11 0x00007ffff72261e4 in gtk_text_layout_get_iter_location () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#12 0x00007ffff723466c in gtk_text_view_scroll_to_iter () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#13 0x00007ffff72348da in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#14 0x00007ffff7234959 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#15 0x00007ffff72349a9 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#16 0x00007ffff6b56d30 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#17 0x00007ffff53b9af6 in g_main_dispatch (context=0x6d9f50)
    at /tmp/buildd/glib2.0-2.36.3/./glib/gmain.c:3054
#18 g_main_context_dispatch (context=context@entry=0x6d9f50)
    at /tmp/buildd/glib2.0-2.36.3/./glib/gmain.c:3630
---Type <return> to continue, or q <return> to quit---
#19 0x00007ffff53b9e48 in g_main_context_iterate (context=context@entry=0x6d9f50, block=block@entry=1, 
    dispatch=dispatch@entry=1, self=<optimized out>) at /tmp/buildd/glib2.0-2.36.3/./glib/gmain.c:3701
#20 0x00007ffff53b9eec in g_main_context_iteration (context=0x6d9f50, context@entry=0x0, 
    may_block=may_block@entry=1) at /tmp/buildd/glib2.0-2.36.3/./glib/gmain.c:3762
#21 0x00007ffff5b8dee4 in g_application_run (application=0x6aa030, argc=<optimized out>, argv=0x7fffffffe138)
    at /tmp/buildd/glib2.0-2.36.3/./gio/gapplication.c:1623
#22 0x00000000004260d0 in main ()




Information forwarded to debian-bugs-dist@lists.debian.org, Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>:
Bug#714625; Package gedit. (Mon, 01 Jul 2013 14:42:08 GMT) (full text, mbox, link).


Acknowledgement sent to dai@debian.org:
Extra info received and forwarded to list. Copy sent to Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>. (Mon, 01 Jul 2013 14:42:08 GMT) (full text, mbox, link).


Message #20 received at 714625@bugs.debian.org (full text, mbox, reply):

From: dai@debian.org
To: 714625@bugs.debian.org
Subject: Re: gedit: Crash gettext syntax highlight + Input Japanese characters
Date: Mon, 1 Jul 2013 23:38:23 +0900
[Message part 1 (text/plain, inline)]
Followup-For: Bug #714625
Package: gedit
Version: 3.4.2-1+b1

Re: The magazine_chain_pop_head() problem
https://mail.gnome.org/archives/gtk-devel-list/2010-December/msg00069.html

Running GLib Applications
https://developer.gnome.org/glib/2.36/glib-running.html

reproduce:

% gedit
zsh: segmentation fault (core dumped)  gedit

debug:

% G_SLICE=debug-blocks gedit
GSlice: MemChecker: attempt to release non-allocated block: 0x36e6960 size=32
zsh: abort (core dumped)  G_SLICE=debug-blocks gedit

workaround:

% G_SLICE=always-malloc gedit
%
-- 
Regards,
	dai

GPG Fingerprint = 0B29 D88E 42E6 B765 B8D8 EA50 7839 619D D439 668E
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>:
Bug#714625; Package gedit. (Mon, 01 Jul 2013 15:03:08 GMT) (full text, mbox, link).


Acknowledgement sent to Jiro Matsuzawa <jmatsuzawa@gnome.org>:
Extra info received and forwarded to list. Copy sent to Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>. (Mon, 01 Jul 2013 15:03:08 GMT) (full text, mbox, link).


Message #25 received at 714625@bugs.debian.org (full text, mbox, reply):

From: Jiro Matsuzawa <jmatsuzawa@gnome.org>
To: 714625@bugs.debian.org
Date: Mon, 1 Jul 2013 23:59:22 +0900
This is true in other formats than gettext translation, too.
For example, editing a shell script crashes gedit.

Gedit crashes when you input Japanese characters and try to
convert them with space-key at any position where syntax highligthing
is activated.


--
Jiro Matsuzawa
E-mail:
 jmatsuzawa@gnome.org
 matsuzawa.jr@gmail.com
GPG Key ID: 0xECC442E9
GPG Key Fingerprint: E086 C14A 869F BB0E 3541 19EB E370 B08B ECC4 42E9



Information forwarded to debian-bugs-dist@lists.debian.org, Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>:
Bug#714625; Package gedit. (Mon, 01 Jul 2013 16:09:04 GMT) (full text, mbox, link).


Acknowledgement sent to dai@debian.org:
Extra info received and forwarded to list. Copy sent to Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>. (Mon, 01 Jul 2013 16:09:04 GMT) (full text, mbox, link).


Message #30 received at 714625@bugs.debian.org (full text, mbox, reply):

From: dai@debian.org
To: 714625@bugs.debian.org
Subject: Re: gedit: Crash gettext syntax highlight + Input Japanese characters
Date: Tue, 2 Jul 2013 01:05:04 +0900
[Message part 1 (text/plain, inline)]
gtk+3.0 : 3.4.2-6 : not crash (wheezy, jessie)
gtk+3.0 : 3.8.2-2 : crash     (sid)

here is wheezy + sid chrooted environment.

root@lilith:~# gedit -s a.sh > /dev/null 2> /dev/nul
root@lilith:~# LANG=C LC_ALL=C apt-get install gir1.2-gtk-3.0 libgail-3-0:amd64 libgtk-3-0:amd64 libgtk-3-common                   
bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  librsvg2-common gvfs
Recommended packages:
  hicolor-icon-theme libgtk-3-bin
The following packages will be upgraded:
  gir1.2-gtk-3.0 libgail-3-0 libgtk-3-0 libgtk-3-common
4 upgraded, 0 newly installed, 0 to remove and 169 not upgraded.
Need to get 4937 kB of archives.
After this operation, 1457 kB of additional disk space will be used.
Get:1 http://ftp.jp.debian.org/debian/ sid/main libgail-3-0 amd64 3.8.2-2 [62.4 kB]
Get:2 http://ftp.jp.debian.org/debian/ sid/main libgtk-3-0 amd64 3.8.2-2 [1863 kB]
Get:3 http://ftp.jp.debian.org/debian/ sid/main libgtk-3-common all 3.8.2-2 [2801 kB]
Get:4 http://ftp.jp.debian.org/debian/ sid/main gir1.2-gtk-3.0 amd64 3.8.2-2 [211 kB]
Fetched 4937 kB in 1s (2521 kB/s)   
debconf: delaying package configuration, since apt-utils is not installed
Can not write log, openpty() failed (/dev/pts not mounted?)
(Reading database ... 20352 files and directories currently installed.)
Preparing to replace libgail-3-0:amd64 3.4.2-6 (using .../libgail-3-0_3.8.2-2_amd64.deb) ...
Unpacking replacement libgail-3-0:amd64 ...
Preparing to replace libgtk-3-0:amd64 3.4.2-6 (using .../libgtk-3-0_3.8.2-2_amd64.deb) ...
Unpacking replacement libgtk-3-0:amd64 ...
Preparing to replace libgtk-3-common 3.4.2-6 (using .../libgtk-3-common_3.8.2-2_all.deb) ...
Unpacking replacement libgtk-3-common ...
Preparing to replace gir1.2-gtk-3.0 3.4.2-6 (using .../gir1.2-gtk-3.0_3.8.2-2_amd64.deb) ...
Unpacking replacement gir1.2-gtk-3.0 ...
Processing triggers for libglib2.0-0:amd64 ...
Can not write log, openpty() failed (/dev/pts not mounted?)
Setting up libgtk-3-common (3.8.2-2) ...
Setting up libgtk-3-0:amd64 (3.8.2-2) ...
Setting up libgail-3-0:amd64 (3.8.2-2) ...
Setting up gir1.2-gtk-3.0 (3.8.2-2) ...
root@lilith:~# gedit -s a.sh > /dev/null 2> /dev/null
Segmentation fault (core dumped)
root@lilith:~# 
-- 
Regards,
	dai

GPG Fingerprint = 0B29 D88E 42E6 B765 B8D8 EA50 7839 619D D439 668E
[signature.asc (application/pgp-signature, inline)]

Bug reassigned from package 'gedit' to 'gtk+3.0'. Request was from Hideki Yamane <henrich@debian.or.jp> to control@bugs.debian.org. (Mon, 01 Jul 2013 23:54:04 GMT) (full text, mbox, link).


No longer marked as found in versions gedit/3.4.2-1 and gedit/3.8.0-1. Request was from Hideki Yamane <henrich@debian.or.jp> to control@bugs.debian.org. (Mon, 01 Jul 2013 23:54:05 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>:
Bug#714625; Package gtk+3.0. (Wed, 03 Jul 2013 10:42:07 GMT) (full text, mbox, link).


Acknowledgement sent to Daiki Ueno <ueno@gnu.org>:
Extra info received and forwarded to list. Copy sent to Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>. (Wed, 03 Jul 2013 10:42:07 GMT) (full text, mbox, link).


Message #39 received at 714625@bugs.debian.org (full text, mbox, reply):

From: Daiki Ueno <ueno@gnu.org>
To: 714625@bugs.debian.org
Subject: Re: Bug#714625: gedit: Crash gettext syntax highlight + Input Japanese characters
Date: Wed, 03 Jul 2013 19:38:47 +0900
Sorry, this is a regression caused by my commit:
https://git.gnome.org/browse/gtk+/commit/?id=7a9553cfb5d465df79161f61f7c01d872e90b983

Posted a fix:
https://bugzilla.gnome.org/show_bug.cgi?id=703533



Set Bug forwarded-to-address to 'https://bugzilla.gnome.org/show_bug.cgi?id=703533'. Request was from dai@debian.org to control@bugs.debian.org. (Wed, 03 Jul 2013 11:21:09 GMT) (full text, mbox, link).


Marked as found in versions 3.8.2-2. Request was from dai@debian.org to control@bugs.debian.org. (Wed, 03 Jul 2013 14:21:04 GMT) (full text, mbox, link).


Added tag(s) fixed-upstream. Request was from dai@debian.org to control@bugs.debian.org. (Tue, 09 Jul 2013 05:39:11 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>:
Bug#714625; Package gtk+3.0. (Tue, 09 Jul 2013 09:54:04 GMT) (full text, mbox, link).


Acknowledgement sent to Hideki Yamane <henrich@debian.or.jp>:
Extra info received and forwarded to list. Copy sent to Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>. (Tue, 09 Jul 2013 09:54:04 GMT) (full text, mbox, link).


Message #50 received at 714625@bugs.debian.org (full text, mbox, reply):

From: Hideki Yamane <henrich@debian.or.jp>
To: Daiki Ueno <ueno@gnu.org>
Cc: 714625@bugs.debian.org
Subject: Re: Bug#714625: gedit: Crash gettext syntax highlight + Input Japanese characters
Date: Tue, 9 Jul 2013 18:49:54 +0900
Hi,

On Wed, 03 Jul 2013 19:38:47 +0900
Daiki Ueno <ueno@gnu.org> wrote:
> Sorry, this is a regression caused by my commit:
> https://git.gnome.org/browse/gtk+/commit/?id=7a9553cfb5d465df79161f61f7c01d872e90b983
> 
> Posted a fix:
> https://bugzilla.gnome.org/show_bug.cgi?id=703533

 Thanks, I've confirmed the fix works fine.
 Maintainer, please consider to apply it to your package, thanks.


-- 
Regards,

 Hideki Yamane     henrich @ debian.or.jp/org
 http://wiki.debian.org/HidekiYamane



Added tag(s) patch. Request was from Hideki Yamane <henrich@debian.or.jp> to control@bugs.debian.org. (Fri, 12 Jul 2013 00:27:04 GMT) (full text, mbox, link).


Marked as fixed in versions 3.10.1-1. Request was from Hideki Yamane <henrich@debian.or.jp> to control@bugs.debian.org. (Wed, 26 Feb 2014 08:03:04 GMT) (full text, mbox, link).


Reply sent to Hideki Yamane <henrich@debian.or.jp>:
You have taken responsibility. (Wed, 26 Feb 2014 12:09:11 GMT) (full text, mbox, link).


Notification sent to Hideki Yamane <henrich@debian.org>:
Bug acknowledged by developer. (Wed, 26 Feb 2014 12:09:11 GMT) (full text, mbox, link).


Message #59 received at 714625-done@bugs.debian.org (full text, mbox, reply):

From: Hideki Yamane <henrich@debian.or.jp>
To: 714625-done@bugs.debian.org
Subject: fixed in 3.10 series
Date: Wed, 26 Feb 2014 21:05:43 +0900
It was already fixed in upstream 3.10 that in unstable.
so let's close it.

--
Hideki Yamane
-- 
Regards,

 Hideki Yamane     henrich @ debian.or.jp/org
 http://wiki.debian.org/HidekiYamane



Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Thu, 27 Mar 2014 07:26:50 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Mon Jun 5 03:03:51 2023; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.