f



Bug in tcl 8.6, or in itcl?

Hi all,

I have an application that runs under tcl 8.5, and uses Itcl.
However, under ActiveTcl 8.6b1 the application no longer works, and 
usually I get a crash. Something is wrong with my Itcl classes:

can't set "graphObj": upvar refers to variable in deleted namespace
     while executing
"set graphObj $graphWidget"
     while constructing object "::MainWindow::._treeGraphObj->ib_block1" 
in ::BlockItem::constructor (body line 3)
     invoked from within
"chain $graphWidget"
     while constructing object "::MainWindow::._treeGraphObj->ib_block1" 
in ::InputBlockItem::constructor (body line 2)
     invoked from within
"InputBlockItem $this->ib_block$inputBlockIndex $this"
     (object "::MainWindow::._treeGraphObj" method 
"::GraphWidget::AddInputBlock" body line 10)
     invoked from within
"AddInputBlock"
     (object "::MainWindow::._treeGraphObj" method 
"::GraphTreeWidget::SynchroniseBlocks" body line 92)
     invoked from within
"SynchroniseBlocks $parentGraph"
     (object "::MainWindow::._treeGraphObj" method 
"::GraphTreeWidget::Draw" body line 3)
     invoked from within
"$tgraph Draw"
     (procedure "::MainWindow::New" line 65)
     invoked from within
"::MainWindow::New"

The classes are not so complex:

itcl::class serialisable {
   ...
}

itcl::class BlockItem {
   inherit serialisable
   variable class BlockItem
   public variable id {}
   variable graphObj {}
     ...

   constructor {{graphWidget {}}} {
     chain $graphWidget
   } {
     if {[string length $graphWidget]} {
       set graphObj $graphWidget
       set canvas  [$graphWidget GetCanvas]
     }
     ...
   }
}

George
0
petasis (1405)
7/8/2009 9:51:20 PM
comp.lang.tcl 23428 articles. 2 followers. Post Follow

5 Replies
582 Views

Similar Articles

[PageSpeed] 22

Georgios Petasis wrote:
> Hi all,
> 
> I have an application that runs under tcl 8.5, and uses Itcl.
> However, under ActiveTcl 8.6b1 the application no longer works, and 
> usually I get a crash. Something is wrong with my Itcl classes:

 From the rest of the message I take it that by "crash" you mean an 
error, and your app exits because it isn't caught.

Please clarify: did I get it right, or do you actually mean "crash" as 
in "segmentation fault" or similar nasties?

Miguel

0
msofer (298)
7/9/2009 12:01:09 AM
On Jul 9, 12:01=A0am, miguel sofer <mso...@users.sf.net> wrote:
> Georgios Petasis wrote:
> > Hi all,
>
> > I have an application that runs under tcl 8.5, and uses Itcl.
> > However, under ActiveTcl 8.6b1 the application no longer works, and
> > usually I get a crash. Something is wrong with my Itcl classes:
>
> =A0From the rest of the message I take it that by "crash" you mean an
> error, and your app exits because it isn't caught.
>
> Please clarify: did I get it right, or do you actually mean "crash" as
> in "segmentation fault" or similar nasties?
>
> Miguel

Possibly not directly related.. but if you have both itcl 3.4 and itcl
4.0b3 installed then you can easily get a segfault with the following:

%package require Itcl
3.4
%package require itcl
Itcl: cannot create namespace: "::itcl"

This application has requested the Runtime to terminate it in an
unusual way.
Please contact the application's support team for more information.

(tclsh crash)



J
0
neuronstorm (108)
7/9/2009 1:12:10 AM
O/H miguel sofer ������:
> Georgios Petasis wrote:
>> Hi all,
>>
>> I have an application that runs under tcl 8.5, and uses Itcl.
>> However, under ActiveTcl 8.6b1 the application no longer works, and 
>> usually I get a crash. Something is wrong with my Itcl classes:
> 
>  From the rest of the message I take it that by "crash" you mean an 
> error, and your app exits because it isn't caught.
> 
> Please clarify: did I get it right, or do you actually mean "crash" as 
> in "segmentation fault" or similar nasties?
> 
> Miguel
> 

Dear Miguel,

I am meaning a real crash, a violation access in wish. 
"::MainWindow::New" which causes the crash, is called during application 
initialisation. I have placed a catch arround this call, and this is how 
I have caught and pasted the error in my message.
But there is also a toolbar button that calls this proc. Calling it for 
a second time, it just crashes wish. No tcl error this time.

I tried to debug the crash, it seems to happen inside tcl.dll, but there 
  are some calls in itcl.dll near. Unfortunately, I haven't managed to 
compile tcl with symbols myself (build breaks). Only shared & static 
versions build in my system but do not provide more information (VC++ 2008).

George
0
petasis (1405)
7/9/2009 6:19:58 AM
This is a multi-part message in MIME format.
--------------060400060004030809000200
Content-Type: text/plain; charset=ISO-8859-7; format=flowed
Content-Transfer-Encoding: 8bit

O/H George Petasis ������:
> O/H miguel sofer ������:
>> Georgios Petasis wrote:
>>> Hi all,
>>>
>>> I have an application that runs under tcl 8.5, and uses Itcl.
>>> However, under ActiveTcl 8.6b1 the application no longer works, and 
>>> usually I get a crash. Something is wrong with my Itcl classes:
>>
>>  From the rest of the message I take it that by "crash" you mean an 
>> error, and your app exits because it isn't caught.
>>
>> Please clarify: did I get it right, or do you actually mean "crash" as 
>> in "segmentation fault" or similar nasties?
>>
>> Miguel
>>
> 
> Dear Miguel,
> 
> I am meaning a real crash, a violation access in wish. 
> "::MainWindow::New" which causes the crash, is called during application 
> initialisation. I have placed a catch arround this call, and this is how 
> I have caught and pasted the error in my message.
> But there is also a toolbar button that calls this proc. Calling it for 
> a second time, it just crashes wish. No tcl error this time.
> 
> I tried to debug the crash, it seems to happen inside tcl.dll, but there 
>  are some calls in itcl.dll near. Unfortunately, I haven't managed to 
> compile tcl with symbols myself (build breaks). Only shared & static 
> versions build in my system but do not provide more information (VC++ 
> 2008).
> 
> George

