SAD部屋 - Ticket-11 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

! (#0.1&) crashs SAD interpreter

:Priority:Normal
:Reporter:A. Morita
:Status:Closed
:Assigned to:Akio Morita
:Version:1614
:Milestone:1657
:Created:2008-03-27

!! Description

In[1]:= Slot[0.1]&
Out[1]:= (#.1&)
  In[2]:= (#.1&)
セグメントエラー(coreを出力しました)
バックトレース
#0  0x08069f2f in itfcopy (it=@0xbfbe4094, ia=@0xa100014)
     at /export/home/amorita/src/compile/sad/current-gcc43/src/itfcopy.f:12
#1  0x08067d51 in itpfaloc (it=@0xbfbe4094, ia=@0xa100014, v=@0xb042410)
     at /export/home/amorita/src/compile/sad/current-gcc43/src/itfaloc.f:1001
#2  0x080a4c4a in tfeval (string=@0x9f0b904, l=@0x9f0b900, ist1=@0x9f0b880,istop=@0xbfbe40f8, itx=@0xbfbe40fc, iax=@0xbfbe4484, vx=@0xbfbe4470, re=@0x825dfec, irtc=@0xbfbe4100, _string=8)
     at /export/home/amorita/src/compile/sad/current-gcc43/src/tfeval.f:196
#3  0x0814dcf9 in itfgeto (ira=@0xbfbe4484, v=@0xbfbe4470)
     at /export/home/amorita/src/compile/sad/current-gcc43/src/itfgeto.f:14
#4  0x0814dc7d in itfpeeko (ira=@0xbfbe4484, v=@0xbfbe4470, next=@0xbfbfd690)
     at /export/home/amorita/src/compile/sad/current-gcc43/src/itfgeto.f:40
#5  0x080dd3d1 in tfprint (word=@0xbfbfd08b, lfno=@0x9f0b894, force=@0x825335c, itx=@0xbfbfd6c4, next=@0xbfbfd690, exist=@0x82b6804, _word=255)
     at /export/home/amorita/src/compile/sad/current-gcc43/src/tfprint.f:17
#6  0x080adb6f in tffsa (lfnb=@0x82532fc, itffs=@0xbfbfd760, iaffs=@0xbfbfd768, vffs=@0xbfbfd758, irtcffs=@0xbfbfd764)
     at /export/home/amorita/src/compile/sad/current-gcc43/src/tffsa.f:232
#7  0x080ac321 in tffs ()
     at /export/home/amorita/src/compile/sad/current-gcc43/src/tffs.f:8
#8  0x0810caed in track (latt=@0xbfbfdc98, iparam=@0xbfbfdc9c)
     at /export/home/amorita/src/compile/sad/current-gcc43/src/track.f:133
#9  0x0812c03a in acttra (argp=@0xbfbfdfa4)
     at /export/home/amorita/src/compile/sad/current-gcc43/src/ActTra.f:272
#10 0x08139e3d in doact (cmdidx=@0xbfbfe20c)
     at /export/home/amorita/src/compile/sad/current-gcc43/src/doACT.f:205
#11 0x08109e84 in master.0.toplvl (__entry=Variable "__entry" is not available.)
     at /export/home/amorita/src/compile/sad/current-gcc43/src/toplvl.f:39
#12 0x08109fbd in toplvl ()
     at /export/home/amorita/src/compile/sad/current-gcc43/src/toplvl.f:1
#13 0x0805c4d3 in MAIN__ ()
     at MAIN_VERSION.f:29
#14 0x08249edb in main (argc=Cannot access memory at address 0x59a944)
     at ../.././..//gcc-4.3-20080320/libgfortran/fmain.c:21


!! Attachement files
{{attach_map('Ticket-11')}}
{{attach_form('','')}}//{{attach_form('','')}}

!! Changelog
!!!Akio Morita (2008-03-31 (月) 00:04:39)
src/tfeexpr.f内で'''#'''演算子を Slot[]関数へ変換する過程で、
スロット番号 1から12までに付いては特別扱いで
ilist([12], ''iaxslotnull'' + '''Slot番号''' -1)を参照している。
この特別扱いするスロット番号は、範囲を'''Real'''型の比較で
'''0''' < '''Slot番号''' =< '''12'''に制限したのちに'''Slot番号'''を
整数化しているので、'''0''' < '''Slot番号''' < '''1'''の時、
整数化された'''Slot番号'''は'''0'''となり不正な参照を返していた。

Revision 1657の変更は、'''Slot番号'''が整数かつ'''1'''から'''12'''の
時に ''iaxslotnull''を用いた特別扱いを行うように変更を加えた。

{{its_edit_ticket_form}}//{{its_edit_ticket_form}}