[BACK]Return to changelog-ja.tex CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Doc

File: [local] / OpenXM / src / kan96xx / Doc / changelog-ja.tex (download)

Revision 1.37, Sat Mar 14 00:50:55 2020 UTC (4 years, 2 months ago) by takayama
Branch: MAIN
CVS Tags: HEAD
Changes since 1.36: +70 -1 lines

A note on the implementation of doPolymake

% $OpenXM: OpenXM/src/kan96xx/Doc/changelog-ja.tex,v 1.37 2020/03/14 00:50:55 takayama Exp $
\documentclass{jarticle}
\title{ChangeLog \\ ---kan96xx, kxx, k097}
\author{Nobuki Takayama}
\date{}
\usepackage{url}
\begin{document}
\maketitle


%%OpenXM/doc/Papers/rims-2003-12* $B$K(B oxshell, polymake

\section{2004-02, port $B2=(B}

\begin{enumerate}
\item gmp $B$O%M%C%H%o!<%/$+$i%@%&%s%m!<%I$7$F%$%s%9%H!<%k$9$k$h$&$K$9$k(B.
{\tt OpenXM\_contrib} $B$O$D$+$o$J$$(B.
\item {\tt OpenXM/src/gmp/Makefile-ports} 1.1--1.5,
%%Mail/openxm-cvs.inbox 141
\end{enumerate}

\section{2004-02,  memory leak}
\begin{enumerate}
\item {\tt misc-2003/A2/bs-poly/bs2-leak.sm1} $B<B9T;~$K%/%i%$%"%s%H9=B$BN(B
$B$,2u$l$k(B.  gmp 4.x $B$K$h$k%a%b%j%j!<%/$r5?$&$b(B, {\tt GC\_malloc} $B$r;H$&$Y$-$H$3$m$G(B
{\tt malloc} $B$rMQ$$$F$$$?$N$G%a%b%j$,GK2u$5$l$F$$$?$HH=L@(B.
{\tt malloc} $B$NCf$K%]%$%s%?$rF~$l$F$O$$$1$J$$(B.
\item {\tt OpenXM/src/kan96xx} $B0J2<$N3F%U%!%$%k(B.
{\tt Kan/kanExport1.c} 1.11,
{\tt Kan/poly3.c} 1.7,
{\tt Kan/shell.c} 1.11,
{\tt plugin/file2.c} 1.9 ($B860x(B),
{\tt plugin/oxKan0.h} 1.16,
{\tt plugin/sm1Socket.c} 1.16 ($B860x(B).
{\tt OpenXM/src/kxx/oxmain.c} 1.15.
%%Mail/openxm-cvs.inbox 164 2004-2-23
\end{enumerate}

\section{2004-02, 03, ox\_texmacs}
\begin{enumerate}
\item sm1 $B$r4pAC$H$7$F(B ox\_texmacs $B$r:n$k(B.  {\tt -q} option $B$GM>7W$J(B
$B%a%C%;!<%8$rI8=`=PNO$X=P$5$J$$$h$&$K$9$k(B.  $B<!$N%U%!%$%k$rJQ99(B.
%%Mail/openxm-cvs.inbox 203, 204, 210, 213, 215, 220, 221, 222
\item {\tt OpenXM/src/util/ox\_pathfinder.c} 1.18--1.19,
{\tt OpenXM/src/util/ox\_pathfinder.h} 1.11,
{\tt OpenXM/src/kxx/ox100start.c} 1.6,
{\tt OpenXM/src/kan96xx/Doc/ox.sm1} 1.34--1.35,
{\tt OpenXM/src/kan96xx/Kan/ext.c} 1.23,
{\tt OpenXM/src/kan96xx/Kan/kanExport0.c} 1.21,
{\tt OpenXM/src/kan96xx/plugin/mytcpio.c} 1.14.
\item {\tt ox\_texmacs}. 
 {\tt OpenXM/src/kxx} $B0J2<$N<!$N%U%!%$%k$rJQ99(B.
\item {\tt ox\_texmacs.c} 1.1--1.17,
{\tt sample\_kanlib.c} 1.1,
\item {\tt init-openxm.scm} $B$N:n@.(B ($B>.86(B).
\end{enumerate}

\section{2004-03, ox $B5!G=$N6/2=(B}
\begin{enumerate}
\item option $B$D$-$N4X?t$h$S$@$7(B.
%%Mail/openxm-cvs.inbox 286, 288  $B$^$@=q$$$F$J$$(B
\end{enumerate}

\section{2004-07, dhecart (2$B=EF1;~2=$K$h$k(B gb)}
\begin{enumerate}
\item h[0,1](D) $B$G$N%0%l%V%J(B fan $B$N7W;;$N$?$a$N=`Hw(B.
\item Doc/dhecart.sm1,  dh.gb 
%%Mail/openxm-cvs.inbox ??
\end{enumerate}

\section{2004-08-22, lcm, polylcm, gcd, polygcd, $B$=$NB>(B}
\begin{enumerate}
\item polylcm, polygcd $B$O(B ox $B$rMQ$$$k(B.
\item mpzext (lcm, gcd).  int32 $B$O(B universalNumber (mpz\_int) $B$X<+F0JQ49(B.
\item ox.sm1 $B$O5/F0$N;~$+$i(B load $B$9$Y$-$@$,$^$@$d$C$F$J$$(B.
%%Mail/openxm-cvs.inbox ??
\item \verb@[(exponents) ...] gbext @ $B$G(B exponents $B$r<h$j=P$;$k(B. $B;O$a$NHG$O(B 8 $B7n:"(B.
\item {\tt exponents} $B$N(Bformat $B$rJQ$($?(B. (9/5. cf.gfan.sm1, cone.sm1) \\
{\tt OpenXM/src/kan96xx/Kan/kanExport1.c} 1.16.
\end{enumerate}

\section{2004-08-31, weight $B%Y%/%H%k$G(B univNum $B$r<u$1<h$k(B}
\begin{enumerate}
\item {\tt to\_int32}, {\tt Kto\_int32} $B$G(B univNum $B$r(B int32 $B$X(B.
\item {\tt to\_int} $B$O(B {\tt to\_univNum} $B$KF1CM(B. $B$I$A$i$+$rGQ;_$7$h$&(B.
\item $BFbIt4X?t$NJQ99(B: {\tt KordWsAll()}, {\tt KsetUpRing()}, {\tt oInitW()}
\item $B%^%/%m(B: {\tt ord\_w}, {\tt weight\_vector}, {\tt s\_weight\_vector},
{\tt w\_to\_vec}, {\tt ecart.weight\_vector}, {\tt ord\_ws\_all}
\item  $B%F%9%HJ}K!(B.  cvs-eventail/aux-cone.sm1 $B$N(B test7 $B$rMQ$$$k(B.
%%Mail/openxm-cvs.inbox ??
\end{enumerate}

\section{2004-09-5, error $B$*$h$S(B ctrl-C $B$G%^%/%m$N8F$S=P$7MzNr$rI=<((B(trace)}
\begin{enumerate}
\item {\tt traceShowStack()} $B$r8F$S=P$9$H8F$S=P$7MzNr$,I=<($5$l$k(B.
$BMzNr$rJ8;zNs$GLa$9(B.
\item \verb@ ctrlC_hook @ $B$N<B9TCf$K%(%i!<$r$*$3$9$H(B, ox103\_reset $B$,(B
$B$h$P$l(B, $B$3$l$,L58B%k!<%W$r@8$`(B. $B$3$l$rKI;_(B.
\item {\tt executeToken} $B$9$kA0$K4X?t$NL>A0$r(B trace $BMQ$N%9%?%C%/(B
{\tt TraceNameStack} $B$X(B push.
$B<B9T$,$*$o$l$P(B pop $B$9$k$3$H$K$h$j(B, $BMzNrI=<($r%3%s%H%m!<%k(B.
\item extension $B$GMzNr$N%/%j%"(B, $B6/@)I=<($,$G$-$k(B.
\item ctrl-C $B$GMzNr$NI=<((B, $B%/%j%"$r$9$k(B. $B$3$l$O3F(B ox server $B$GBP=h$NI,MW$"$j(B.
\item 
{\tt OpenXM/src/kan96xx/Kan/ext.c} 1.24 \\
{\tt OpenXM/src/kan96xx/Kan/kanExport0.c} 1.30 \\
{\tt OpenXM/src/kan96xx/Kan/stackmachine.c} 1.15--1.18  \\
{\tt OpenXM/src/kan96xx/Kan/usage.c} 1.30 \\
{\tt OpenXM/src/k097/ox\_k0.c} 1.6 \\
{\tt OpenXM/src/kxx/ox\_texmacs.c} 1.19 \\
{\tt OpenXM/src/kxx/oxserver00.c} 1.15 \\
{\tt OpenXM/src/kxx/sample\_kanlib.c} 1.2
\end{enumerate}

\section{2004-09-05, EUC$BEy(B 8-bit $B$NL>A0$r<u$1IU$1$k(B}
\begin{enumerate}
\item hash $BCM$N7W;;J}K!$K%P%0$,$"$C$?(B. hash $B$NCM$OIi$G$O$$$1$J$$(B.
\item {\tt OpenXM/src/kan96xx/Kan/stackmachine.c} 1.17
\end{enumerate}


\section{2004-09-05, $B%0%l%V%J(Bfan$B$N7W;;(B}
\begin{enumerate}
\item polymake $B$,I,MW(B.  9/1, 9/2, 9/3, 9/4 $B$N%N!<%H$b;2>H(B.
\item OpenXM $B$N(B cvs $B$X$N(B commit $B$OBg$-$$6h@Z$j$G(B. 
      $B:Y$+$$JQ99$O(B {\tt eventail/cone.sm1} $B$G(B.
\item {\tt OpenXM/src/kan96xx/Doc/gfan.sm1} 1.1
\end{enumerate}

\section{2004-09-05, $B%0%l%V%J(Bfan$B$N7W;;(B}
\begin{enumerate}
\item polymake $B$,I,MW(B.  9/1, 9/2, 9/3, 9/4 $B$N%N!<%H$b;2>H(B.
@s/2004/08/21-note.pdf $B$KJQ?tEy$N@bL@$"$j(B.
\item OpenXM $B$N(B cvs $B$X$N(B commit $B$OBg$-$$6h@Z$j$G(B. 
      $B:Y$+$$JQ99$O(B {\tt eventail/cone.sm1} $B$G(B.
\item {\tt OpenXM/src/kan96xx/Doc/gfan.sm1} 1.1
\end{enumerate}

\section{2004-09-09, 11, list $B$N6/2=(B}
\begin{enumerate}
\item array $B$N(B {\tt join} $B$r9T$&$H%a%b%j$NL5$@;H$$$,$O$2$7$$(B.
list $B$N(B {\tt cons} $B$rF3F~(B.  rest $B$bF3F~(B. join $B$O;H$($k$,4m81(B.
\item 
{\tt arrayToList}, {\tt listToArray} : $BJQ494X?t$r=`Hw(B.
\item {\tt get} $B$,%j%9%H$G$bF0$/$h$&$K(B.
\item {\tt Kan/dr.sm1} 1.35--1.36, 1.38 \\
{\tt Kan/extern.h} 1.24--1.25 \\
{\tt Kan/ext.c} 1.25 \\
{\tt Kan/kanExport0.c} 1.31--1.33 \\
{\tt Kan/list.c} 1.3--1.5 \\
{\tt Kan/primitive.c} 1.12 \\
{\tt Kan/smacro.sm1} 1.5 \\
{\tt Kan/usage.c} 1.32 \\
{\tt Kan/usage.sm1} 1.9
\end{enumerate}

\section{2004-09-10, $B%3%s%^(B {\tt ,} $B$N07$$$NJQ99(B}
\begin{enumerate}
\item  $B%3%s%^(B {\tt ,} $B$O$$$^$^$G%^%/%m$G$"$C$?$,(B, $B6uGr$H$7$F07$&$h$&$KJQ99$9$k(B.
\item  $B%7%9%F%`$NJQ99$O0J2<$NDL$j(B. \\
{\tt Kan/scanner.c} 1.5--1.6 \\
{\tt Kan/scanner2.c} 1.4--1.5 \\
{\tt Kan/dr.sm1} 1.37 \\
{\tt Kan/smacro.sm1} 1.6 
\item $B$=$NB>$O%i%$%V%i%jFbIt$G(B {\tt ,,} $B$r(B {\tt \_\_} $B$X(B,
{\tt ,,,} $B$r(B {\tt \_\_\_} $B$XJQ99$7$?(B.
\end{enumerate}

\section{2004-09-11,12, infix operator $B$rF3F~(B}
\begin{enumerate}
\item {\tt getattr} $B$r2C$($?(B (step 1). 
\item {\tt attr} $B$K(B {\tt ATTR\_INFIX} $BB0@-(B bit $B$rN)$F$F(B,
infix operator $B$H$9$k(B.
\item {\tt attr} $B$N(B PROTECT $BB0@-$r(B bit $B$G=hM}$9$k$h$&$KJQ99(B (step 2).
$B%F%9%H$O(B {\tt k0} $B$G(B
\begin{verbatim}
sm1(" [(getattr) /cons] extension :: ");
cons = 1;
\end{verbatim}
Warning $B$,I=<($5$l$k$+(B?
\item infix $BB0@-$,$"$k$H$-(B, {\tt getokenSM(GET)} $B$G<!$N(B token $B$rFI$_9~$_(B
$B$=$l$r(B {\tt executeToken} $B$7$F$+$i(B, infix $BB0@-$N$"$k%^%/%m$r<B9T$9$l$P(B
$B$$$$$+$H$$$&$H(B, $B$=$l$G$O(B top level  $B$N=hM}$7$+$G$-$J$$(B.
$B$?$H$($P(B, tokenArray $B$r=gHV$K=hM}$7$F$$$k$h$&$J>l9g$O$@$a(B.
$B$h$C$F(B, {\tt executeToken} $B$NLa$jCM$N(B status $B$NCM$r(B
$BMQ$$$k(B.  status $B$O(B {\tt loop} $B$+$i(B {\tt exit} $B$9$k$H$-$K$b;H$o$l$F$$$k(B
$B$N$G(B, status $B$NH=DjJ}K!$r8+D>$9I,MW$,$"$k(B.
\end{enumerate}

\section{2004-09-13, $BItJ,E*$J(B ecart division}

\noindent Debug $BMQ$N%G!<%?(B 1.
{\footnotesize \begin{verbatim}
[ [( (x Dx)^2 + (y Dy)^2 -1) ] (x,y) 
  [ [ (Dx) 1 ] [(x) -1 (y) -1 (Dx) 1 (Dy) 1]] 
  [(partialEcartGlobalVarX) [(x) (y)]] ] ecart.gb /ff set

ff getRing ring_def show_ring

\end{verbatim}
}

\noindent Debug $BMQ$N%G!<%?(B 2.
{\footnotesize \begin{verbatim}
/ecart.checkOrder { 1 } def
[(DebugReductionEcart) 3] system_variable
[ [(1-x-y-z) (1-z)] (x,y,z) 
  [ [(y) -1 (z) -1 (Dy) 1 (Dz) 1] [(x) 1 (Dx) 1]] 
  [(partialEcartGlobalVarX) [(x)]] ] ecart.gb /ff set

ff getRing ring_def show_ring

 [ [(1-z) (-x+1-y-z)] (x,y,z) 
  [ [(y) -1 (z) -1 (Dy) 1 (Dz) 1] [(x) 1 (Dx) 1]] 
  [(partialEcartGlobalVarX) [(x)]] ] /std set
(1+x^3) std ecartd.reduction
(x*y*z) std ecartd.reduction
\end{verbatim}
}
GlobalVarX $B$NJQ?t$K$D$$$F$O(B local order $B$G$O$$$1$J$$(B.
$BL58B%k!<%W$H$J$k(B.
{\tt ecart.checkOrder} $B$b=q$-D>$5$J$$$H$$$1$J$$(B.

\begin{enumerate}
\item \verb@ ringp->partialEcart @ $B$O(B int $B$NG[Ns(B
\verb@ ringp->partialEcartGlobalVarX @ $B$ND9$5(B.
$B$3$NG[Ns$K(B local $B$G$J$$JQ?t(B (first weight $B$,(B non-negative $B$J(B x $BJQ?t(B) $B$N%j%9%H$rF~$l$k(B.
{\tt ecartGetEllPartial()} $B$GMxMQ$5$l$k(B.
\item Todo: ring $B$N%a%s%P(B {\tt ringInInputForm} $B$N3hMQ(B. ( weight vector $B$d(B
input $B7A<0$N(B ring $B$r(B object $B$H$7$F3JG<(B.
\item Todo: {\tt KgetRingInfo} $B$r<BAu$9$k(B. index $B$+$i(B $BJQ?t(B, $BJQ?t$+$i(B index $BEy(B.
\end{enumerate}

\section{2004-09, {\tt ATTR\_EXPORT} $B$H(B {\tt RestrictedMode}}

\noindent
$B8=:_$N(B RestrictedMode $B$K$O0J2<$N@H<e@-$,$"$k(B (2004.9.19).
\begin{verbatim}
(cohom.sm1) run
[(or_attr) 8 /gb] extension 
[(or_attr) 8 /;] extension ;
[(RestrictedMode) 1] system_variable ;
[ [{(hello) message } ] (x,y) ] gb ;
hello     <----  error $B$r5/$3$9A0$K(B {(hello) message} $B$,<B9T$5$l$F$7$^$&(B.
ERROR(sm): 
<< /name object def >>  or  << object /name set >>
\end{verbatim}
\noindent $B860x(B: 
$B0z?t$K(B executableArray $B$rM?$($k$3$H$K$h$j(B, $BI>2A$,M^@)$5$l(B
{\tt ATTR\_EXPORT} bit $B$,%;%C%H$5$l$?4X?t$NI>2A$,$O$8$^$C$F$+$i(B
executableArray $B$,JQ?t(B {\tt arg1} $B$KBeF~$5$l(B, $B$=$NJQ?t$r(B scanner
$B$,I>2A$9$k$3$H$K$h$j(B, executableArray $B$,I>2A$5$l$k(B.

\noindent $BBP:v(B:
{\tt isThereExecutableArrayOnStack(ob)} $B$G%9%?%C%/$r8!::$9$k$h$&$K$9$k(B.
\begin{verbatim}
(cohom.sm1) run
[(or_attr) 8 /gb] extension 
[(or_attr) 8 /;] extension ;
0 1 10 { pop pop } for
[(RestrictedMode) 1] system_variable ;
[ [{(hello) message } ] (x,y) ] gb ;
\end{verbatim}

$B%F%9%H(B 2 ($B$3$A$i$O@5>o$KF0$/$O$:(B).
\begin{verbatim}
(ox.sm1) run
[(or_attr) 8 /fctr] extension 
[(or_attr) 8 /pmat] extension ;
[(or_attr) 8 /;] extension ;
0 1 10 { pop pop } for
[(RestrictedMode) 1] system_variable ;
[ (x^2-1) (x,y) ] fctr pmat ;
\end{verbatim}

\section{2004-11-23, POST $B%Y!<%9$N(B cgiPolymake $BEy(B}

\begin{enumerate}
\item 
{\tt Kan/plugin/mytcpio.c} 1.15 \\
{\tt Kan/plugin/oxcgi.c} 1.7 \\
{\tt Kan/ext.c} 1.33 \\
{\tt Kan/Doc/cgi.sm1} 1.8--1.11 \\
{\tt polymake/cgi/cgi-polymake.sh} 1.3 
\end{enumerate}

GET $B$G$O<uEO$7$G$-$k%G!<%?$NNL$K@)8B$,$"$k$?$a(B,
POST $B%Y!<%9$KJQ99$7$?(B.
\begin{verbatim}
POST http://polymake.math.kobe-u.ac.jp/cgi-bin/cgi-asir.sh HTTP/0.9
Content-length: 20

oxMessageBody=2-1%0A
\end{verbatim}

POST $B$N%G!<%?$r$&$1$H$k$?$a(B,
\verb@ [(read) fd size] extension @
$B%7%9%F%`%3!<%k$r2C$($?(B.

$B%7%9%F%`%3!<%k(B {\tt perror} $B$rMQ$$$F(B,
tcpip $B$N%(%i!<Ey$rI=<($9$k$h$&$K$7$?(B.
{\tt eventail/data/test32.sm1} $B$NESCf$N%(%i!<$O(B,
GET $B$G$O<uEO$7$G$-$k%G!<%?$NNL$K@)8B$,$"$k$?$a(B
$B5/$-$?$h$&$G$"$k$,(B, $BE,@Z$J%(%i!<%a%C%;!<%8$,$J$/$F(B
$B860x$N5fL@$K;~4V$,$+$+$C$?H?>J(B.

{\tt misc-2004/11/cgi} $B$b;2>H$N$3$H(B.
Risa/Asir $B$N(B \verb@ set_secure_mode @ , \verb@ set_secure_flag @
$B$K$bBP1~Cf(B.

\section{2004-12-16, gnuplot v4 $B$X$NBP1~(B.}

\begin{enumerate}
\item 1.3-1.4     OpenXM/src/kan96xx/Doc/gnuplot.sm1 
\item 1.11        OpenXM/src/kan96xx/plugin/file2.c 
\item 1.6           OpenXM/src/kan96xx/plugin/file2.h
\item 1.6        OpenXM/src/kan96xx/plugin/file2.hh
\item 1.4          OpenXM/src/kan96xx/plugin/file2.sm1
\item 1.15        OpenXM/src/asir-contrib/packages/src/gnuplot
\end{enumerate}

gnuplot $B$G(B mouse  $B$rMxMQ$G$-$k$h$&$K$7$?$$(B.
$B$=$N$?$a(B, gnuplot $B$r(B batch mode $B$G$J$/(B,
interactive mode $B$GMxMQ$G$-$k$h$&$K$7$?(B.
http://www.gnuplot.info $B$K$"$C$?(B, $B%5%s%W%k%W%m%0%i%`(B
{\tt gpReadMouseTest.c} ({\tt misc-2004/12/misc}) 
$B$r;29M$K(B mkfifo, popen $BEy$rMQ$$$F<BAu$7$?(B.
mkfifo, popen $BEy$N%7%9%F%`%3!<%k$O(B plugin-file2 $B$X2C$($?(B.

sm1 $B$G$d$k%F%9%H$N<j=g$O0J2<$N$H$*$j(B.
\begin{verbatim}
 (gnuplot.sm1) run
 plotstart.aux
 (splot x**2-y**2;) gnuplot
 plotstop.aux
\end{verbatim}

Windows, Debian package $B$N(B build $B$N%F%9%H$O$^$@(B.
({\tt gnuplot4ox} $B$O(B {\tt gnuplot} $B$K(B. {\tt gnuplot\_x11} $B$O(B {\tt libexec}
$B$N2<$X(B install $B$5$l$k$?$a(B.)

Bug: {\tt plot\_dots} $B$G(B, $B7W;;$7$J$,$iI=<($9$k$H$$$&J}K!$,$&$^$/$$$+$J$$(B.
$BBg$-$J%G!<%?$rEO$9$H$&$^$/F0$+$J$$(B. cf. {\tt heat()}.

\section{2005-01-23, EUC$BEy(B 8-bit $B$NL>A0$r<u$1IU$1$k(B. bug fix}
\begin{enumerate}
\item scanner2 $B$N(B bug $B$K$h$j(B, $B%H%C%W%l%Y%k0J30$G$O(B 8 bit $B$NL>A0$r$&$1$D$1(B
    $B$J$+$C$?(B.
\item {\tt OpenXM/src/kan96xx/Kan/scanner2.c} 1.7
\end{enumerate}

\section{2005-02-28, ox, bug fix}

\begin{enumerate}
\item Engine $B$N$_$r(B quit  $B$9$k$H(B control server $B$,;D$k%P%0(B.
$B2r7h(B: oxmain.c $B$G(B  SIGCHLD $B$r<u$1<h$k$h$&$K$7$?(B.
\item Engine $B$r(B quit $B$7$F$7$^$C$?$"$H(B, Engine $B$G%G!<%?$r$*$/$m$&$H$9$k$H(B,
SIGPIPE $B$G(B $B%/%i%$%"%s%H$,=*N;$7$F$7$^$&%P%0(B.
\begin{verbatim}
  (ox.sm1) run
  sm1connectr
  oxsm1.ccc (quit) oxsubmit
  oxsm1.ccc oxpopcmo --> $B%/%i%$%"%s%H=*N;(B.
\end{verbatim}
$B$^$@40A4$K2r7h$7$F$J$$(B. 
ox texmacs $B$,@5$7$/F0:n$9$k$N$+MW%F%9%H(B.
\end{enumerate}

\section{2005-06-9, 16, attribute, options.}
\begin{enumerate}
\item  $BA4$F$N(B object $B$K(B attr (attribute field) $B$r$D$1$?(B.
$B8zN($K4X$9$kD4::$O(B {\tt misc-2005/06/gfan/test1.sm1} (taka).
$B;~4VE*8zN($K$D$$$F$O$"$^$jLdBj$J$$(B.
\item $B9=B$BN$N(B {\tt attr} $B%U%#!<%k%I$r=i4|2=$9$k$?$a(B {\tt OINIT} $B%^%/%m$r(B
$B2C$($?(B. {\tt stackm.h}
$B=i4|2=$,$J$$$H(B segfault $B$9$k>l9g$b(B.
\item {\tt @s/2005/06/16-note.pdf} (taka) $B$K3+H/%a%b$"$j(B.
\item {\tt attr} $B$r(B {\tt groebner}, {\tt gb} $BEy$G3hMQ$9$k(B.
\end{enumerate}

$B%=!<%9$NJQ99$OB?4t$K$o$?$k$N$G0lIt$N$_5-$9(B.
\begin{enumerate}
\item {\tt OpenXM/src/kan96xx/Kan/dr.sm1} 1.49,  {\tt setAttribute} $BEy$N%^%/%m(B.
\item {\tt OpenXM/src/kan96xx/kan/gb.c} 1.10,11, {\tt groebner} $B$,(B attr $B$G(B gb $B$+$I$&$+$N>pJs$rLa$9(B.
\item {\tt OpenXM/src/kan96xx/Doc/hol.sm1} 1.23,  gb, pgb, gb\_h $B$,(B option $B$r(B attr $B$G<u$1<h$l$k$h$&$K$9$kJQ99(B.
\end{enumerate}

$BNc(B:
{\footnotesize
\begin{verbatim}
  ob key getAttribute value
  Example: [(x-1) (y-1)] (gb) 1 setAttribute /ff set
           ff (gb) getAttribute ::
  
  ob getAttributeList attr-obj
  Example: [(x-1) (y-1)] [(gb) 1] setAttributeList /ff set
           ff getAttributeList ::

  sm1> [(x0,x1) ring_of_polynomials 0] define_ring
           [(x0^2+x1^2-h^2). (x0 x1 -4 h^2).] /ff set ;
  sm1>[ff [(gbCheck)]] groebner /gg set ;
   3.gbCheck failed.
  Note that the result is NOT groebner basis.
  
  Completed.
  sm1>gg getAttributeList ::
  [    $gb$ , 0 ]


   [ [( (x Dx)^2 + (y Dy)^2 + 1) ( x y Dx Dy -1)] (x,y)
       [ [ (Dx) 1 ] ] ] [(gbCheck) 1] setAttributeList gb getAttributeList ::
  
   [ [[(h+x) (x^3 + 2 h^3 + 2 x h^2)] [(x) (x)]] (x)]
              [(reduceOnly)] setAttributeList gb_h pmat


\end{verbatim}
}

\section{2005-07-07, gfan.sm1}
\begin{enumerate}
\item  Collar-Kalkbrener-Moll $B$N%"%k%4%j%:%`$r<BAu$7$?(B.
\item {\tt getNextCone}, {\tt ckmFlip}
\item {\tt cone.ckmFlip} $B$,(B 1 $B$N;~(B CKM $B%"%k%4%j%:%`$rMQ$$$k(B.
\item  {\tt cone.DhH} $B$,(B 1 $B$N;~(B $\partial x = x \partial + hH$,
0 $B$N;~(B $\partial x = x \partial + h^2$ $B$rA*Br(B.
{\tt cone.gb}, {\tt cone.reduction}, {\tt cone.gb\_gr}.
\item $B4XO"$9$k(B sm1 $BK\BN$NJQ99(B.
\item {\tt eventail/data/test35.sm1}, {\tt test36.sm1}.
\end{enumerate}

\begin{enumerate}
\item {\tt OpenXM/src/kan96xx/Doc/gfan.sm1} 1.10, 1.11.
\end{enumerate}

\section{2005-07-18, Error Message}
\begin{enumerate}
\item  $B%5!<%P$O%(%i!<$N0LCV$*$h$S%(%i!<$N0LCV$G$NFI$_9~$_%G!<%?$r(B
XML $B7A<0$GAw$k(B.
\begin{verbatim}
 (ox.sm1) run  sm1connectr
 oxsm1.ccc (1 shell) oxsubmit 
 oxsm1.ccc oxpopcmo  ::
\end{verbatim}
\item {\tt scanner.c}, {\tt scanner2.c} $B$G(B {\tt ScannerBuf} $B$K(B
 $BFI$_9~$s$@%G!<%?$r=q$-9~$`(B.
\item {\tt stackmachineError()} $B$G(B 
 $BBg0hJQ?t(B {\tt MsgStackTrace}, {\tt MsgSourceTrace} $B$K=q$-9~$s$G$*$/(B.
\item {\tt kxx/sm1stackmachine.c} $B$N(B {\tt Sm1\_pushError2} $B$G(B,
$B>e$NBg0hJQ?t$K@_Dj$5$l$?%a%C%;!<%8$r$b$H$K(B,  error package
$B$NJ8;zNs$K(B XML $B7A<0$G(B error message $B$r=q$/(B.
\item \verb@ [(traceShowScannerBuf)] extension :: @
\item Todo: {\tt executeToken} $B$NCf$^$G$_$J$$$H(B, $B$9$G$KDj5A$5$l$?4X?t$N$I$N0LCV$G%(%i!<$r5/$3$7$?$N$+$,$o$+$i$J$$(B.
\end{enumerate}

\section{2006-01-26, -engineLogToStdout}
\begin{enumerate}
\item   engine $B$r(B xterm $BFbIt$GF0$+$5$J$$$G8F$S=P$7$?%W%m%0%i%`(B
$B$NI8=`=PNO$X$D$J$$$@$^$^F0$+$9(B.
\begin{verbatim}
 (ox.sm1) run 
 /Xm_engineLogToStdout 1 def
 asirconnectr 
 ((x-2)^2). fctr ::
\end{verbatim}
\item   cfep $B$X$NBP1~(B.
\begin{verbatim}
  ox_texmacs --view cfep --engineLogToStdout
  ox_texmacs --view debug --engineLogToStdout
\end{verbatim}
\end{enumerate}

$B%=!<%9$NJQ99(B.
\begin{enumerate}
\item {\tt OpenXM/src/kan96xx/Doc/ox.sm1} 1.46
\item {\tt OpenXM/src/kxx/ox\_texmacs.c} 1.26
\item {\tt OpenXM/src/kxx/ox100start.c}  1.7
\item {\tt OpenXM/src/util/ox\_pathfinder.c, h} 1.30
\end{enumerate}

\section{2006-01-30, class $B$N(B body $B$rF@$k(B.}
\begin{verbatim}
[1,2,3] (error) dc /ff set  %%CLASSNAME_ERROR_PACKET $B$r@8@.(B. body$B$O(B[1,2,3]
ff (body) dc   %% [class$B$N%?%0HV9f(B, class $B$N(B body object] $B$rLa$9(B.
--> [1,2,3]
\end{verbatim}
$B4XO"(B. {\tt KnewErrorPacketObj()}

$B%=!<%9$NJQ99(B.
\begin{enumerate}
\item {\tt OpenXM/src/kan96xx/Kan/kclass.c} 1.6
\end{enumerate}

\section{2006-02-01, $B?7$7$$(B error packet}
\begin{verbatim}
(ox.sm1) run
sm1connectr
oxsm1.ccc (1 shell) oxsubmit
oxsm1.ccc oxpopcmo ::
\end{verbatim}
\verb@ errorPacket (body) dc 3 get  @ $B$,(B
$B%j%9%H(B($B%-!<%o!<%I(B,$BCM(B)$B$H$J$k(B. $B>l=j(B(where)$B$dM}M3(B(reason),
$B=hM}7O$K$h$C$F$O(B, line $B$d(B parse error $B$N>l=j(B.
$B4XO";v9`(B: misc-2005/A1/cfep.
{\tt oxclearstack}. 

ox\_texmacs $B$G(B tunnel channel 0 $B$X(B cfep $BMQ$N%(%i!<L?Na$rAw$k(B.
({\tt outputStringToTunnel()})
\begin{verbatim}
ox_texmacs --view debug
!sm1;^E
1 shell ^E
\end{verbatim}


$B%=!<%9$NJQ99(B.
\begin{enumerate}
\item {\tt OpenXM/src/kan96xx/Kan/stackmachine.c} 1.34
\item {\tt OpenXM/src/kan96xx/Doc/ox.sm1}  1.48
\item {\tt OpenXM/src/kxx/sm1stackmachine.c}   1.6
\item {\tt OpenXM/src/kxx/ox\_texmacs.c}   1.27
\item {\tt OpenXM/doc/OpenXM-specs/OX-RFC-103.oxw} 1.6
\end{enumerate}

\section{2006-02-04, $B%a%C%;!<%8$N(B localization (ox$BMQ(B)}
$B%*%j%8%J%k(B {\tt misc-2005/A1/cfep/packages/misc}.
\begin{verbatim}
/localizedString.file (Resource/sm1-ja_JP.eucJP.sm1) def
localizedString.load              %% $B<-=q$r%m!<%I$9$k(B.
[(parse) (ox.sm1) pushfile] extension
sm1connectr 
oxsm1.ccc ( hoge ) oxsubmit 
oxsm1.ccc oxpopcmo /e1 set
e1 translateErrorForCfep message  %% $B%(%i!<(B obj $B$NK]Lu(B
\end{verbatim}
$B%(%i!<(B object $B$N9=B$(B.
[serial, $B6&DL%(%i!<HV9f(B, message, core]
$B6uMs$N$H$-$O(B, $-1$ $B$+(B null object.

$B%=!<%9$NJQ99(B.
\begin{enumerate}
\item {\tt OpenXM/src/kan96xx/Kan/dr.sm1} 1.53,  localizedString $B$rDI2C(B.
\item {\tt OpenXM/src/kan96xx/Doc/ox.sm1} 1.52,  translateErrorForCfep $B$r=$@5(B
\item {\tt OpenXM/src/kan96xx/Doc/Resource}  $BK]Lu$N$?$a$N%j%=!<%9(B.
\item {\tt OpenXM/src/kxx/Makefile.in} 1.36, Resource $B$r%3%T!<(B.
\end{enumerate}

\section{2006-02-04, {\tt -authEncoding file} $B$N<BAu(B}

OX-RFC-104 $B$N(B {\tt -authEncoding file} $B$r<BAu(B.
\begin{verbatim}
~/.openxm/tmp.opt/c.txt   -->  1435  (Do not put the newline character.)
~/.openxm/tmp.opt/d.txt   -->  1234
chmod 700 ~/.openxm/tmp.opt
ox -ox ox_sm1 -authEncoding file -passControl c.txt -passData d.txt
[(oxCreateClient) (localhost) 1300 1200 [(1435) (1234)]] extension ;
                              data ctrl  ctrl    data
\end{verbatim}

cfep $B$G(B MyOpenGLView $B$N(B event $BF~NOMQ$N(B delegate ox server ``ox\_nextevent''
$B$O(B ox\_asir  $B$N%5!<%P$G$"$k(B.
``ox\_nextevent'' $B$O(B 
MyOpenGLView $B$+$i(B NSPipe, NSTask $B$rMQ$$$F(B MyOpenGLView $B$N=PNO$r(B
stdin $B$G<u?.$G$-$k>uBV$G$J$$$H$$$1$J$$(B.
MyOpenGLView $B$O(B {\tt ox} $B$rMQ$$$F(B{\tt ox\_asir} $B$h$j$N=gJ}8~@\B3$r$^$DM=Dj(B.
\begin{enumerate}
\item {\tt OpenXM/src/kxx/oxmain.c} 1.22
\end{enumerate}

\section{2006-12-21, UseDsmall option}

\begin{enumerate}
\item {\tt OpenXM/src/kan96xx/Kan/output.c}
\item {\tt OpenXM/src/kan96xx/Kan/global.c}
\item {\tt OpenXM/src/kan96xx/Kan/kanExport0.c}
\item {\tt OpenXM/src/kan96xx/Kan/option.c}
\item {\tt OpenXM/src/kan96xx/Kan/usage.c}
\end{enumerate}

{\tt makeDsmall()}.

\verb@ [(UseDsmall) 1] system_variable @ $B$G(B
$B=PNO$N;~$@$1(B D $B$,>.J8;z$K$J$k(B.
asir \verb@ print_tex_form @ $B$r8F$S=P$9$?$aF3F~(B.

\section{2007-6-3,  mgkz}
\begin{enumerate}
\item {\tt OpenXM/src/kan96xx/Doc/gkz.sm1} 1.2 
\item {\tt OpenXM/src/kan96xx/Doc/printhelp.sm1} 1.9
\end{enumerate}
	
mgkz ($B%a%bE*$J?t3X%N!<%H$O(B misc-2006/04) $B%3%^%s%I$rDI2C(B.
Modified A-hypergeometric system $B$r@8@.(B.
printhelp.sm1 $B$K(B $B%-!<%o!<%I(B mgkz $B$rDI2C(B.

$B%W%m%0%i%`:n@.J}K!$N%a%b(B.
$B$^$:(B, gkz $B$r(B mgkz $B$H$7$F%3%T!<(B.
\verb@ (  ) error @ $B$r%W%m%0%i%`$N3FItJ,$KF~$l$J$,$i(B,
[ ] mgkz $B$r<B9T$7$F(B, debug.
$B$9$k$HJQ?t$NCM$r4Q;!$G$-$F4JC1(B.

\section{2009-8-26,  gfan}
\begin{enumerate}
\item {\tt OpenXM/src/kan96xx/Doc/gfan.sm1} 1.13 
\end{enumerate}

Grobner cone $B$G(B $B@~7?6u4V$r=|$$$?$b$N$N(B
$B<!85$,(B $1$ or $0$ $B$N;~$O@5$7$/F0:n$7$J$$(B.
$B$3$N;~$K(B $B%(%i!<%a%C%;!<%8$r=P$9(B.
(cf. taka: i-hg/crest09/Prog/fan1.sm1, fan2.sm1)

\section{2009-9-4,  gfan}
\begin{enumerate}
\item {\tt OpenXM/src/kan96xx/Doc/gfan.sm1} 1.17
\item {\tt OpenXM/src/kan96xx/trans/yy\_polymake.y} 1.5
\item {\tt OpenXM/src/kan96xx/trans/yylex\_polymake.c} 1.5
\item {\tt OpenXM/src/kan96xx/trans/data} 
\end{enumerate}

gfan.sm1 package $B$O(B polymake 2.0 $B$N=PNO$KBP$7$F$O@5$7$/F0:n$9$k(B.
$B$7$+$7(B 2.2, 2.3 $B$KBP$7$FF0:n$7$J$$(B.
{\tt trans/data/data1b.txt} $B$O(B 2.0 $B$N=PNO(B,
{\tt trans/data/data1.txt} $B$O(B 2.3 $B$N=PNO(B,
$BF~NO(B property $B$O(B INEQUALITIES $B$G(B FACETS $B$r(B $B=PNO(B property $B$H$7$F$$$k(B.

{\tt trans/data/data2.txt} $B$O4JC1$JNc(B.

2.3 $B$G$O(B VERTICES $B$,(B UNDEF $B$H$J$k(B. $B$3$l$r@5$7$/(B parse $B$9$k$h$&$K(B polymake2tfb $B$r(B
$BJQ99$7$?(B.
\begin{verbatim}
 ./polymake2tfb <data/data1.txt
\end{verbatim}
VERTICES $B$N=PNO$,$J$$$N$G(B, gfan.sm1 $B$G;H$($J$$(B.
gfan $B$O(B web service $B$r(B default $B$H8F$V$h$&$K$7$?(B.

\verb@ (gfan) usage ; @ $B$,(B gfan $B$K$D$$$F$N@bL@$r=PNO$9$k$h$&$K$7$?(B.

debug $BMQ$KJXMx$J%3%^%s%I(B.
\begin{verbatim}
 oxshell.facets([[1,0,0],[1,2,0],[1,0,3],[1,1,1]]); 
 sm1.sm1(0,"/doPolymake load message ");   OoHG $B$rFI$s$G$$$k$+(B, $B$$$J$$$+(B?

 [(keep_tmp_files) (1) ] oxshell   $B:n6H%U%!%$%k$r(B /tmp  or $TMP $B$KJ]B8(B.
 rr (UNDEF) getNode ::
 i-hg/crest09/Prog/fan*.sm1 (private)
\end{verbatim}
%$

$B4X78$"$k(Bfiles.
Doc/cgi.sm1, trans/, 

oxshell $B$G(B polymake $B$r<B9T(B. $B=PNO$r(B tfb $B$KJQ49(B. $B$3$l$r(B sm1 object $B$K(B
k0 server $B$GJQ49(B ({\tt QuoteMode(1); }.

trans/polymake.sm1 $B$O(B, $BAH$_9~$_%^%/%m$H$J$k(B.
doPolymake $B$O(B local $B$N$b$N$r8F$V(B.

\section{2012-9-16,  syz}

syz $B$,B8:_$7$J$$>l9g$K(B syz (hol.sm1) $B$,(B warning $B$r=PNO$9$k7o(B.
getRing $B$r(B $B6u%j%9%H$KBP$7$F$d$C$F$$$k$3$H$,860x(B.
kanExport0.c $B$N(B data\_conversion $B$N(B key $B$r=PNO$9$k$3$H$K$h$j(B debug. 

\section{2012-10-29, doPolymake}

doPolymake $B$N;EAH$_$r8+$F(B, $B=hM}$N(B bug $B$r=$@5$9$kM=Dj(B.
shell.c $B$K(B help $B$rDI2C(B.
\begin{verbatim}
  [(parse) (cgi.sm1) pushfile] extension
  /doPolymake {doPolymake.OoHG} def
  [(keep_tmp_files) (1)] oxshell
 /afo (Hello! ) def [(cat) (stringIn://afo)] oxshell
\end{verbatim}
{\tt \$TMP} $B$K(B $B:n6H%U%!%$%k$rJ]B8(B.
{\tt kan96xx/trans} $B$G(B $B%G!<%?7A<0$NJQ49(B.
$B:n6H%U%!%$%k$N@8@.$O(B 
{\tt generateTMPfiles()} ({\tt util/ox\_pathfinder.c}).

\section{2013-09-20, doPolymake}
bug fix. $BM-M}?t$r(B accept. oxshell $B$N%^%K%e%"%k$r99?7(B.

class $B$NMxMQK!$r;W$$=P$9(B.
\begin{verbatim}
 [(FACETS) (polymake.data(polymake.POINTS([[1,0,0],[1,1,0],[1,0,1],[1,1,1/2]])))]
         doPolymake /rr set 
rr 1 get /ff set
ff (array) dc ::     % class $B$r(B array $B$XJQ49(B.
\end{verbatim}
{\tt primitive.c} $B$G(B class $B$r(B search.
KclassDataConversion() $B4X?t$rFI$a$P$h$$$3$H$,$o$+$k(B.
grep $B$9$k$H(B {\tt kclass.c} $B$rC5$;$P$$$$(B.
$B$3$3$K(B tag $B$,$$$m$$$m$"$k(B.
usage $B$K(B note-class $B$rDI2C(B.

\section{2013-09-22, oxdecode\_post}

mime $B7A<0$N(B post message $B$r(B URL encoding $B$KJQ49(B
(mime $B$NH=DjEy$O8=>u$J$s$A$c$C$F(B).
$B$3$l$G(B, reverse proxy $B7PM3$G$b@5>oF0:n(B.

\begin{verbatim}
cat t.txt
FACETS POINTS
1 0 0
1 1 0
1 0 1

 curl -F oxMessageBody=@t.txt http://polymake.math.kobe-u.ac.jp/cgi-bin/cgi-polymake.sh
\end{verbatim}

\begin{verbatim}
library(RCurl);
postForm("http://polymake.math.kobe-u.ac.jp/cgi-bin/cgi-polymake.sh",
  oxMessageBody="FACETS POINTS\n1 0 0\n1 1 0\n1 0 1")
[1] "POINTS\n1 0 0\n1 1 0\n1 0 1\r\n\nFACETS\n1 -1 -1\n0 1 0\n0 0 1\n\n
 AFFINE_HULL\n\n\n_version 2.0\n_application polytope\n\n"
attr(,"Content-Type")
                  charset 
"text/plain"      "UTF-8" 
\end{verbatim}

{\tt cgiPolymake.log} $B$K(B 1 $B$rBeF~$7$F$*$/$H(B($B4{DjCM(B)
sm1log $B$G(B /tmp/sm1log.txt $B$K(B post message $B$r5-O?(B.
date $B4X?t$rDI2C(B.

curl $B$rMQ$$$?8F$S=P$7$N%F%9%H(B.
\begin{verbatim}
(cgi.sm1) run
/cgiQueryPolymake { cgiQueryPolymake.curl } def
 [(FACETS) (polymake.data(polymake.POINTS([[1,0,0],[1,1,0],[1,0,1],[1,1,1/2]])))] /ff set
ff doPolymake.OoHG /rr set
\end{verbatim}

\section{2013-09-25, usePolymake.*}
polymake $B$N%9%$%C%A(B. version $B$K$h$j?6$kIq$$$,0c$&$N$GCm0U(B.

$B3F<o(B log $B$N>l=j(B.
\begin{enumerate}
\item server side. {\tt /tmp/sm1log.txt}: cgi-post $B$N(B encoded $BJ8;zNs(B.
\item server side.  cgi-polymake.sh $B$K(B tee $B$rDI2C$9$k$H(B, oxdecode\_post $BA0$NJ8;zNs$r(B
$BJ]B8$G$-$k(B.
\item client side. oxshell $B$G(B work file $B$r(B {\tt \$TMP} $B$K;D$9$K$O(B
oxshell $B$N(B usage $B$r8+$F(B, keep\_tmp\_files $B$r;H$&(B.
local $BHG$G$O(B {\tt @@@doPolymake.vars} $B$K5-O?$"$j(B.
asir $B$G$O(B {\tt polymake.log()} $B$K3JG<(B.
\item {\tt usePolymake.OoHG.curl} $B$N;~$O(B {\tt /tmp/sm1-q-cgi*.txt}
$B$K(B cgi $B$KLd$$9g$o$;$k;~$NJ8;zNs$,3JG<$5$l$k(B.
\end{enumerate}

$B$J$*(B mac $BHG$O(B error $B$G(B bus error $B$r5/$3$9>l9g$"$j(B. 
$B%5%s%W%k(B code $B$O(B, {\tt misc-2013/09/genpos/mac.sm1}. 
$B$3$l$O(B ticket.

screenflow $B$K$h$k3P$(=q$-$O(B,
fe $B$N(B {\tt /Movies/oxvh/2013-09-25-polymake}.

\section{2015-10-10, cygwin64, msys64}

cygwin64, msys64 $BBP1~(B.
\begin{enumerate}
\item gc $B$K$O(B patch. cygwin64 $B$N(B gc.h $B$O$9$G$K(B patch $B$,Ev$?$C$F$k(B.
  $B$h$C$F(B gc $B$,99?7$5$l$?$i(B patch $B$OB?J,ITMW(B.
\item sigsetjmp $B$r(B {\tt \_setjmp} $B$K$7$J$$$H$?$H$($P(B
$BHyJ,:nMQAG4D$N3]$1;;$G(B segfault.  $B860x$O$h$/$o$+$i$:(B.
\item string.h, stdlib.h $BEy$N(B prototype $B@k8@$r$7$F$*$+$J$$$H(B {\tt ox\_sm1} $B$,(B segfault.
\item msys $B$G$O(B cmd.exe $B$,?7$7$$(B window $B$r3+$+$J$$$N$G(B($BFf(B), mintty $B$r;H$&(B.
\end{enumerate}
fe $B$N(B {\tt /Movies/archive} $B$N(B bandicam $B$K$b5-O?(B.

Todo, ctrl-C $B$,0lEY$7$+M-8z$G$J$$(B. sigaction $B$rMxMQ$9$k$Y$-(B?

{\tt ox\_sm1} $B$N(B segfault $B$N(B debug
{\tiny
\begin{verbatim}
  misc-2015/10/cygwin-for-sm1 $B$K(B
  oxserver00-d.c Makefile-for-ox_sm1d tmp-o.txt $B$"$j(B.
  tmp-o.txt $B$O(B ( (1).. (0).. div ) oxsubmit $B$G(B $B%(%i!<$r5/$3$9L?Na$r(B,
  stream dump $B$7$?$b$N(B.  cf. (ox.sm1) run (extension-oxLog) usage
  oxpipe.c $B$r(B oxserver00.c $B$XAH$_9~$s$@$b$N(B. gdb $BMQ(B.  ox_sm1d
  523  rm ox_sm1d
  525  make -f Makefile-for-ox_sm1d  ox_sm1d
  526  ./ox_sm1d <tmp-o.txt

cygwin, msys $B$N(B gdb $B$O(B run <file $B$,=PMh$J$$$3$H$KCm0U(B.
$ gdb ./ox_sm1d
GNU gdb (GDB) 7.9
Copyright (C) 2015 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-pc-msys".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./ox_sm1d...done.
(gdb) break main
Breakpoint 1 at 0x10049b7b8: file oxserver00-d.c, line 37.
(gdb) run
Starting program: /home/Nobuki/OX4/OpenXM/src/kxx/ox_sm1d
[New Thread 11260.0x17c8]
[New Thread 11260.0x2e50]
[New Thread 11260.0x8ac]
[New Thread 11260.0x29d0]
[New Thread 11260.0x27b8]

Breakpoint 1, main (argc=1, argv=0x24cb10) at oxserver00-d.c:37
37      main(int argc, char *argv[]) {
(gdb) call dup2(open("tmp-o.txt",0),0)
// run <file $B$9$kBe$o$j(B. cf. stackoverflow  [cygwin gdb pipe]
$1 = 0
(gdb) break Sm1_popErrorMessage
Breakpoint 2 at 0x100402720: file sm1stackmachine.c, line 205.
(gdb) continue
Continuing.
[New Thread 11260.0x2f84]
oxserver00-d.c for debug.
[New Thread 11260.0x2a28]
sm1>macro package : dr.sm1,   9/26,1995 --- Version 09/22, 2013.
sm1>macro package : module1.sm1, 1994 -- Nov 8, 1998
sm1 version : 3.050615
sm1 url : http://www.math.kobe-u.ac.jp/KAN
name = ox_sm1
sm1>---------------------------------------------------
engineByteOrder=0
Hello world.
Set EnvOfChildServer.
Set EnvOfStackMachine.

mtag is 514 (serial=11) :  OX_DATA
(CMO_STRING[4],[size=17],$ (1).. (0).. div $),
mtag is 513 (serial=12) :  OX_COMMAND

function_id is 268; SM_executeStringByLocalParser
KSexecuteString( (1).. (0).. div )

ERROR(kanExport[0|1].c): KisInvalidRational(): zero division. You have f/0.
Trace: div<-;

Breakpoint 2, Sm1_popErrorMessage (s=0x10049d084 "executeString: ")
    at sm1stackmachine.c:205
205     char *Sm1_popErrorMessage(char *s) {
(gdb) print s
$2 = 0x10049d084 "executeString: "
(gdb) print ErrorMessageMode
$3 = 2
(gdb) break popErrorStackByString
Breakpoint 3 at 0x1004033f0: file stackmachine.c, line 1445.
(gdb) continue
Continuing.

Breakpoint 3, popErrorStackByString () at stackmachine.c:1445
1445    char *popErrorStackByString(void) {
(gdb) list
1440      }else{
1441        return( (ErrorStack.ostack)[--(ErrorStack.sp)]);
1442      }
1443    }
1444
1445    char *popErrorStackByString(void) {
1446      struct object obj = OINIT;
1447      struct object eobj = OINIT;
1448      eobj = popErrorStack();
1449      if (ectag(eobj) != CLASSNAME_ERROR_PACKET) {
(gdb) break sGC_malloc
Breakpoint 4 at 0x1004035a0: file stackmachine.c, line 1510.
(gdb) continue
Continuing.

Breakpoint 4, sGC_malloc (n=93) at stackmachine.c:1510
1510    void *sGC_malloc(size_t n) { /* synchronized function */
(gdb) up
#1  0x000000010040276b in Sm1_popErrorMessage (s=0x10049d084 "executeString: ")
    at sm1stackmachine.c:221
221         a = (char *) sGC_malloc(sizeof(char)*(strlen(s)+strlen(e)+2));
(gdb) print s
$4 = 0x10049d084 "executeString: "
(gdb) print e
$5 = 0x6008d4d70 "\nERROR(kanExport[0|1].c): KisInvalidRational(): zero division. You have f/0."
//  $B@5>o(B
(gdb) continue
Continuing.
     14 [main] ox_sm1d 11260 cygwin_exception::open_stackdumpfile: Dumping stack trace to ox_sm1d.exe.stackdump
[Thread 11260.0x2e50 exited with code 35584]
[Thread 11260.0x8ac exited with code 35584]
[Thread 11260.0x29d0 exited with code 35584]
[Thread 11260.0x2f84 exited with code 35584]
[Thread 11260.0x2a28 exited with code 35584]
[Inferior 1 (process 11260) exited with code 0105400]
(gdb) quit

GC_malloc $B$d(B strcpy $BEy$,2x$7$$$H$K$i$`(B.
  

  char * $B7O(B void * $B7O$N@k8@$J$7$,(B segfault $B$N860x(B?
  strcpy $B$,JQ(B.
  
  kxx/serversm.h $B$K(B
#include <string.h>
void *sGC_malloc(int n);
$B$r2C$($k(B.
  ./ox_sm1d <tmp-o.txt  $B$,@5>o=*N;(B.
\end{verbatim}
} %% end tiny

\noindent
$B2r7h(B: OpenXM/src/util/mysig.c $B$K(B sigaction $B$rMQ$$$?(B signal emulation $B$r2C$($?(B.
$B$3$l$K$h$j>e5-$N$h$&$J%H%i%V%k$O2r>C(B.

\section{doPolymake $B$N9=B$%a%b(B (2020.03.12)}
doPolymake $B$K5/0x$9$k(B bug $B$r(B fix. $B$=$N;~$K(B doPolymake $B$NN.$l$rFI$_D>$7$?(B.

$B%F%9%HMQ$NF~NO(B(polymake $B$O(B $B%5!<%P!<$rMxMQ(B).
{\tiny
\begin{verbatim}
export OX_XTERM_GEOMETRY=80x20+0+0
sm1
(cgi.sm1) run ;
usePolymake.OoHG.curl polymake.start ;
[(FACETS) (polymake.data(polymake.POINTS([[1,0],[1,1]])))]
doPolymake /rr set ;
rr ::
\end{verbatim}
}
{\tt rr} $B$K$O(B sm1 $B$N(B class.tree $B%G!<%?$,3JG<$5$l$k(B.
{\tt OX\_XTERM\_GEOMETRY} $B$r@_Dj$9$k$3$H$G(B ox server $B$,(B iconic $B$K$J$i$J$$(B.
polymake $B$X(B OOHG $B$GLd$$9g$o$;$F$$$kK\BN$O(B,
{\tt cgi.sm1} $B$N(B {\tt cgiQueryPolymake.curl}.
$B$3$l$rFI$`$H;EAH$_$,$o$+$k(B.
polymake http server $BB&$G$O<!$N%3!<%I(B(cgi-polymake.sh)$B$G(B post message $B$r<u<h$j(B, polymake $B$G7W;;$7$F(B, $B7k2L$rLa$9(B.
{\tiny
\begin{verbatim}
#!/bin/bash
# $OpenXM: OpenXM/src/kan96xx/Doc/changelog-ja.tex,v 1.37 2020/03/14 00:50:55 takayama Exp $ 
PATH=/usr/local/polymake/bin:$PATH
export TMP=/tmp
source /home/taka/OpenXM/rc/dot.bashrc
WFILE=/tmp/tmp-post-$$.txt
tee /tmp/t.txt | oxdecode_post >${WFILE}
env CONTENT_LENGTH=`wc -m ${WFILE} | awk '{print $1}'` sm1 -q -s "[(parse) (cgi.sm1) pushfile] extension cgiPolymake quit " <${WFILE}
rm -f ${WFILE}
exit 0
: rm -f ${WFILE}
\end{verbatim}
}
$BAw?.B&$N(B {\tt cgiQueryPolymake.curl} $B$O(B curl $B$N(B form option $B$rMQ$$$F(B
post message $B$r$9$k(B.
$B%-!<$O(B {\tt oxMessageBody} $B$G$"$k(B.
$BAw$k(B form $B$O(B {\tt /tmp/sm1-q-cgi.txt???} $B$K@8@.$5$l$k(B.
$B$3$3$G(B ??? $B$O(B pid $B$G$"$k(B.
$B7k2L$r<u$1<h$C$?$i$3$N0l;~%U%!%$%k$O(B {\tt OpenXM\_tmp} $B4D6-JQ?t$G;XDj$5$l$k(B
folder $B$X0\F0$5$l$k(B.
{\rm /tmp/sm1-q-cgi*} $B$OF0:n%(%i!<Ey$K$h$j;D$k$3$H$,$"$k$N$GDj4|E*$K:o=|$9$k$3$H$,(B
$BK>$^$7$$(B.
{\tt cgiQueryPolymake.curl} $B$O(B polymake version 2 $B7A<0$N=PNO$rJ8;zNs$N(B list $B$H$7$FLa$9(B.

$B$3$l$r(B tree $B7A<0Ey$KJQ49$7$F$$$k$N$O(B {\tt kan96xx/trans} $BFb$N%=!<%9$G$"$k(B.
$B$3$N%U%)%k%@$O%G!<%?7A<0$NJQ49Ey$N%F%9%H%1!<%9$H$7$F:n@.$5$l$?(B.
$B9M$(J}$H$7$F$O(B,
\begin{center}
\fbox{tree $B7A<0$N%G!<%?(B} $\Leftrightarrow$
\fbox{tfb $B7A<0$N%G!<%?(B} $\Leftrightarrow$ \fbox{polymake $B7A<0(B} 
$\Leftrightarrow$ \fbox{polymake web server}
\end{center}
{\tt polymake2tfb} $B$O(B polymake version 2 $B$N%U%!%$%k$rF~NO$H$9$k$H(B
tfb $B7A<0$N%G!<%?$r=PNO$9$k(B.
{\tiny
\begin{verbatim}
polymake2tfb < ~/.OpenXM_tmp/sm1-q-cgi-out.txt37402
polymake.data(polymake.POINTS([[1,0],[1,1]]),polymake.FACETS([[1,-1],[0,1]]),polymake.AFFINE_HULL())
\end{verbatim}
}
tfb $B7A<0$N%G!<%?$O(B {\tt ox\_k0} $B$,(B parse $B$7$F(B, $B$=$l$r(B tree $B7A<0$KJQ49$7$F$$$k(B.
$B5UJQ49$b(B {\tt ox\_k0} $B$,9T$&(B
($B%=!<%9(B {\tt polymake.sm1}, $B4X?t(B {\tt tfbToTree} $B$r;2>H(B).

\end{document}