I have downloaded the tcl sources from SF cvs. The stack dump is 
attached. Any ideas on how I can help more are welcomed.

George

--------------060400060004030809000200
Content-Type: text/plain;
 name="stack_dump.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="stack_dump.txt"

>	tclsh86sg.exe!Tcl_NewObj()  Line 820 + 0x1c bytes	C
 	tclsh86sg.exe!AppendPrintfToObjVA(Tcl_Obj * objPtr=0x04e60eb8, const char * format=0x005c27a0, char * argList=0x002b9924)  Line 2366 + 0x5 bytes	C
 	tclsh86sg.exe!Tcl_AppendPrintfToObj(Tcl_Obj * objPtr=0x04e60eb8, const char * format=0x005c27a0, ...)  Line 2514 + 0x11 bytes	C
 	tclsh86sg.exe!AppendPrintfToObjVA(Tcl_Obj * objPtr=0x04e60eb8, const char * format=0x005c87e4, char * argList=0x002b99c8)  Line 2486 + 0x1f bytes	C
 	tclsh86sg.exe!Tcl_ObjPrintf(const char * format=0x005c87e4, ...)  Line 2541 + 0x11 bytes	C
 	tclsh86sg.exe!Tcl_LogCommandInfo(Tcl_Interp * interp=0x029fbdb0, const char * script=0x04ea7e60, const char * command=0x04ea7f18, int length=65)  Line 7398 + 0x60 bytes	C
 	tclsh86sg.exe!TclExecuteByteCode(Tcl_Interp * interp=0x029fbdb0, ByteCode * codePtr=0x04f77f20)  Line 7643 + 0x1e bytes	C
 	tclsh86sg.exe!NRCallTEBC(void * * data=0x04e60ff4, Tcl_Interp * interp=0x029fbdb0, int result=0)  Line 4336 + 0x10 bytes	C
 	tclsh86sg.exe!TclNRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, int result=0, TEOV_callback * rootPtr=0x04e5fca0, int tebcCall=0)  Line 4260 + 0x14 bytes	C
 	itcl40g.dll!Itcl_NRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, void * rootPtr=0x04e5fca0)  Line 55 + 0x1c bytes	C
 	itcl40g.dll!ItclObjectCmd(void * clientData=0x04e34ba8, Tcl_Interp * interp=0x029fbdb0, Tcl_Object_ * oPtr=0x0436a358, Tcl_Class_ * clsPtr=0x00000000, int objc=1, Tcl_Obj * const * objv=0x022b2b5c)  Line 2777 + 0x10 bytes	C
 	itcl40g.dll!CallItclObjectCmd(void * * data=0x04e5dafc, Tcl_Interp * interp=0x029fbdb0, int result=0)  Line 1151 + 0x19 bytes	C
 	tclsh86sg.exe!TclNRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, int result=0, TEOV_callback * rootPtr=0x04e5fca0, int tebcCall=0)  Line 4260 + 0x14 bytes	C
 	itcl40g.dll!Itcl_NRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, void * rootPtr=0x04e5fca0)  Line 55 + 0x1c bytes	C
 	itcl40g.dll!Itcl_EvalMemberCode(Tcl_Interp * interp=0x029fbdb0, ItclMemberFunc * imPtr=0x04e34ba8, ItclObject * contextIoPtr=0x04ea7420, int objc=1, Tcl_Obj * const * objv=0x022b2b5c)  Line 1276 + 0xd bytes	C
 	itcl40g.dll!NRExecMethod(void * clientData=0x04e34ba8, Tcl_Interp * interp=0x029fbdb0, int objc=1, Tcl_Obj * const * objv=0x022b2b5c)  Line 1631 + 0x19 bytes	C
 	tclsh86sg.exe!Tcl_NRCallObjProc(Tcl_Interp * interp=0x029fbdb0, int (void *, Tcl_Interp *, int, Tcl_Obj * const *)* objProc=0x10535230, void * clientData=0x04e34ba8, int objc=1, Tcl_Obj * const * objv=0x022b2b5c)  Line 7909 + 0x15 bytes	C
 	itcl40g.dll!Itcl_NRCallObjProc(void * clientData=0x04e34ba8, Tcl_Interp * interp=0x029fbdb0, int (void *, Tcl_Interp *, int, Tcl_Obj * const *)* objProc=0x10535230, int objc=1, Tcl_Obj * const * objv=0x022b2b5c)  Line 27 + 0x24 bytes	C
 	itcl40g.dll!Itcl_ExecMethod(void * clientData=0x04e34ba8, Tcl_Interp * interp=0x029fbdb0, int objc=1, Tcl_Obj * const * objv=0x022b2b5c)  Line 1644 + 0x1a bytes	C
 	tclsh86sg.exe!NRRunObjProc(void * * data=0x04e583b4, Tcl_Interp * interp=0x029fbdb0, int result=0)  Line 4313 + 0x15 bytes	C
 	tclsh86sg.exe!TclNRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, int result=0, TEOV_callback * rootPtr=0x04e56580, int tebcCall=1)  Line 4260 + 0x14 bytes	C
 	tclsh86sg.exe!TclExecuteByteCode(Tcl_Interp * interp=0x029fbdb0, ByteCode * codePtr=0x043bc6e8)  Line 2767 + 0x16 bytes	C
 	tclsh86sg.exe!NRCallTEBC(void * * data=0x04e5656c, Tcl_Interp * interp=0x029fbdb0, int result=0)  Line 4336 + 0x10 bytes	C
 	tclsh86sg.exe!TclNRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, int result=0, TEOV_callback * rootPtr=0x0430a9d8, int tebcCall=0)  Line 4260 + 0x14 bytes	C
 	itcl40g.dll!Itcl_NRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, void * rootPtr=0x0430a9d8)  Line 55 + 0x1c bytes	C
 	itcl40g.dll!ItclObjectCmd(void * clientData=0x043bece8, Tcl_Interp * interp=0x029fbdb0, Tcl_Object_ * oPtr=0x0436a358, Tcl_Class_ * clsPtr=0x00000000, int objc=1, Tcl_Obj * const * objv=0x022b29c0)  Line 2777 + 0x10 bytes	C
 	itcl40g.dll!CallItclObjectCmd(void * * data=0x04e54c34, Tcl_Interp * interp=0x029fbdb0, int result=0)  Line 1151 + 0x19 bytes	C
 	tclsh86sg.exe!TclNRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, int result=0, TEOV_callback * rootPtr=0x0430a9d8, int tebcCall=0)  Line 4260 + 0x14 bytes	C
 	itcl40g.dll!Itcl_NRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, void * rootPtr=0x0430a9d8)  Line 55 + 0x1c bytes	C
 	itcl40g.dll!Itcl_EvalMemberCode(Tcl_Interp * interp=0x029fbdb0, ItclMemberFunc * imPtr=0x043bece8, ItclObject * contextIoPtr=0x04ea7420, int objc=1, Tcl_Obj * const * objv=0x022b29c0)  Line 1276 + 0xd bytes	C
 	itcl40g.dll!NRExecMethod(void * clientData=0x043bece8, Tcl_Interp * interp=0x029fbdb0, int objc=1, Tcl_Obj * const * objv=0x022b29c0)  Line 1631 + 0x19 bytes	C
 	tclsh86sg.exe!Tcl_NRCallObjProc(Tcl_Interp * interp=0x029fbdb0, int (void *, Tcl_Interp *, int, Tcl_Obj * const *)* objProc=0x10535230, void * clientData=0x043bece8, int objc=1, Tcl_Obj * const * objv=0x022b29c0)  Line 7909 + 0x15 bytes	C
 	itcl40g.dll!Itcl_NRCallObjProc(void * clientData=0x043bece8, Tcl_Interp * interp=0x029fbdb0, int (void *, Tcl_Interp *, int, Tcl_Obj * const *)* objProc=0x10535230, int objc=1, Tcl_Obj * const * objv=0x022b29c0)  Line 27 + 0x24 bytes	C
 	itcl40g.dll!Itcl_ExecMethod(void * clientData=0x043bece8, Tcl_Interp * interp=0x029fbdb0, int objc=1, Tcl_Obj * const * objv=0x022b29c0)  Line 1644 + 0x1a bytes	C
 	tclsh86sg.exe!NRRunObjProc(void * * data=0x04e549ac, Tcl_Interp * interp=0x029fbdb0, int result=0)  Line 4313 + 0x15 bytes	C
 	tclsh86sg.exe!TclNRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, int result=0, TEOV_callback * rootPtr=0x04e54b10, int tebcCall=1)  Line 4260 + 0x14 bytes	C
 	tclsh86sg.exe!TclExecuteByteCode(Tcl_Interp * interp=0x029fbdb0, ByteCode * codePtr=0x04297b60)  Line 2767 + 0x16 bytes	C
 	tclsh86sg.exe!NRCallTEBC(void * * data=0x04e54afc, Tcl_Interp * interp=0x029fbdb0, int result=0)  Line 4336 + 0x10 bytes	C
 	tclsh86sg.exe!TclNRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, int result=0, TEOV_callback * rootPtr=0x04309da8, int tebcCall=0)  Line 4260 + 0x14 bytes	C
 	itcl40g.dll!Itcl_NRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, void * rootPtr=0x04309da8)  Line 55 + 0x1c bytes	C
 	itcl40g.dll!ItclObjectCmd(void * clientData=0x043bebf8, Tcl_Interp * interp=0x029fbdb0, Tcl_Object_ * oPtr=0x0436a358, Tcl_Class_ * clsPtr=0x040b3410, int objc=5, Tcl_Obj * const * objv=0x044103f0)  Line 2777 + 0x10 bytes	C
 	itcl40g.dll!CallItclObjectCmd(void * * data=0x04e55c6c, Tcl_Interp * interp=0x029fbdb0, int result=0)  Line 1149 + 0x26 bytes	C
 	tclsh86sg.exe!TclNRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, int result=0, TEOV_callback * rootPtr=0x04309da8, int tebcCall=0)  Line 4260 + 0x14 bytes	C
 	itcl40g.dll!Itcl_NRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, void * rootPtr=0x04309da8)  Line 55 + 0x1c bytes	C
 	itcl40g.dll!Itcl_EvalMemberCode(Tcl_Interp * interp=0x029fbdb0, ItclMemberFunc * imPtr=0x043bebf8, ItclObject * contextIoPtr=0x04ea7420, int objc=5, Tcl_Obj * const * objv=0x044103f0)  Line 1276 + 0xd bytes	C
 	itcl40g.dll!Itcl_InvokeMethodIfExists(Tcl_Interp * interp=0x029fbdb0, const char * name=0x1055f12c, ItclClass * contextClassPtr=0x02328b58, ItclObject * contextObjectPtr=0x04ea7420, int objc=3, Tcl_Obj * const * objv=0x022b2860)  Line 1953 + 0x19 bytes	C
 	itcl40g.dll!ItclCreateObject(Tcl_Interp * interp=0x029fbdb0, const char * name=0x04e666e8, ItclClass * iclsPtr=0x02328b58, int objc=3, Tcl_Obj * const * objv=0x022b2860)  Line 428 + 0x21 bytes	C
 	itcl40g.dll!Itcl_HandleClass(void * clientData=0x0239fa48, Tcl_Interp * interp=0x029fbdb0, int objc=7, Tcl_Obj * const * objv=0x022b2850)  Line 1624 + 0x3f bytes	C
 	tclsh86sg.exe!NRRunObjProc(void * * data=0x0430a484, Tcl_Interp * interp=0x029fbdb0, int result=0)  Line 4313 + 0x15 bytes	C
 	tclsh86sg.exe!TclNRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, int result=0, TEOV_callback * rootPtr=0x04309e20, int tebcCall=1)  Line 4260 + 0x14 bytes	C
 	tclsh86sg.exe!TclExecuteByteCode(Tcl_Interp * interp=0x029fbdb0, ByteCode * codePtr=0x043b4158)  Line 2767 + 0x16 bytes	C
 	tclsh86sg.exe!NRCallTEBC(void * * data=0x03d328bc, Tcl_Interp * interp=0x029fbdb0, int result=0)  Line 4336 + 0x10 bytes	C
 	tclsh86sg.exe!TclNRRunCallbacks(Tcl_Interp * interp=0x029fbdb0, int result=0, TEOV_callback * rootPtr=0x00000000, int tebcCall=0)  Line 4260 + 0x14 bytes	C
 	tclsh86sg.exe!Tcl_EvalObjv(Tcl_Interp * interp=0x029fbdb0, int objc=6, Tcl_Obj * const * objv=0x022b21c0, int flags=2097152)  Line 4031 + 0x13 bytes	C
 	tclsh86sg.exe!TclEvalEx(Tcl_Interp * interp=0x029fbdb0, const char * script=0x022e6378, int numBytes=4086, int flags=0, int line=99)  Line 5153 + 0x16 bytes	C
 	tclsh86sg.exe!Tcl_EvalEx(Tcl_Interp * interp=0x029fbdb0, const char * script=0x022e6378, int numBytes=4086, int flags=0)  Line 4854 + 0x17 bytes	C
 	tclsh86sg.exe!Tcl_FSEvalFileEx(Tcl_Interp * interp=0x029fbdb0, Tcl_Obj * pathPtr=0x022cf990, const char * encodingName=0x00000000)  Line 1753 + 0x13 bytes	C
 	tclsh86sg.exe!Tcl_Main(int argc=-1, char * * argv=0x029f2b20, int (Tcl_Interp *)* appInitProc=0x00401070)  Line 353 + 0x11 bytes	C
 	tclsh86sg.exe!main(int argc=2, char * * argv=0x029f2b18)  Line 102 + 0x12 bytes	C
 	tclsh86sg.exe!__tmainCRTStartup()  Line 266 + 0x19 bytes	C
 	tclsh86sg.exe!mainCRTStartup()  Line 182	C
 	kernel32.dll!7744e4a5() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
 	ntdll.dll!778ecfed() 	
 	ntdll.dll!778ed1ff() 	
 	tclsh86sg.exe!send_tree(internal_state * s=, ct_data_s * tree=, int max_code=)  Line 766 + 0xd bytes	C


