pTeX エンジンが  Segmentation fault を起こす

以前の「[TeXエンジンが Abort trap 6 で落ちる](http://qiita.com/doraTeX/items/600a1c4248fb14de9c3b)」の続編(!?)です。

```tex:test.tex
$\mathchoice{あ}{}{}{}$
\bye
```

というソース (UTF8) を

```sh
$ ptex test
```

でコンパイルしようとすると，次のように Segmentation fault で落ちます（TeX Live 2015 on OS X 10.10 Yosemite で確認）。

```
This is pTeX, Version 3.14159265-p3.6 (utf8.euc) (TeX Live 2015) (preloaded format=ptex)
 restricted \write18 enabled.
(./test.texSegmentation fault: 11
```

pTeX 系列の (e)(u)pTeX の4種類のエンジン全てで再現しました。

* TeX Live 2015/2014 on Mac
* TeX Live 2015/2014 on Windows
* W32TeX 最新版
* W32TeX 2012年頃の版
* TeX Live 2012 on Cygwin

で再現が確認されており，随分昔から存在するバグのようです。

一方，

* 最新版 W32TeX で pTeX のオプションに `-no-guess-input-enc` を付けた場合
* ソースが SJIS のものを TeX Live 2012 on Cygwin で処理した場合

はエラーとならないことも確認されており，どうやら UTF8 の文字コードまわりの問題のようです。

# Twitter の情報のまとめ

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">echo &quot;\relax$\mathchoice{あ}{}{}{}$\bye&quot; | ptex で TeX Live 2015 の pTeX に Segmentation fault を起こさせることに成功した！ <a href="http://t.co/ciF8QJkzYd">pic.twitter.com/ciF8QJkzYd</a></p>&mdash; Yusuke Terada (@doraTeX) <a href="https://twitter.com/doraTeX/status/641644331380576261">2015, 9月 9</a></blockquote> <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
<blockquote class="twitter-tweet" data-conversation="none" lang="ja"><p lang="ja" dir="ltr"><a href="https://twitter.com/doraTeX">@doraTeX</a> W32TeXでも再現しました（ptex.exeは動作を停止しました）。ただ-no-guess-input-encにするとSegmentation faultを起こしません。</p>&mdash; Acetaminophen (@aminophen) <a href="https://twitter.com/aminophen/status/641645746249269248">2015, 9月 9</a></blockquote> <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
<blockquote class="twitter-tweet" data-conversation="none" lang="ja"><p lang="ja" dir="ltr"><a href="https://twitter.com/aminophen">@aminophen</a> TeX Live 2014 でも再現しました。(e)(u)pTeX の全てで再現します。もしやだいぶ昔からあるバグ!?</p>&mdash; Yusuke Terada (@doraTeX) <a href="https://twitter.com/doraTeX/status/641646593393844228">2015, 9月 9</a></blockquote> <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
<blockquote class="twitter-tweet" data-conversation="none" lang="ja"><p lang="ja" dir="ltr"><a href="https://twitter.com/doraTeX">@doraTeX</a> TeX Live 2012 on Cygwinでも再現です。結構古くからあるんですかね。</p>&mdash; Acetaminophen (@aminophen) <a href="https://twitter.com/aminophen/status/641647456741036032">2015, 9月 9</a></blockquote> <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
<blockquote class="twitter-tweet" data-conversation="none" lang="ja"><p lang="ja" dir="ltr"><a href="https://twitter.com/doraTeX">@doraTeX</a> TL2012/Cygwinと最新W32TeXで試したのですが、hoge.texに当該ソースを書いてptexにかけると&#10;・SJISで保存→Cyg：正常、W32：guess有無に依らず失敗&#10;・UTF8で保存→Cyg：失敗、W32：先述のとおり&#10;でした。</p>&mdash; Acetaminophen (@aminophen) <a href="https://twitter.com/aminophen/status/641650878152241152">2015, 9月 9</a></blockquote> <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
<blockquote class="twitter-tweet" data-conversation="none" lang="ja"><p lang="ja" dir="ltr"><a href="https://twitter.com/doraTeX">@doraTeX</a> TL2014,2015のWin版もW32TeXの2012年頃のも、先ほどのW32TeX最新と同じですね。文字コードまわりで何かが起きていますね。</p>&mdash; Acetaminophen (@aminophen) <a href="https://twitter.com/aminophen/status/641653400715702272">2015, 9月 9</a></blockquote> <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

# 続報 (2015/09/10)

ptex-base.ch を北川さんが[改修](https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/ptexdir/ptex-base.ch?r1=38333&r2=38332&pathrev=38333)してくださいました。
これにより，pTeX のバージョンは p3.6 から p3.7 になりました。([ptex_version.h](https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/ptexdir/ptex_version.h?r1=38333&r2=38332&pathrev=38333), [ptex-base.ch](https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/ptexdir/ptex-base.ch?r1=38334&r2=38333&pathrev=38334))

既に TeX Live の上流にも [r38333](https://www.tug.org/svn/texlive?view=revision&revision=38333), [r38334](https://www.tug.org/svn/texlive?view=revision&revision=38334) としてコミットされており，次の TeX Live 2016 のリリースにおいて修正されることになります。

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">先程のpTeXのバグを，北川さんが早速改修してくださいました！これにより，pTeXのバージョンが p3.6 から p3.7 に上がっています。&#10;<a href="https://t.co/F3SZslqd6n">https://t.co/F3SZslqd6n</a> <a href="https://t.co/EjjDXjoisp">https://t.co/EjjDXjoisp</a></p>&mdash; Yusuke Terada (@doraTeX) <a href="https://twitter.com/doraTeX/status/641865203714535424">2015, 9月 10</a></blockquote> <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr"><a href="https://twitter.com/doraTeX">@doraTeX</a> 早速W32TeXを更新し、直ったことを確認しました。</p>&mdash; Acetaminophen (@aminophen) <a href="https://twitter.com/aminophen/status/642069756208525312">2015, 9月 10</a></blockquote> <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>