--------------060400060004030809000200--
0
petasis (1405)
7/9/2009 1:17:49 PM
Ouch - a priori looks like TWO bugs: one in itcl causing the error, one 
in Tcl causing the crash (or else itcl might be corrupting memory 
somehow, and Tcl is innocent?)


Georgios Petasis wrote:
> O/H George Petasis ������:
>> O/H miguel sofer ������:
>>> Georgios Petasis wrote:
>>>> Hi all,
>>>>
>>>> I have an application that runs under tcl 8.5, and uses Itcl.
>>>> However, under ActiveTcl 8.6b1 the application no longer works, and 
>>>> usually I get a crash. Something is wrong with my Itcl classes:
>>>
>>>  From the rest of the message I take it that by "crash" you mean an 
>>> error, and your app exits because it isn't caught.
>>>
>>> Please clarify: did I get it right, or do you actually mean "crash" 
>>> as in "segmentation fault" or similar nasties?
>>>
>>> Miguel
>>>
>>
>> Dear Miguel,
>>
>> I am meaning a real crash, a violation access in wish. 
>> "::MainWindow::New" which causes the crash, is called during 
>> application initialisation. I have placed a catch arround this call, 
>> and this is how I have caught and pasted the error in my message.
>> But there is also a toolbar button that calls this proc. Calling it 
>> for a second time, it just crashes wish. No tcl error this time.
>>
>> I tried to debug the crash, it seems to happen inside tcl.dll, but 
>> there  are some calls in itcl.dll near. Unfortunately, I haven't 
>> managed to compile tcl with symbols myself (build breaks). Only shared 
>> & static versions build in my system but do not provide more 
>> information (VC++ 2008).
>>
>> George
> 
> I have downloaded the tcl sources from SF cvs. The stack dump is 
> attached. Any ideas on how I can help more are welcomed.
> 
> George
> 
0
msofer (298)
7/9/2009 9:56:20 PM
Reply:

Similar Artilces:

Bug789040 came back in Tcl 8.4.6 and Tcl 8.5.
Dear All, Bug 789040 caused exec error in Windows 9x and was fixed in 10/04/03. But it came back in Tcl 8.4.6 and Tcl 8.5. Tcl Windows 9x users should be alerted to the possible failure of exec in the current Tcl 8.4.6 and 8.5 releases due to this bug. Chengye Mao http://www.geocities.com/~chengye Chengye Mao wrote: > Bug 789040 caused exec error in Windows 9x and was fixed in 10/04/03. > But it came back in Tcl 8.4.6 and Tcl 8.5. Tcl Windows 9x users > should be alerted to the possible failure of exec in the current Tcl > 8.4.6 and 8.5 releases due to this bug. Have you i...

Memory bug in Tcl 8.6
Hi all. Tcl "never" release the memory. Try the following code several times (source the script several times in the same shell), the first time It takes the memory and the other times I will not take more memory but It "never" will release the memory. Tested in Linus 2.6.28.4 http://gist.github.com/286826 At Tue, 26 Jan 2010 05:21:12 -0800 (PST) pmarin <pacogeek@gmail.com> wrote: > > Hi all. > > Tcl "never" release the memory. Try the following code several times > (source the script several times in the same shell), the...

Tcl/Tk 8.6.3, Itcl 4.0.2, sqlite 3.8.7 Release Candidates
Release candidate downloads of the 8.6.3 releases of Tcl and Tk, Itcl 4.0.2, and sqlite 3.8.7 may now be found at https://sourceforge.net/projects/tcl/files/Tcl/8.6.3/ The actual releases of these files should come on October 29. Until then, enjoy this advance preview, and if you find anything catastrophically wrong with them, please inform me so we can fix the problem before the true release. -- | Don Porter Applied and Computational Mathematics Division | | donald.porter@nist.gov Information Technology Laboratory | | http://math.nist.gov/~DPorter/...

[tao-bugs] Minor Tcl/Tk issue with TAO 6.0.8 build on 64-bit Red Hat RHEL 6.2
TAO VERSION: 2.0.8 ACE VERSION: 6.0.8 HOST MACHINE and OPERATING SYSTEM: Red Hat Enterprise Linux 6 Update 2; x86_64 architecture TARGET MACHINE and OPERATING SYSTEM, if different from HOST: COMPILER NAME AND VERSION (AND PATCHLEVEL): gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC)=20 THE $ACE_ROOT/ace/config.h FILE [if you use a link to a platform- specific file, simply state which one]: cmbld}% diff -rC 0 ace/config-linux.h ace/config.h *** ace/config-linux.h 2011-12-30 02:16:47.000000000 -0800 --- ace/config.h 2012-03-01 14:37:03.991968000 -0800 *************** *** 15 **** --- 16,17 ---- + #define TAO_IDL_INCLUDE_DIR = "/usr/local/ACE_wrappers/v6.0.8/x86-64-linux/include" +=20 *************** *** 430 **** --- 433,439 ---- + #define ACE_HAS_IPV6 // Ken Sedgwick 2006-06-14 + #define ACE_USES_IPV4_IPV6_MIGRATION // Ken Sedgwick 2006-06-14 + #define ACE_HAS_REACTOR_NOTIFICATION_QUEUE // Ken Sedgwick 2006-04-19 + #define ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS 1 // Ken = Sedgwick 2007-05-05 + #if !defined(ACE_HAS_EVENT_POLL) + #define ACE_HAS_EVENT_POLL 1 // Ken Sedgwick 2009-09-18 + #endif THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE [if you use a link to a platform-specific file, simply state which one (unless this isn't used in this case, e.g., with Microsoft Visual C++)]: {cmbld}% cat include/makeinclude/platform_macros.GNU ssl ...

Bug in font handling under windows? [tcl 8.6]
Hi all, I have just tried the latest beta from ActiveState of 8.6, and I am having a peculiar behavior under vista. The fixed fonts in my application get larger each time I start my application :D The problem I have observed is what returned by font actual: I have created a font "TextFont" with size 10: > font actual TextFont -family Arial -size 10 -weight normal -slant roman -underline 0 -overstrike 0 > font configure TextFont -size 11 > font actual TextFont -family Arial -size 11 -weight normal -slant roman -underline 0 -overstrike 0 Everything seems normal here. Now lets try Courier New, again with size 10: > font configure FixedTextFont -size 10 > font actual FixedTextFont -family {Courier New} -size 12 -weight normal -slant roman -underline 0 -overstrike 0 I created a size 10 font, and I got a 12 actual size. So, lets set the size to 12: > font configure FixedTextFont -size 12 > font actual FixedTextFont -family {Courier New} -size 13 -weight normal -slant roman -underline 0 -overstrike 0 But now the size is 13? Why? 12 seems to be also available... > font configure FixedTextFont -size 13 > font actual FixedTextFont -family {Courier New} -size 15 -weight normal -slant roman -underline 0 -overstrike 0 And so on. This of course causes my application fonts to get larger & larger with each restart, as I save the font size in its options, a size that grows with each invocation. Is this a bug in 8.6? It doe...

tcl 8.4.8 bugs?
Is this a bug in tcl8.4.8? tclsh % set test_string "</Config>" </Config> % if [ regexp "^</(.*)>" $test_string jerk cfg_line ] { puts $cfg_line } elseif [ regexp "^<(.*)>" $test_string jerk cfg_line ] { } /Config % if [ regexp "^</(.*)>" $test_string jerk cfg_line ] { puts $cfg_line } elseif [ regexp "^<(.*)>" $test_string jerk cfg_line2 ] { } Config % In article <5b2f12a6.0411301212.6811fd48@posting.google.com>, Xiaofeng Wu wrote: > Is this a bug in tcl8.4.8? No. > tclsh > % set test_str...

Binary reader speed comparison
I have a fairly simple binary reader proc that exhibits massive speed differences between Tcl 8.5.8 and Tcl8.6b1.1. Here's the proc: proc readFormatted {filename} { set fd [ open $filename r ] fconfigure $fd -encoding binary -translation binary binary scan [ read $fd 2 ] cc type nextlen if {$type != 75} { return -error "File is not in the expected format" } while {![append buffer [read $fd $nextlen] ; eof $fd]} { binary scan [read $fd 2] cc lastlen nextlen # convert to unsigned value set nextlen ...

Tcl 8.6, ActiveTcl 8.6 & linux Fedora 16 (64 bit)...
Hi all, Just a quick note about installing ActiveTcl 8.6 under Fedora 16, 64 bit. Downloading ActiveTcl 8.6 and trying to run the installer, fails. The reason is that libXss.so, is missing from the system, and Tk seems to need this. The problem can be "resolved" by installing the package "libXScrnSaver". But there is no such package for Fedora 16, and (thankfully) the package gets installed from Fedora 15. Maybe this is a "sign" that libXss.so will disappear in the (near?) future... George PS: Also the mysql TDBC driver crashes, as the shared library has evolved to version 18 (and the sources try to load versions 15 & 16). Changing the sources to also load .18 fixes the problem. (But I would prefer an error message than a core dump...) ...

Tcl OO mixins and inheritence behaviour change from version 8.6.2 to version 8.6.3
Hi, it seems that implementation of object oriented functionality in tcl8.6.3 changed in a away that breaks my existing code. My test code looks like this: oo::class create MixinClass { method helloWorld {args} { puts "[self class]" catch { next } } } oo::class create BaseClass { mixin MixinClass method helloWorld {args} { puts "[self class]" catch { next } } } oo::class create TargetClass { superclass BaseClass method helloWorld {args} { puts "[self class]" catch { next } } }...

can you run e commerce site using just tcl 8.6.2 and a pure tcl webserver?
and have decent performance? ...

segfault from constructor+global from Tcl 8.6+itcl 3.4
Following Don Porter's advice in another thread, I've switched my test branch from 8.6 + itcl 4.0 to 8.6 + itcl 3.4. I also compiled with --disable-threads. That worked well enough for me to get one of my two main apps running. However, the other main app segfaults immediately. I've loaded the core file into gdb, but I don't know the Tcl internals at all so it wasn't telling me much. I could spend some hours figuring it out, but I decided to try something else first and I happend to strike pay dirt. Attached is a test program that also segfaults in the same way. The gdb backtrace looks a tiny bit different, but they both seem to be unhappy in some upvar-related code during constructor execution. Items I've figured out so far: - removing the "global env" makes it work - putting the "global env" into the BaseClass constructor instead of the DerivedClass one makes it work - using itcl 4.0 makes it work - (obviously) running it under 8.5 + itcl 3.4 makes it work - global-izing another variable (i.e. not a "loaded" one like env) makes NOT it work - removing the "global env" and putting a puts in there makes it work, but putting a "set a 3" in there does NOT Some of these states are untestable in my real code and some of them don't make my real code work, so it may be that the global env isn't the only thing that could have made this crash. A...

regsub in tcl 8.5 and 8.6
parse this row set a "123(qwe)" in tcl 8.6 # regsub -all "\\(.*" $a "" 123qwe) in tcl 8.5 # regsub -all "\\(.*" $a "" 123 What to do ? Thank you for the report. Confirmed with 8.5.16 and 8.6.2 Aparently, 8.6 is not as greedy as 8.5. I don't know if this is a bug or a feature. Could you please register a bug report at: core.tcl.tk/tcl -> Login as anonymous -> New ticket The most important people don't read clt but read bug reports... Thank you, Harald 0L/QvtC90LXQtNC10LvRjNC90LjQuiwgOCDRgdC10L3RgtG...

What is the current status of Tcl 8.6 development and Itcl 4.0 beta?
Does the current cvs head of Tcl 8.6, graciously made available from an activestate ftp site, contain the incr tcl 4.0 code? I thought I had read that the code was now available but I don't see it in the snapshots. Just curious where that stands. On Feb 6, 9:03=A0am, "Larry W. Virden" <lvir...@gmail.com> wrote: > Does the current cvs head of Tcl 8.6, graciously made available from > an activestate ftp site, contain the incr tcl 4.0 code? I thought I > had read that the code was now available but I don't see it in the > snapshots. Not currently, but this will be corrected. The way that the itcl and tdbc cvs bits were added in requires a completely new checkout instead of a simple cvs update. You should see this corrected in the next few days. Jeff p.s. Andreas had forgotten that this old trusty service was still running, but it certainly is faithfully checking bits out nightly. On Feb 6, 12:55=A0pm, Jeff Hobbs <jeff.ho...@gmail.com> wrote: > p.s. Andreas had forgotten that this old trusty service was still > running, but it certainly is faithfully checking bits out nightly. And it is certainly a life saver - I am SO appreciative of this service. ...

TCL is not thread safer in TCL 8.3 or 8.4... Any plans to fix this?
It is a shame that I can't upgrade one of my applications due to this problem, though the memory leaks also intorduced in 8.3 and 8.4 are problem as well. :( I have a process that spawn a configurable number of thread with a TCL intrepeter in each one. The interps are isolated and do not communicate or share anything withe each other. Each thread is a rule processor that is handed TCL scripts based on what events occurs within a multi process enviroment rnaing across the whole itnerprize... Works great with TCL 8.2, not a single problem... But with TCL 8.3 and TCL 8.4 we get quite a f...

Tcl 8.6
Hi folks! Funny question, but when Tcl 8.6 will finally released? On 5/10/11 9:24 AM, Alexander Nusov wrote: > Hi folks! > > Funny question, but when Tcl 8.6 will finally released? Tcl release are kind of like hush puppies -- they come out when they are done. -- +------------------------------------------------------------------------+ | Gerald W. Lester, President, KNG Consulting LLC | | Email: Gerald.Lester@kng-consulting.net | +------------------------------------------------------------------------+ On May 10, 10:24=A0am, Alexander Nusov <alexander.nu...@gmail.com> wrote: > Hi folks! > > Funny question, but when Tcl 8.6 will finally released? Unfortunately, it appears to me that all previous attempts to establish a date seem to have been unsuccessful. The more of the outstanding serious bugs that get resolved before the release date, the better, right? ...

Compatibility issues of Tcl/Tk 8.6 with windows 8...
Hi all, I am facing a strange compatibility issue between tcl/tk 8.6 and the windows 8 (at least the 64 bit version) operating system. The problem as observed from the user point of view is a general "sluggishness", the application is slow and painful to use. Timing various actions, I have found that there are unexplained delays from 1,5 to 3 seconds inserted between successive tcl commands, most around calling tcloo methods from outside the object. For example, I have a tcloo class, which builds some part of a GUI. From inside a method, I create a button: ttk::button $client_area.annotate -textvariable [my msgVar Annotate] \ -command "puts \"[clock format [clock seconds]]\" ; [self] onAnnotate" This class has an "onAnnotate" method (which the button command calls): method onAnnotate {} { puts "[clock format [clock seconds]]: =============== onAnnotate" ... } When I run the application, there is *always* a time delay of 1-3 seconds inserted between the first puts statement, and the second puts, which is the first command of method onAnnotate: Mon May 27 19:56:59 EEST 2013 Mon May 27 19:58:22 EEST 2013: =============== onAnnotate Mon May 27 19:56:59 EEST 2013 Mon May 27 19:58:54 EEST 2013: =============== onAnnotate However, this happens when I run the application under windows 8. Under windows 7, I don't see this delay, everything is much much faster ...

Bug in Tcl fconfigure / TclHttpd (upload.tcl)
Hi there, had some trouble tracking down a segfault problem in tclhttpd. Has anybody experienced this before? Is there a bugfix floating around? (see below for details) Thanks Bernd Bug in Tcl fconfigure / TclHttpd (upload.tcl) --------------------------------------------- Author: bernd.worsch@@pawisda.de Date: 05-04-12 DESCRIPTION upfile.tcl from tclhttpd 3.5.1 segfaults in proc UploadDomain due to "fconfigure $sock -trans auto". This happens using Tcl 8.4.2 and the Problem remains when using Tcl 8.4.9. COMMENT I think this happens in thread mode only. SOLUTION Using "...

Incr Tcl /Tk for Tcl 8.4
Hi, I am trying to download incr Tcl and incr Tk for Tcl/Tk 8.4.19. I looked at: http://sourceforge.net/projects/incrtcl/files/%5BIncr%20Tcl_Tk%5D-source/3.4.1/ But only itcl seems to be there. And the CVS doesn't have the 3.4.1 tag. Do you know where I can get incr Tk and hopefully a corresponding iwidgets? Thanks, Andres On 5 Okt., 11:16, Andres Garcia <tclc...@gmail.com> wrote: > Hi, > > I am trying to download incr Tcl and incr Tk for Tcl/Tk 8.4.19. > > I looked at: > > http://sourceforge.net/projects/incrtcl/files/%5BIncr%20Tcl_Tk%5D-sou... > > But only itcl seems to be there. And the CVS doesn't have the 3.4.1 > tag. There is no tag for this version. But you can use a date. cvs -d :pserver:anonymous@incrtcl.cvs.sourceforge.net:/cvsroot/incrtcl -z3 co -P -D 2010-10-28 incrTcl > > Do you know where I can get incr Tk and hopefully a corresponding > iwidgets? Itk is inside itcl sources. cvs -d :pserver:anonymous@incrtcl.cvs.sourceforge.net:/cvsroot/incrtcl -z3 co -P -D 2010-10-28 iwidgets HTH rene Thanks. Andres >> I am trying to download incr Tcl and incr Tk for Tcl/Tk 8.4.19. >> >> I looked at: >> >> http://sourceforge.net/projects/incrtcl/files/%5BIncr%20Tcl_Tk%5D-sou... >> >> But only itcl seems to be there. And the CVS doesn't have the 3.4.1 >> tag. The released sources for Itcl 3.4.1 were not developed in SF CVS. SF CVS got abandoned during the January...

Possible bug in Tcl or Windows or Tcl on Windows
Hi, There seems to be a bug in the way numbers are compared in Tcl. Consider the below script for calculating Pythagorean triplets. For hypotenuse upto a value of 100, there should have been 63 unique triplets. On Windows XP the script detects only 62. The script doesn't detect the case where c=99, b=20 ==> a=101. However running the same script under Tcl 8.4.1 in Cygwin detects 63 triplets. I don't have a Linux machine at hand to test it there. Following is the script and relevant output. Could anyone shed some light on the cause of this. Maybe it has something to do with how the numbers are represented internally? Running the script for N>100 shows up many more such missed values. An equivalent program in C runs correctly on the same machine. C code was compiled using both gcc and VC++6.0. ######################################################################### # a^2 = b^2 + c^2 proc pythag {MAX} { set i 0 for {set c 2} {$c <= $MAX} {incr c} { for {set b 1} {$b < $c} {incr b} { set a [expr hypot($c, $b)] ;# Calc. Hypot if { ($c == 99) && ($b == 20)} { ;# <<<<<<<< puts ">> [expr round($a)] == $a" } if {[expr round($a)] == $a} { puts "$a : $b : $c" incr i } } } return $i } if {$argc == 1} { set MAX [lindex $argv 0] } else { puts stderr "Usage: tclsh $argv0 N" exit } puts [pythag $MAX] ############# OUTPUT ################ Tcl 8.4.1 (Cygwi...

tcl 8.6.4
Hi, Using 8.3.0, compiled on AIX 6.1 with no problems. It compiles with the xlc= compiler. But when I try to build tcl 8.6.4, I notice some changes. Configure uses xl= c_r rather than xlc. But the difference that causes a problem is setting TC= L_LIBRARY snd TCL_PACKAGE_PATH.tclUnixInit.c is the only file that uses the= se extra variables in make and I get the following errors. xlcwrapper_r -c -DNDEBUG -O -DBUILD_tcl -I"." -I/tmp/xxxxxx/tcl8.6.4/un= ix -I/tmp/xxxxxx/tcl8.6.4/generic -I/tmp/xxxxxx/tcl8.6.4/libtommath -DPACK= AGE_NAME=3D\"tcl\" -DPACKAGE_TARN...

'lrange' differences in tcl 8.4 and 8.6
Hi, lrange works differently in tcl versions 8.4 and 8.6, if the output has only #. % info patch 8.4.13 % % set test {a "#"} a "#" % set testme [lrange $test 1 end] # % info patch 8.6.1 % set test2 {a "#"} a "#" % set testme [lrange $test2 1 end] {#} Is this an intentional change ? Most of our regression scripts are failing after upgrade to 8.6.1, as the regular expressions don't match, as lrange was earlier returning #, but after upgrade {#} Regards, Lucky Lucky Y <ylucki@gmail.com> wrote: > Hi, >...

Books about Tcl 8.6
Is there a book about Tcl 8.6 upcoming? Or which of http://wiki.tcl.tk/57 is best suited to cover the features of new http://tcl.tk/software/tcltk/8.6.html? I prefer a positive response to the first question (because it is not asking for opinion). Otherwise I prefer pure Tcl over Tk. Thanks, Martin Dear Martin, I am not aware of any professional book for Tcl/Tk 8.6. Even for Tcl/Tk 8.6, there is not to much: BOOK Tcl 8.5 Network Programming (I like this one) and I heard that the Osterhout book was updated 8.5, but I don't know: https://www.packtpub.com/networking-...

bug in Tcl 8.5a2?
Hi, I'm experiencing what I think is a bug in Tcl 8.5. The following gives me different output in 8.4.7 and 8.5a2: set example [list # #] Output from 8.4.7: % set example [list # #] # # Output from 8.5a2: % set example [list # #] {#} # It seems that 8.5 puts an extra set of brackets around the first element of a list if it starts with #. This bit me as I was attempting to put a list of scanlines to a Tk image. Is this a known issue? If not, under what category should I file the bug report? By the way, I'm running ActiveState binaries on Windows 2000 Professional and Windows XP Home edition. Thanks, Aric Aric Bills wrote: > Output from 8.4.7: > > % set example [list # #] > # # > > Output from 8.5a2: > > % set example [list # #] > {#} # See TIP 148. Thanks, though. That entry in the changes file ought to have a ***POTENTIAL INCOMPATIBILITY*** mark. -- | Don Porter Mathematical and Computational Sciences Division | | donald.porter@nist.gov Information Technology Laboratory | | http://math.nist.gov/~DPorter/ NIST | |______________________________________________________________________| Don Porter <dgp@email.nist.gov> writes: > Aric Bills wrote: > > Output from 8.4.7: > > > > % set example [list # #] > > # # > > > > Output from 8.5a2: > > > > % set example [list # #] > > {#} # > > See TIP 148. ...

Tcl SOAP
OK - Believe it or not, I have a "requirement" to use SOAP! The last time I worked with this, it did not work at all. So the following quesitons come to mind: Has it improved any - and it is working on Tcl 8.4.1 or later? Anyone using it for connecting to Web Services? Anyone using it to provide Web Services? I will immediately need to connect to a Web Service using SOAP (this is the "only" option), and then later provide Web Services via Apache (1.3 likely, but will migrate to 2.0x if necessary). Any guidance or suggestions would be most welcomed! Dave In article <e45f1db4.0405281105.8d1b86e@posting.google.com>, Dave Bigelow <davidhbigelow@simplifiedlogic.com> wrote: >OK - > >Believe it or not, I have a "requirement" to use SOAP! > >The last time I worked with this, it did not work at all. So the >following quesitons come to mind: > >Has it improved any - and it is working on Tcl 8.4.1 or later? >Anyone using it for connecting to Web Services? >Anyone using it to provide Web Services? > >I will immediately need to connect to a Web Service using SOAP (this >is the "only" option), and then later provide Web Services via Apache >(1.3 likely, but will migrate to 2.0x if necessary). > >Any guidance or suggestions would be most welcomed! > >Dave Short answer: yes. What does "immediately" mean to you? What platforms interest you? I'm working with t...

Web resources about - Bug in tcl 8.6, or in itcl? - comp.lang.tcl

Tcl/Tk 8.6
Latest Release: .0 (Dec 20, 2012) Tcl/Tk 8.5 has served as the latest stable release for five years,and will be around for some time to come, ...

Mongla factory collapse toll 6; army, govt launch enquiries
Death toll in Mongla factory building collapse has climbed to six after rescuers found two more bodies.

7 die as factory roof collapses - Dhaka Tribune
At least seven people were killed and more than 20 injured in Mongla, Khulna when a partially-completed roof of a three-storey cement factory ...

ZipLine consolidating college loans
PLANS & PRICING JOIN SIGN IN we make your business better DOCUMENTS & VIDEOS Resources For: STARTING A BUSINESS GROWING A BUSINESS PROFESSIONAL ...



Wellsville - WTOV Steubenville-Wheeling
Head Coach: Rich Wright College Attended: Ashland History of Coaching: 14 years at Beaver Local; 2nd year at Wellsville Record as Head Coach: ...

Game of the Week
Home News Local News Daybreak Austintown News Boardman News Canfield News Columbiana News Poland News Sharon News Warren News Youngstown News ...

index
LATEST NEWS The Schools Schedules History Media Football Links Videos Archives ITCL Fan Forum OUR SPONSORS: 2013 ITCL Statistics ITCLFootball.Net ...

T2 package - 2.1 - matrix
Home :: Startpage Search: : T2 SDE : Home About Releases Download Documentation Architectures OS kernel Packages 8.0 7.0 6.0 2.1 Targets Hardware ...

Resources last updated: 3/13/2016 11:30:22 AM