You can subscribe to this list here.
2003 |
Jan
(3) |
Feb
(3) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(14) |
Aug
|
Sep
(2) |
Oct
(10) |
Nov
|
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
|
Feb
(2) |
Mar
|
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
(1) |
Apr
(2) |
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
(2) |
Dec
|
2006 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(3) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(1) |
Oct
(3) |
Nov
(5) |
Dec
(11) |
2007 |
Jan
(7) |
Feb
(2) |
Mar
(1) |
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
(2) |
Sep
(10) |
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
(3) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(2) |
Aug
(1) |
Sep
(6) |
Oct
(9) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
(1) |
Apr
(2) |
May
|
Jun
(7) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(1) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(4) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(7) |
Dec
|
2012 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
2013 |
Jan
|
Feb
(6) |
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(10) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(2) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
(1) |
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(2) |
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: Andreas K. <and...@ac...> - 2012-08-07 18:27:41
|
[[ Get your papers, WIPs and posters in. (We have an exhibition hall with 25 gesture-controlled screens to show the latter two on). The deadline for abstracts and proposals is three weeks away. ]] [[ Notes: Colin Walker of F5 is confirmed as our Keynote speaker. http://www.f5.com ]] 19th Annual Tcl/Tk Conference (Tcl'2012) http://www.tcl.tk/community/tcl2012/ November 12 - 16, 2012 Sessions: National Museum of Health and Medicine Chicago 175 W. Washington Chicago, IL 60602 Rooms: Holiday Inn Chicago Mart Plaza 350 West Mart Center Drive Chicago, Illinois, USA Map: https://maps.google.com/maps/ms?msid=204739899073144451536.0004c144222a9036c99f6&msa=0&ll=41.885266,-87.633734&spn=0.008443,0.018818 Important Dates: Abstracts and proposals due August 27, 2012 Notification to authors September 10, 2012 WIP and BOF reservations open August 6, 2012 Author materials due October 29, 2012 Tutorials Start November 12, 2012 Conference starts November 14, 2012 Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2012 will be held in Chicago, Illinois, USA from November 12 - 16, 2012. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 27, 2012. Authors of accepted abstracts will have until October 29, 2012 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis starting in August 6, 2012. Specific instructions for reserving WIP and BOF time slots will be provided in the registration information available in June 2012. Some WIP and BOF time slots will be held open for on-site reservation. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2012/) and will be published on various Tcl/Tk-related information channels. To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://code.activestate.com/lists/tcl-announce to subscribe to the tcl-announce mailing list. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Nat. Museum of Health & Medicine, Chicago Site/Facilities Chair Arjen Markus Deltares Brian Griffin Mentor Graphics Donal Fellows University of Manchester Gerald Lester KnG Consulting, LLC Jeffrey Hobbs ActiveState Software Inc. Kevin Kenny GE Global Research Center Larry Virden Mike Doyle National Museum of Health & Medicine, Chicago Ron Fox NSCL/FRIB Michigan State University Steve Landers Digital Smarties Contact Information tcl...@go... Tcl'2012 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Andreas K. <and...@ac...> - 2012-05-30 15:47:12
|
[[ Notes: Colin Walker of F5 is confirmed as our Keynote speaker. http://www.f5.com ]] 19th Annual Tcl/Tk Conference (Tcl'2012) http://www.tcl.tk/community/tcl2012/ November 12 - 16, 2012 Holiday Inn Chicago Mart Plaza 350 West Mart Center Drive Chicago, Illinois, USA Important Dates: Abstracts and proposals due August 27, 2012 Notification to authors September 10, 2012 WIP and BOF reservations open August 6, 2012 Author materials due October 29, 2012 Tutorials Start November 12, 2012 Conference starts November 14, 2012 Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2012 will be held in Chicago, Illinois, USA from November 12 - 16, 2012. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 27, 2012. Authors of accepted abstracts will have until October 29, 2012 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis starting in August 6, 2012. Specific instructions for reserving WIP and BOF time slots will be provided in the registration information available in June 2012. Some WIP and BOF time slots will be held open for on-site reservation. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2012/) and will be published on various Tcl/Tk-related information channels. To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://code.activestate.com/lists/tcl-announce to subscribe to the tcl-announce mailing list. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Nat. Museum of Health & Medicine, Chicago Site/Facilities Chair Arjen Markus Deltares Brian Griffin Mentor Graphics Donal Fellows University of Manchester Gerald Lester KnG Consulting, LLC Jeffrey Hobbs ActiveState Software Inc. Kevin Kenny GE Global Research Center Larry Virden Mike Doyle National Museum of Health & Medicine, Chicago Ron Fox NSCL/FRIB Michigan State University Steve Landers Digital Smarties Contact Information tcl...@go... Tcl'2012 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Andreas K. <and...@ac...> - 2012-04-02 19:13:12
|
19th Annual Tcl/Tk Conference (Tcl'2012) http://www.tcl.tk/community/tcl2012/ November 12 - 16, 2012 Holiday Inn Chicago Mart Plaza 350 West Mart Center Drive Chicago, Illinois, USA Important Dates: Abstracts and proposals due August 27, 2012 Notification to authors September 10, 2012 WIP and BOF reservations open August 6, 2012 Author materials due October 29, 2012 Tutorials Start November 12, 2012 Conference starts November 14, 2012 Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2012 will be held in Chicago, Illinois, USA from November 12 - 16, 2012. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 27, 2012. Authors of accepted abstracts will have until October 29, 2012 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis starting in August 6, 2012. Specific instructions for reserving WIP and BOF time slots will be provided in the registration information available in June 2012. Some WIP and BOF time slots will be held open for on-site reservation. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2012/) and will be published on various Tcl/Tk-related information channels. To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://code.activestate.com/lists/tcl-announce to subscribe to the tcl-announce mailing list. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Nat. Museum of Health & Medicine, Chicago Site/Facilities Chair Brian Griffin Mentor Graphics Ron Fox NSCL/FRIB Michigan State University Arjen Markus Deltares Mike Doyle National Museum of Health & Medicine, Chicago Gerald Lester KnG Consulting, LLC Donal Fellows University of Manchester Jeffrey Hobbs ActiveState Software Inc. Steve Landers Digital Smarties Kevin Kenny GE Global Research Center Contact Information tcl...@go... Tcl'2012 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Woei C. J. K. <jas...@gm...> - 2012-03-12 07:38:32
|
Hi i am beginner in tcl. I have no idea how to compare the file extension. I have written a simple script. However, it doesn't work. Pls advice. Thanks set source_file "[glob *.v *.sv *.vhd]" foreach i $source_file { if {$i == *.v} { puts "it is correct format file: $i" } else { puts "it is incorrect format file: $i" } } |
From: Jeff H. <je...@ac...> - 2011-11-02 16:43:33
|
Actually a basekit/tclkit will usually be built with Tk statically included, but not as a "wish" - you still have to 'package require Tk' to get it. The key thing missing in Will's request is the platform. Note that even Welch's last edition (for 8.5, that I assisted with) was finished many years ago. One of the issues was that X11 itself use to not be thread-safe. This isn't the case anymore (at least on systems most people would be using ...). Tk may need a final clean for static vars, but it will work fine if you isolate it to one thread. To be safe, just use Tk in the main thread, and relegate other threads to help. I'm attaching an app that is an example of this, fetching image data in multiple threads and returning it to the main Tk thread. I do recall seeing the subthread issue before ... can't recall the specifics, but really just arrange it to have Tk in the main thread. If you are doing this from scratch, that shouldn't add any extra work. This may not always work with other extensions, but most widget extensions should be fine. Jeff On 02/11/2011 7:59 AM, Rusty Brooks wrote: > Does the example I sent work if you add package require Tk for the first > thread? I probably am using wish - but you could also, right? > > I've written multiple production apps that are multi-threaded and use Tk > - I've never had a problem with it. That's not to say there couldn't be > anything, but it has worked well for me. > > Also, due to the threading model that tcl uses, there is not that much > advantage to using threading in tcl unless you specifically want to use > the thread-shared-variables or other thread-specific features. Threads > in tcl are a lot more seperated from each other than is common in > threaded programming, so in many cases you're nearly just as well off > exec-ing a sub process to run something that would normally be threaded, > and communicating with it via stdin/stdout. This introduces some > complications, sure, but it also often improves some things. It's > usually worth at least considering. > > Rusty > > On Nov 2, 2011, at 9:50 AM, Duquette, William H (318K) wrote: > >> I suspect that the difference is that your tclkit is functionally a >> "wish", whereas I'm running in "tclsh" and doing "package require Tk". >> >> As for using Tk in multiple threads--all of the documentation I've >> seen on the Threads package that mentions Tk (as, for example, >> _Practical Programming in Tcl and Tk_) says not to do it. It's not >> that it will fail immediately, but that it (under circumstances >> usually difficult to reproduce or debug) it will fail mysteriously. >> >> Will >> >> >> On 11/1/11 6:43 PM, "Rusty Brooks" <me...@ru... >> <mailto:me...@ru...>> wrote: >> >>> I just tried and it works perfectly fine btw. Also, I didn't have to >>> do any kind of thread::wait or anything like that, seems to work OK >>> as is with the setup I have (which is using a tclkit with the thread >>> libraries built in) >>> >>> See attached script >>> >>> On 11/1/2011 4:36 PM, Duquette, William H (318K) wrote: >>>> Howdy! >>>> >>>> Two questions: >>>> >>>> 1. I know that I can only use Tk in a single thread of a >>>> multi-threaded app. Does it matter which thread it is, i.e., if Tk >>>> is NOT running in the main thread is it OK to invoke it in a thread >>>> created using thread::create? >>>> >>>> (I've tried it; it appears to work; I just need to know whether it >>>> will cause me problems in the long run.) >>>> >>>> 2. When I invoke Tk using [package require Tk] in a thread created >>>> using thread::create, it appears that I have to call [vwait] or >>>> [thread::wait] explicitly at the end of the thread startup script, >>>> or I don't enter the event loop. Is this expected behavior? >>>> >>>> Thanks very much! >>>> >>>> Will |
From: Duquette, W. H (318K) <wil...@jp...> - 2011-11-02 15:10:33
|
Rusty, Re: subprocesses vs. threads -- yeah, I know. I'd much prefer to avoid threads altogether. Also I'm well aware of how the Tcl thread model works, as I took a class on it some years back. I haven't used it for anything since then, though, but as a result I'm not looking for the big ideas here, but rather for the little gotchas. In general, I'd much prefer just to use the event loop than either subprocesses or threads. I don't like threads; if it weren't for Tcl's relatively sane threading model I wouldn't be considering using them now. My main difficulty is that the application I'm working with was designed as a monolithic app, and splitting into pieces, whether using threads or subprocesses, is going to be a pain in the neck. Thanks for your input. -- Will Duquette -- Wil...@jp... Athena Development Lead -- Jet Propulsion Laboratory "It's amazing what you can do with the right tools." On 11/2/11 7:59 AM, "Rusty Brooks" <me...@ru...<mailto:me...@ru...>> wrote: Does the example I sent work if you add package require Tk for the first thread? I probably am using wish - but you could also, right? I've written multiple production apps that are multi-threaded and use Tk - I've never had a problem with it. That's not to say there couldn't be anything, but it has worked well for me. Also, due to the threading model that tcl uses, there is not that much advantage to using threading in tcl unless you specifically want to use the thread-shared-variables or other thread-specific features. Threads in tcl are a lot more seperated from each other than is common in threaded programming, so in many cases you're nearly just as well off exec-ing a sub process to run something that would normally be threaded, and communicating with it via stdin/stdout. This introduces some complications, sure, but it also often improves some things. It's usually worth at least considering. Rusty On Nov 2, 2011, at 9:50 AM, Duquette, William H (318K) wrote: I suspect that the difference is that your tclkit is functionally a "wish", whereas I'm running in "tclsh" and doing "package require Tk". As for using Tk in multiple threads--all of the documentation I've seen on the Threads package that mentions Tk (as, for example, _Practical Programming in Tcl and Tk_) says not to do it. It's not that it will fail immediately, but that it (under circumstances usually difficult to reproduce or debug) it will fail mysteriously. Will -- Will Duquette -- Wil...@jp...<mailto:Wil...@jp...> Athena Development Lead -- Jet Propulsion Laboratory "It's amazing what you can do with the right tools." On 11/1/11 6:43 PM, "Rusty Brooks" <me...@ru...<mailto:me...@ru...>> wrote: I just tried and it works perfectly fine btw. Also, I didn't have to do any kind of thread::wait or anything like that, seems to work OK as is with the setup I have (which is using a tclkit with the thread libraries built in) See attached script On 11/1/2011 4:36 PM, Duquette, William H (318K) wrote: Howdy! Two questions: 1. I know that I can only use Tk in a single thread of a multi-threaded app. Does it matter which thread it is, i.e., if Tk is NOT running in the main thread is it OK to invoke it in a thread created using thread::create? (I've tried it; it appears to work; I just need to know whether it will cause me problems in the long run.) 2. When I invoke Tk using [package require Tk] in a thread created using thread::create, it appears that I have to call [vwait] or [thread::wait] explicitly at the end of the thread startup script, or I don't enter the event loop. Is this expected behavior? Thanks very much! Will -- Will Duquette -- Wil...@jp...<mailto:Wil...@jp...> Athena Development Lead -- Jet Propulsion Laboratory "It's amazing what you can do with the right tools." ------------------------------------------------------------------------------ RSA® Conference 2012 Save $700 by Nov 18 Register now! http://p.sf.net/sfu/rsa-sfdev2dev1 _______________________________________________ Tcl-Threads mailing list Tcl...@li...<mailto:Tcl...@li...>https://lists.sourceforge.net/lists/listinfo/tcl-threads |
From: Rusty B. <me...@ru...> - 2011-11-02 14:58:35
|
Does the example I sent work if you add package require Tk for the first thread? I probably am using wish - but you could also, right? I've written multiple production apps that are multi-threaded and use Tk - I've never had a problem with it. That's not to say there couldn't be anything, but it has worked well for me. Also, due to the threading model that tcl uses, there is not that much advantage to using threading in tcl unless you specifically want to use the thread-shared-variables or other thread-specific features. Threads in tcl are a lot more seperated from each other than is common in threaded programming, so in many cases you're nearly just as well off exec-ing a sub process to run something that would normally be threaded, and communicating with it via stdin/stdout. This introduces some complications, sure, but it also often improves some things. It's usually worth at least considering. Rusty On Nov 2, 2011, at 9:50 AM, Duquette, William H (318K) wrote: > I suspect that the difference is that your tclkit is functionally a "wish", whereas I'm running in "tclsh" and doing "package require Tk". > > As for using Tk in multiple threads--all of the documentation I've seen on the Threads package that mentions Tk (as, for example, _Practical Programming in Tcl and Tk_) says not to do it. It's not that it will fail immediately, but that it (under circumstances usually difficult to reproduce or debug) it will fail mysteriously. > > Will > > -- > Will Duquette -- Wil...@jp... > Athena Development Lead -- Jet Propulsion Laboratory > "It's amazing what you can do with the right tools." > > > On 11/1/11 6:43 PM, "Rusty Brooks" <me...@ru...> wrote: > >> I just tried and it works perfectly fine btw. Also, I didn't have to do any kind of thread::wait or anything like that, seems to work OK as is with the setup I have (which is using a tclkit with the thread libraries built in) >> >> See attached script >> >> On 11/1/2011 4:36 PM, Duquette, William H (318K) wrote: >>> >>> Howdy! >>> >>> Two questions: >>> >>> 1. I know that I can only use Tk in a single thread of a multi-threaded app. Does it matter which thread it is, i.e., if Tk is NOT running in the main thread is it OK to invoke it in a thread created using thread::create? >>> >>> (I've tried it; it appears to work; I just need to know whether it will cause me problems in the long run.) >>> >>> 2. When I invoke Tk using [package require Tk] in a thread created using thread::create, it appears that I have to call [vwait] or [thread::wait] explicitly at the end of the thread startup script, or I don't enter the event loop. Is this expected behavior? >>> >>> Thanks very much! >>> >>> Will >>> -- >>> Will Duquette -- Wil...@jp... >>> Athena Development Lead -- Jet Propulsion Laboratory >>> "It's amazing what you can do with the right tools." >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> RSA® Conference 2012 >>> Save $700 by Nov 18 >>> Register now! >>> http://p.sf.net/sfu/rsa-sfdev2dev1 >>> >>> >>> _______________________________________________ >>> Tcl-Threads mailing list >>> Tcl...@li...https://lists.sourceforge.net/lists/listinfo/tcl-threads >> |
From: Duquette, W. H (318K) <wil...@jp...> - 2011-11-02 14:50:54
|
I suspect that the difference is that your tclkit is functionally a "wish", whereas I'm running in "tclsh" and doing "package require Tk". As for using Tk in multiple threads--all of the documentation I've seen on the Threads package that mentions Tk (as, for example, _Practical Programming in Tcl and Tk_) says not to do it. It's not that it will fail immediately, but that it (under circumstances usually difficult to reproduce or debug) it will fail mysteriously. Will -- Will Duquette -- Wil...@jp... Athena Development Lead -- Jet Propulsion Laboratory "It's amazing what you can do with the right tools." On 11/1/11 6:43 PM, "Rusty Brooks" <me...@ru...<mailto:me...@ru...>> wrote: I just tried and it works perfectly fine btw. Also, I didn't have to do any kind of thread::wait or anything like that, seems to work OK as is with the setup I have (which is using a tclkit with the thread libraries built in) See attached script On 11/1/2011 4:36 PM, Duquette, William H (318K) wrote: Howdy! Two questions: 1. I know that I can only use Tk in a single thread of a multi-threaded app. Does it matter which thread it is, i.e., if Tk is NOT running in the main thread is it OK to invoke it in a thread created using thread::create? (I've tried it; it appears to work; I just need to know whether it will cause me problems in the long run.) 2. When I invoke Tk using [package require Tk] in a thread created using thread::create, it appears that I have to call [vwait] or [thread::wait] explicitly at the end of the thread startup script, or I don't enter the event loop. Is this expected behavior? Thanks very much! Will -- Will Duquette -- Wil...@jp...<mailto:Wil...@jp...> Athena Development Lead -- Jet Propulsion Laboratory "It's amazing what you can do with the right tools." ------------------------------------------------------------------------------ RSA® Conference 2012 Save $700 by Nov 18 Register now! http://p.sf.net/sfu/rsa-sfdev2dev1 _______________________________________________ Tcl-Threads mailing list Tcl...@li...<mailto:Tcl...@li...>https://lists.sourceforge.net/lists/listinfo/tcl-threads |
From: Rusty B. <me...@ru...> - 2011-11-02 01:44:02
|
package require Thread set i1 [thread::create] set i2 [thread::create] pack [button .b -text {main thread} -command {tk_messageBox -message "This is from main thread"}] set command { package require Tk pack [button .b -text $::text -command {tk_messageBox -message "This is from $::text"}] } thread::send $i1 "set ::text {thread1}" thread::send $i1 $command thread::send $i2 "set ::text {thread2}" thread::send $i2 $command |
From: Rusty B. <me...@ru...> - 2011-11-02 00:56:05
|
I don't believe it's true that you can only have Tk in one thread. It's been a while but I'm about 90% sure that I have some applications that use Tk in every thread. You will get a toplevel window for each thread you use it in, though. thread::wait or vwait will work to stay in the event loop, there are probably other techniques also. But the basic idea is, you have to give it somewhere to wait, otherwise it's going to fall through and exit. The same is true for many event-loop based programming languages. On 11/1/2011 4:36 PM, Duquette, William H (318K) wrote: > Howdy! > > Two questions: > > 1. I know that I can only use Tk in a single thread of a > multi-threaded app. Does it matter which thread it is, i.e., if Tk is > NOT running in the main thread is it OK to invoke it in a thread > created using thread::create? > > (I've tried it; it appears to work; I just need to know whether it > will cause me problems in the long run.) > > 2. When I invoke Tk using [package require Tk] in a thread created > using thread::create, it appears that I have to call [vwait] or > [thread::wait] explicitly at the end of the thread startup script, or > I don't enter the event loop. Is this expected behavior? > > Thanks very much! > > Will > -- > Will Duquette -- Wil...@jp... > Athena Development Lead -- Jet Propulsion Laboratory > "It's amazing what you can do with the right tools." > > > > ------------------------------------------------------------------------------ > RSA® Conference 2012 > Save $700 by Nov 18 > Register now! > http://p.sf.net/sfu/rsa-sfdev2dev1 > > > _______________________________________________ > Tcl-Threads mailing list > Tcl...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-threads |
From: Duquette, W. H (318K) <wil...@jp...> - 2011-11-01 21:37:30
|
Howdy! Two questions: 1. I know that I can only use Tk in a single thread of a multi-threaded app. Does it matter which thread it is, i.e., if Tk is NOT running in the main thread is it OK to invoke it in a thread created using thread::create? (I've tried it; it appears to work; I just need to know whether it will cause me problems in the long run.) 2. When I invoke Tk using [package require Tk] in a thread created using thread::create, it appears that I have to call [vwait] or [thread::wait] explicitly at the end of the thread startup script, or I don't enter the event loop. Is this expected behavior? Thanks very much! Will -- Will Duquette -- Wil...@jp... Athena Development Lead -- Jet Propulsion Laboratory "It's amazing what you can do with the right tools." |
From: Andreas K. <and...@ac...> - 2011-08-05 20:56:18
|
[[ Get your papers in. The deadline for abstracts and proposals is three weeks away. ]] 18th Annual Tcl/Tk Conference (Tcl'2011) http://www.tcl.tk/community/tcl2011/ October 24 - 28, 2011 Comfort Suites Manassas Manassas, Virgina, USA Important Dates: Abstracts and proposals due August 26, 2011 Notification to authors September 12, 2011 WIP and BOF reservations open August 1, 2011 Author materials due October 9, 2011 Tutorials Start October 24, 2011 Conference starts October 26, 2011 Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2011 will be held in Manassas, Virgina, USA from October 24 - 28, 2011. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language This year is the fourth year that the Tcl community is participating in the Google Summer of Code. The conference program committee would like to encourage submissions that report on the Tcl projects selected for Google SoC 2011. Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 26, 2011. Authors of accepted abstracts will have until October 9, 2011 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. TCLCA receives first publication rights, and expects that this is the first time the paper is published. Not a retread from another conference, etc. TCLCA further receives subsequent publication rights, to handle the Publish-On-Demand nature of Lulu, our vendor for the dissemination of the conference proceedings. All other rights are retained by the author. You can put this on your website, include it in a book, expand it into a novel, sell the movie rights, etc. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis starting in August 1, 2011. Specific instructions for reserving WIP and BOF time slots will be provided in the registration information available in June 2011. Some WIP and BOF time slots will be held open for on-site reservation. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2011/) and will be published on various Tcl/Tk-related information channels. Reservations for hotel suites can be made by calling (703) 686-1100. Be certain to mention that you are with the Tcl/Tk Conference to get the Tcl/Tk Conference room rate. To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://aspn.activestate.com/ASPN/Mail/ to subscribe to the tcl-announce mailing list. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Iomas Research, LLC Brian Griffin Mentor Graphics Ron Fox NSCL/FRIB Michigan State University Arjen Markus Deltares Mike Doyle Iomas Research, LLC Gerald Lester KnG Consulting, LLC Donal Fellows University of Manchester Jeffrey Hobbs ActiveState Software Inc. Steve Landers Digital Smarties Kevin Kenny GE Global Research Center Larry Virden Tcl FAQ Maintainer Steve Redler IV SR Technology Contact Information tcl...@go... Tcl'2011 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Donald G P. <don...@ni...> - 2011-06-27 18:17:12
|
Available now for testing @ ftp://ftp.tcl.tk/pub/tcl/thread/thread2.6.7rc1.tar.gz is a release candidate for version 2.6.7 of the Thread package. Try it out and let me know what changes, if any, are required before making the actual release. Thanks! -- | Don Porter Applied and Computational Mathematics Division | | don...@ni... Information Technology Laboratory | | http://math.nist.gov/~DPorter/ NIST | |______________________________________________________________________| |
From: Andreas K. <and...@ac...> - 2011-06-17 16:13:46
|
[[ Important Changes: The Conference Registration Page is live. Regarding special events we are looking into arranging a trip to the Air and Space Museum out near Dulles. This is currently a very tentative thing. If a local person would like to help with this please talk to "cl...@cf...". ]] 18th Annual Tcl/Tk Conference (Tcl'2011) http://www.tcl.tk/community/tcl2011/ October 24 - 28, 2011 Comfort Suites Manassas Manassas, Virgina, USA Important Dates: Abstracts and proposals due August 26, 2011 Notification to authors September 12, 2011 WIP and BOF reservations open August 1, 2011 Author materials due October 9, 2011 Tutorials Start October 24, 2011 Conference starts October 26, 2011 Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2011 will be held in Manassas, Virgina, USA from October 24 - 28, 2011. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language This year is the fourth year that the Tcl community is participating in the Google Summer of Code. The conference program committee would like to encourage submissions that report on the Tcl projects selected for Google SoC 2011. Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 26, 2011. Authors of accepted abstracts will have until October 9, 2011 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis starting in August 1, 2011. Specific instructions for reserving WIP and BOF time slots will be provided in the registration information available in June 2011. Some WIP and BOF time slots will be held open for on-site reservation. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2011/) and will be published on various Tcl/Tk-related information channels. Reservations for hotel suites can be made by calling (703) 686-1100. Be certain to mention that you are with the Tcl/Tk Conference to get the Tcl/Tk Conference room rate. To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://aspn.activestate.com/ASPN/Mail/ to subscribe to the tcl-announce mailing list. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Iomas Research, LLC Brian Griffin Mentor Graphics Ron Fox NSCL/FRIB Michigan State University Arjen Markus Deltares Mike Doyle Iomas Research, LLC Gerald Lester KnG Consulting, LLC Donal Fellows University of Manchester Jeffrey Hobbs ActiveState Software Inc. Steve Landers Digital Smarties Kevin Kenny GE Global Research Center Larry Virden Tcl FAQ Maintainer Steve Redler IV SR Technology Contact Information tcl...@go... Tcl'2011 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Krzysztof F. <fru...@gm...> - 2011-06-12 08:01:40
|
Hello again, I was trying to solve the problem from my previous post using mutex. But it does not seem to work. Blow is the code. Senders, one worker. package require Thread tsv::set threads worker [thread::create] tsv::set threads sender1 [thread::create] tsv::set threads sender2 [thread::create] tsv::set threads sender3 [thread::create] puts "sender 1: [tsv::get threads sender1]" puts "sender 2: [tsv::get threads sender2]" puts "sender 3: [tsv::get threads sender3]" puts "worker: [tsv::get threads worker]" tsv::set db mutex [thread::mutex create] thread::send [tsv::get threads worker] { package require Expect set timeout 2 spawn picocom /home/dib/vmodem0 } thread::send -async [tsv::get threads sender1] { package require Thread for {set i 0} {$i < 3} {incr i} { set mutex [tsv::get db mutex] thread::mutex lock $mutex thread::send -async [tsv::get threads worker] { puts "Worker IN - from sender1" catch {expect { "D" {puts "[thread::id] got D"} timeout {puts "[thread::id] timedout"} } } puts "Worker OUT - from sender1" } thread::mutex unlock $mutex ::after 1110 } } thread::send -async [tsv::get threads sender2] { package require Thread for {set i 0} {$i < 3} {incr i} { set mutex [tsv::get db mutex] thread::mutex lock $mutex thread::send -async [tsv::get threads worker] { puts "Worker IN - from sender2" catch {expect { "D" {puts "[thread::id] got D"} timeout {puts "[thread::id] timedout"} } } puts "Worker OUT - from sender2" } thread::mutex unlock $mutex ::after 690 } } thread::send -async [tsv::get threads sender3] { package require Thread for {set i 0} {$i < 3} {incr i} { set mutex [tsv::get db mutex] thread::mutex lock $mutex thread::send -async [tsv::get threads worker] { puts "Worker IN - from sender3" catch {expect { "D" {puts "[thread::id] got D"} timeout {puts "[thread::id] timedout"} } } puts "Worker OUT - from sender3" } thread::mutex unlock $mutex ::after 550 } } puts "main thread done" thread::wait An the output: sender 1: tid0x7f2a8a059700 sender 2: tid0x7f2a89858700 sender 3: tid0x7f2a89057700 worker: tid0x7f2a8a85a700 spawn picocom /home/dib/vmodem0 main thread done Worker IN - from sender1 Worker IN - from sender2 Worker IN - from sender3 picocom v1.4 port is : /home/dib/vmodem0 flowcontrol : none baudrate is : 9600 parity is : none databits are : 8 escape is : C-a noinit is : no noreset is : no nolock is : no send_cmd is : ascii_xfr -s -v -l10 receive_cmd is : rz -vv Terminal ready Worker IN - from sender3 Worker IN - from sender2 Worker IN - from sender3 Worker IN - from sender1 Worker IN - from sender2 Worker IN - from sender1 tid0x7f2a8a85a700 timedout Worker OUT - from sender1 tid0x7f2a8a85a700 timedout Worker OUT - from sender2 tid0x7f2a8a85a700 timedout Worker OUT - from sender1 tid0x7f2a8a85a700 timedout Worker OUT - from sender3 tid0x7f2a8a85a700 timedout Worker OUT - from sender2 tid0x7f2a8a85a700 timedout Worker OUT - from sender3 tid0x7f2a8a85a700 timedout Worker OUT - from sender3 tid0x7f2a8a85a700 timedout Worker OUT - from sender2 tid0x7f2a8a85a700 timedout Worker OUT - from sender1 Why does a mutex let several threads in to the critical section? |
From: Krzysztof F. <fru...@gm...> - 2011-06-12 07:15:04
|
Hello, I have created an application using TCL, Expect, XOTcl and several libraries including Thread version 1:2.6.5-4 (Debian package). I have several threads working: senders - they send scripts to worker worker - executes scripts >From what I understand the scripts sent to worker should be queued and executed when thread enters event loop. The problem is that a preemption happens. Here is the flow overview: 1. sender1 - sends script to worker 2. worker - starts executing script 3. sender2 - sends another script to worker 4. worker - immediately starts executing new script This causes a lot of problems. Does anybody know why would that happen? Maybe one of libraries makes the thread go into event loop? I am suspecting "expect" but I don't know why would that happen. Thanks for all the help |
From: Andreas K. <and...@ac...> - 2011-04-11 19:08:05
|
18th Annual Tcl/Tk Conference (Tcl'2011) http://www.tcl.tk/community/tcl2011/ October 24 - 28, 2011 Comfort Suites Manassas Manassas, Virgina, USA Important Dates: Abstracts and proposals due August 26, 2011 Notification to authors September 12, 2011 WIP and BOF reservations open August 1, 2011 Author materials due October 9, 2011 Tutorials Start October 24, 2011 Conference starts October 26, 2011 Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2011 will be held in Manassas, Virgina, USA from October 24 - 28, 2011. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language This year is the fourth year that the Tcl community is participating in the Google Summer of Code. The conference program committee would like to encourage submissions that report on the Tcl projects selected for Google SoC 2011. Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 30, 2011. Authors of accepted abstracts will have until October 14, 2011 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis starting in August 1, 2011. Specific instructions for reserving WIP and BOF time slots will be provided in the registration information available in June 2011. Some WIP and BOF time slots will be held open for on-site reservation. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2011/) and will be published on various Tcl/Tk-related information channels. To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://aspn.activestate.com/ASPN/Mail/ to subscribe to the tcl-announce mailing list. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Iomas Research, LLC Brian Griffin Mentor Graphics Ron Fox NSCL/FRIB Michigan State University Arjen Markus Deltares Mike Doyle Iomas Research, LLC Gerald Lester KnG Consulting, LLC Donal Fellows University of Manchester Jeffrey Hobbs ActiveState Software Inc. Steve Landers Digital Smarties Kevin Kenny GE Global Research Center Larry Virden Tcl FAQ Maintainer Steve Redler IV SR Technology Contact Information tcl...@go... Tcl'2011 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Devin E. <de...@im...> - 2010-12-06 13:22:51
|
A better way to do this is to start the slave process like this: proc readPipe {pipe} { if {[eof $pipe] || [catch {gets $pipe line}]} { set pipe [open "| ./GUI_slave.tcl |& cat" r] fileevent $pipe readable [list checkPipe $pipe] } else { puts stdout $line } } set pipe [open "| ./GUI_slave.tcl |& cat" r] fileevent $pipe readable [list checkPipe $pipe] ________________________________________ From: strawberrypinkpig [str...@ya...] Sent: Tuesday, November 09, 2010 9:03 PM To: tcl...@li... Subject: [Tcl-Threads] How to check whether a process is running? Hi guys, I'm quite new at this so please excuse me for sounding like a noob. I have 2 GUI, GUI_master.tcl and GUI_slave.tcl When i run GUI_master, it starts GUI_slave through exec. GUI_master will check if GUI_slave's process is still running. If GUI_slave is being killed or is being closed, GUI_master will start GUI_slave again. Am I heading the right direction by using exec? How do I know if GUI_slave's process is still running? Please help. Thank you. -- View this message in context: http://old.nabble.com/How-to-check-whether-a-process-is-running--tp30177306p30177306.html Sent from the tcl-threads mailing list archive at Nabble.com. ------------------------------------------------------------------------------ What happens now with your Lotus Notes apps - do you make another costly upgrade, or settle for being marooned without product support? Time to move off Lotus Notes and onto the cloud with Force.com, apps are easier to build, use, and manage than apps on traditional platforms. Sign up for the Lotus Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d _______________________________________________ Tcl-Threads mailing list Tcl...@li... https://lists.sourceforge.net/lists/listinfo/tcl-threads |
From: strawberrypinkpig <str...@ya...> - 2010-11-10 03:03:25
|
Hi guys, I'm quite new at this so please excuse me for sounding like a noob. I have 2 GUI, GUI_master.tcl and GUI_slave.tcl When i run GUI_master, it starts GUI_slave through exec. GUI_master will check if GUI_slave's process is still running. If GUI_slave is being killed or is being closed, GUI_master will start GUI_slave again. Am I heading the right direction by using exec? How do I know if GUI_slave's process is still running? Please help. Thank you. -- View this message in context: http://old.nabble.com/How-to-check-whether-a-process-is-running--tp30177306p30177306.html Sent from the tcl-threads mailing list archive at Nabble.com. |
From: Andreas K. <and...@ac...> - 2010-09-09 15:47:40
|
17th Annual Tcl/Tk Conference (Tcl'2010) http://www.tcl.tk/community/tcl2010/ October 11 - 15, 2010 Hilton Suites/Conference Center Chicago/Oakbrook Terrace, Illinois, USA Registration for the Conference is open at http://www.tcl.tk/community/tcl2010/reg.html To book a room at the conference hotel at reduced rates follow the link on that page. Note that this offer expires on September 26. Book early. Our schedule can be found at http://www.tcl.tk/community/tcl2010/schedule.html We have special social activites October 15, 2010 - Friday afternoon -- Tour of Fermilab Fermi National Accelerator Laboratory, http://www.fnal.gov/ Tour signup is at the conference, Wednesday, Oct 13. A tour lasts about two hours and begins in Wilson Hall. Visitors view the Laboratory from the 15th floor windows and visit various displays located there. The tour moves to the Linear Accelerator building where visitors see the Cockcroft-Walton, the components in the linear accelerator gallery and the Main Control Room. There is a docent for every 20 people. Registration required since tours must be arranged in advance. October 15, 2010 - Friday evening Dinner-theater at the award winning Drury Lane theater located next to our hotel. Special package price for dinner and theater at $44.00 per person. Regularly $64 per person. Please make reservation and payment at time of registration, or by Wednesday Oct 13 latest (at the conference). "Seven Brides for Seven Brothers" http://www.drurylaneoakbrook.com/ Bill Jenkins is one of the newest and most exciting new directors on the Chicago scene. As Chairman of the Department of Theatre and Dance at Ball State University, he heads one of the nation's largest theatre programs. After admiring his work with other Chicago area theatres, we are very pleased for this opportunity to showcase his talent at Drury Lane. Once Bill shared some of the fresh ideas and insights he had for ÂSeven Brides for Seven BrothersÂ, we knew we would have a great show for the holidays. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Iomas Research, LLC Facilities Coordination Brian Griffin Mentor Graphics Ron Fox NSCL/FRIB Michigan State University Arjen Markus Deltares Mike Doyle Iomas Research, LLC Gerald Lester KnG Consulting, LLC Donal Fellows University of Manchester Jeffrey Hobbs ActiveState Software Inc. Steve Landers Digital Smarties Kevin Kenny GE Global Research Center Larry Virden Tcl FAQ Maintainer Steve Redler IV SR Technology Contact Information tcl...@go... Tcl'2010 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Andreas K. <and...@ac...> - 2010-07-20 19:30:32
|
[[ Get your papers in. The deadline for abstracts and proposals is less than two weeks away. ]] 17th Annual Tcl/Tk Conference (Tcl'2010) http://www.tcl.tk/community/tcl2010/ October 11 - 15, 2010 Hilton Suites/Conference Center Chicago/Oakbrook Terrace, Illinois, USA Important Dates: Abstracts and proposals due August 1, 2010 Notification to authors August 15, 2010 WIP and BOF reservations open August 1, 2010 Author materials due October 1, 2010 Tutorials Start October 11, 2010 Conference starts October 13, 2010 Email Contact: tcl...@go... Submission of Summaries Tcl/Tk 2010 will be held in Chicago/Oakbrook Terrace, Illinois USA from October 11 - 15, 2010. The program committee is asking for papers and presentation proposals from anyone using or developing with Tcl/Tk (and extensions). Past conferences have seen submissions covering a wide variety of topics including: * Scientific and engineering applications * Industrial controls * Distributed applications and Network Managment * Object oriented extensions to Tcl/Tk * New widgets for Tk * Simulation and application steering with Tcl/Tk * Tcl/Tk-centric operating environments * Tcl/Tk on small and embedded devices * Medical applications and visualization * Use of different programming paradigms in Tcl/Tk and proposals for new directions. * New areas of exploration for the Tcl/Tk language This year is the third year that the Tcl community is participating in the Google Summer of Code. The conference program committee would like to encourage submissions that report on the Tcl projects selected for Google SoC 2010. Submissions should consist of an abstract of about 100 words and a summary of not more than two pages, and should be sent as plain text to <tclconference AT googlegroups DOT com> no later than August 15, 2010. Authors of accepted abstracts will have until October 1, 2010 to submit their final paper for the inclusion in the conference proceedings. The proceedings will be made available on digital media, so extra materials such as presentation slides, code examples, code for extensions etc. are encouraged. Printed proceedings will be produced as an on-demand book at lulu.com The authors will have 25 minutes to present their paper at the conference. The program committee will review and evaluate papers according to the following criteria: * Quantity and quality of novel content * Relevance and interest to the Tcl/Tk community * Suitability of content for presentation at the conference Proposals may report on commercial or non-commercial systems, but those with only blatant marketing content will not be accepted. Application and experience papers need to strike a balance between background on the application domain and the relevance of Tcl/Tk to the application. Application and experience papers should clearly explain how the application or experience illustrates a novel use of Tcl/Tk, and what lessons the Tcl/Tk community can derive from the application or experience to apply to their own development efforts. Papers accompanied by non-disclosure agreements will be returned to the author(s) unread. All submissions are held in the highest confidentiality prior to publication in the Proceedings, both as a matter of policy and in accord with the U. S. Copyright Act of 1976. The primary author for each accepted paper will receive registration to the Technical Sessions portion of the conference at a reduced rate. Other Forms of Participation The program committee also welcomes proposals for panel discussions of up to 90 minutes. Proposals should include a list of confirmed panelists, a title and format, and a panel description with position statements from each panelist. Panels should have no more than four speakers, including the panel moderator, and should allow time for substantial interaction with attendees. Panels are not presentations of related research papers. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis starting in August 1, 2010. Specific instructions for reserving WIP and BOF time slots will be provided in the registration information available in June 2010. Some WIP and BOF time slots will be held open for on-site reservation. All attendees with an interesting work in progress should consider reserving a WIP slot. Registration Information More information on the conference is available the conference Web site (http://www.tcl.tk/community/tcl2010/) and will be published on various Tcl/Tk-related information channels. Reservations for hotel suites and $25 airport shuttle rides can be made at http://www.hilton.com/en/hi/groups/personalized/CHIOTHS-TCL-20101010/index.jhtml?WT.mc_id=POG To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. See: http://aspn.activestate.com/ASPN/Mail/ to subscribe to the tcl-announce mailing list. Special Social Activites October 15, 2010 - Friday afternoon -- Tour of Fermilab Fermi National Accelerator Laboratory, http://www.fnal.gov/ A tour lasts about two hours and begins in Wilson Hall. Visitors view the Laboratory from the 15th floor windows and visit various displays located there. The tour moves to the Linear Accelerator building where visitors see the Cockcroft-Walton, the components in the linear accelerator gallery and the Main Control Room. There is a docent for every 20 people. Registration required since tours must be arranged in advance. October 15, 2010 - Friday evening Dinner-theater at the award winning Drury Lane theater located next to our hotel. . Special package price for dinner and theater at $44.00 per person. Regularly $64 per person. "Seven Brides for Seven Brothers" http://www.drurylaneoakbrook.com/ Bill Jenkins is one of the newest and most exciting new directors on the Chicago scene. As Chairman of the Department of Theatre and Dance at Ball State University, he heads one of the nation's largest theatre programs. After admiring his work with other Chicago area theatres, we are very pleased for this opportunity to showcase his talent at Drury Lane. Once Bill shared some of the fresh ideas and insights he had for ÂSeven Brides for Seven BrothersÂ, we knew we would have a great show for the holidays. Conference Committee Clif Flynt Noumena Corp General Chair, Website Admin Andreas Kupries ActiveState Software Inc. Program Chair Cyndy Lilagan Iomas Research, LLC Facilities Coordination Brian Griffin Mentor Graphics Ron Fox NSCL/FRIB Michigan State University Arjen Markus Deltares Mike Doyle Iomas Research, LLC Gerald Lester KnG Consulting, LLC Donal Fellows University of Manchester Jeffrey Hobbs ActiveState Software Inc. Steve Landers Digital Smarties Kevin Kenny GE Global Research Center Larry Virden Tcl FAQ Maintainer Steve Redler IV SR Technology Contact Information tcl...@go... Tcl'2010 would like to thank those who are sponsoring the conference: ActiveState Software Inc. Buonacorsi Foundation Mentor Graphics Noumena Corp. SR Technology Tcl Community Association |
From: Ken M. <ken...@sp...> - 2010-06-30 23:50:03
|
Upgrading to the latest CVS version of tcl, and the latest CVS version of the Thread package, seems to have resolved the problem. On 30-Jun-10, at 3:45 PM, Ken Mackay wrote: > I got some slightly different crash output. Another possibly useful > piece of information is that the crash only seems to occur on OS X > 10.6 (tcl version 8.5.7) - it never happens on 10.5 or 10.4 (tcl > version 8.4.7). > > Process: tclsh8.5 [76013] > Path: /System/Library/Frameworks/Tcl.framework/Versions/ > 8.5/tclsh8.5 > Identifier: tclsh8.5 > Version: ??? (???) > Code Type: X86-64 (Native) > Parent Process: tclsh8.5 [76012] > > Date/Time: 2010-06-30 15:36:33.386 -0700 > OS Version: Mac OS X 10.6.3 (10D573) > Report Version: 6 > > Exception Type: EXC_BAD_ACCESS (SIGSEGV) > Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000 > Crashed Thread: 2 > > Thread 0: Dispatch queue: com.apple.libdispatch-manager > 0 libSystem.B.dylib 0x00007fff863d04ea kevent + 10 > 1 libSystem.B.dylib 0x00007fff863d23bd > _dispatch_mgr_invoke + 154 > 2 libSystem.B.dylib 0x00007fff863d2094 > _dispatch_queue_invoke + 185 > 3 libSystem.B.dylib 0x00007fff863d1bbe > _dispatch_worker_thread2 + 252 > 4 libSystem.B.dylib 0x00007fff863d14e8 > _pthread_wqthread + 353 > 5 libSystem.B.dylib 0x00007fff863d1385 > start_wqthread + 13 > > Thread 1: > 0 libSystem.B.dylib 0x00007fff863d130a > __workq_kernreturn + 10 > 1 libSystem.B.dylib 0x00007fff863d171c > _pthread_wqthread + 917 > 2 libSystem.B.dylib 0x00007fff863d1385 > start_wqthread + 13 > > Thread 2 Crashed: > 0 libSystem.B.dylib 0x00007fff863bce04 > pthread_mutex_unlock + 19 > 1 Tcl 0x000000010004b046 > Tcl_FinalizeThread + 77 > 2 Tcl 0x00000001000928f1 > Tcl_ExitThread + 16 > 3 libthread2.6.6.dylib 0x00000001001cad6f > TpoolWorker + 912 > 4 libSystem.B.dylib 0x00007fff863f08b6 > _pthread_start + 331 > 5 libSystem.B.dylib 0x00007fff863f0769 > thread_start + 13 > > Thread 2 crashed with X86 Thread State (64-bit): > rax: 0x0000000000000000 rbx: 0x0000000000000000 rcx: > 0x0000000000000000 rdx: 0x00000001000edcd8 > rdi: 0x0000000000000000 rsi: 0x0000000000000000 rbp: > 0x0000000100786e10 rsp: 0x0000000100786e00 > r8: 0x00000001000ed6a8 r9: 0x0000000100500080 r10: > 0x00000001005003d0 r11: 0x0000000000000002 > r12: 0x00000001010a8f90 r13: 0x0000000100b40810 r14: > 0x00000001001d1260 r15: 0x0000000100b40848 > rip: 0x00007fff863bce04 rfl: 0x0000000000010206 cr2: > 0x0000000000000000 > > > > > Process: tclsh8.5 [75513] > Path: /System/Library/Frameworks/Tcl.framework/Versions/ > 8.5/tclsh8.5 > Identifier: tclsh8.5 > Version: ??? (???) > Code Type: X86-64 (Native) > Parent Process: tclsh8.5 [75511] > > Date/Time: 2010-06-30 15:34:29.767 -0700 > OS Version: Mac OS X 10.6.3 (10D573) > Report Version: 6 > > Exception Type: EXC_CRASH (SIGABRT) > Exception Codes: 0x0000000000000000, 0x0000000000000000 > Crashed Thread: 3 > > Application Specific Information: > abort() called > > Thread 0: Dispatch queue: com.apple.main-thread > 0 libSystem.B.dylib 0x00007fff863c9d39 > pthread_key_delete + 82 > 1 Tcl 0x00000001000a90cd > Tcl_MutexUnlock + 191 > 2 Tcl 0x000000010004b31f > Tcl_Finalize + 249 > 3 Tcl 0x000000010004b414 Tcl_Exit > + 89 > 4 Tcl 0x000000010001c0c1 > Tcl_Alloc + 8021 > 5 Tcl 0x0000000100016559 > Tcl_CreateInterp + 4820 > 6 Tcl 0x000000010004e2eb > TclStackAlloc + 6637 > 7 Tcl 0x0000000100054fae > TclStackAlloc + 34480 > 8 Tcl 0x0000000100017ad7 > TclEvalObjEx + 714 > 9 Tcl 0x000000010007339c Tcl_Main > + 2237 > 10 tclsh 0x00000001000019d0 > 0x100000000 + 6608 > 11 tclsh 0x0000000100001978 > 0x100000000 + 6520 > > Thread 1: Dispatch queue: com.apple.libdispatch-manager > 0 libSystem.B.dylib 0x00007fff863d04ea kevent + 10 > 1 libSystem.B.dylib 0x00007fff863d23bd > _dispatch_mgr_invoke + 154 > 2 libSystem.B.dylib 0x00007fff863d2094 > _dispatch_queue_invoke + 185 > 3 libSystem.B.dylib 0x00007fff863d1bbe > _dispatch_worker_thread2 + 252 > 4 libSystem.B.dylib 0x00007fff863d14e8 > _pthread_wqthread + 353 > 5 libSystem.B.dylib 0x00007fff863d1385 > start_wqthread + 13 > > Thread 2: > 0 libSystem.B.dylib 0x00007fff863fb286 select > $DARWIN_EXTSN + 10 > 1 Tcl 0x00000001000abd86 > Tcl_InitNotifier + 1520 > 2 libSystem.B.dylib 0x00007fff863f08b6 > _pthread_start + 331 > 3 libSystem.B.dylib 0x00007fff863f0769 > thread_start + 13 > > Thread 3 Crashed: > 0 libSystem.B.dylib 0x00007fff8642a01e > __semwait_signal_nocancel + 10 > 1 libSystem.B.dylib 0x00007fff86429f20 nanosleep > $NOCANCEL + 129 > 2 libSystem.B.dylib 0x00007fff86486902 usleep > $NOCANCEL + 57 > 3 libSystem.B.dylib 0x00007fff864a5eb8 abort + 93 > 4 Tcl 0x000000010007cbb8 > Tcl_Panic + 0 > 5 Tcl 0x000000010007cc5a > Tcl_Panic + 162 > 6 Tcl 0x0000000100059dbe > Tcl_DeleteHashTable + 250 > 7 Tcl 0x0000000100093a2f > TclpRealloc + 1006 > 8 Tcl 0x0000000100093b2e > TclpRealloc + 1261 > 9 Tcl 0x0000000100092b84 > Tcl_GetThreadData + 31 > 10 Tcl 0x000000010007bd36 > TclFreeObj + 101 > 11 Tcl 0x0000000100086689 > TclProcCleanupProc + 42 > 12 Tcl 0x0000000100013124 > Tcl_DeleteCommandFromToken + 187 > 13 Tcl 0x00000001000749f7 > TclTeardownNamespace + 70 > 14 Tcl 0x0000000100013d5e > Tcl_DeleteInterp + 209 > 15 libthread2.6.6.dylib 0x00000001001cad64 > TpoolWorker + 901 > 16 libSystem.B.dylib 0x00007fff863f08b6 > _pthread_start + 331 > 17 libSystem.B.dylib 0x00007fff863f0769 > thread_start + 13 > > Thread 4: > 0 libSystem.B.dylib 0x00007fff863b7796 > semaphore_wait_trap + 10 > 1 libSystem.B.dylib 0x00007fff863bcd2e > pthread_mutex_lock + 534 > 2 Tcl 0x0000000100085ff6 > Tcl_EventuallyFree + 31 > 3 Tcl 0x00000001000747d2 > Tcl_SetEnsembleMappingDict + 737 > 4 Tcl 0x0000000100013124 > Tcl_DeleteCommandFromToken + 187 > 5 Tcl 0x00000001000749f7 > TclTeardownNamespace + 70 > 6 Tcl 0x0000000100013d5e > Tcl_DeleteInterp + 209 > 7 libthread2.6.6.dylib 0x00000001001cad64 > TpoolWorker + 901 > 8 libSystem.B.dylib 0x00007fff863f08b6 > _pthread_start + 331 > 9 libSystem.B.dylib 0x00007fff863f0769 > thread_start + 13 > > Thread 3 crashed with X86 Thread State (64-bit): > rax: 0x000000000000003c rbx: 0x0000000100703ae0 rcx: > 0x0000000100703a98 rdx: 0x0000000000000001 > rdi: 0x0000000000000c03 rsi: 0x0000000000000000 rbp: > 0x0000000100703ad0 rsp: 0x0000000100703a98 > r8: 0x0000000000000000 r9: 0x0000000000989680 r10: > 0x0000000000000001 r11: 0x0000000000000246 > r12: 0x0000000000000000 r13: 0x00000001000b66b7 r14: > 0x00000001000b669c r15: 0x0000000000000021 > rip: 0x00007fff8642a01e rfl: 0x0000000000000247 cr2: > 0x00007fff70d36b50 > > > -Ken > > |
From: Ken M. <ken...@sp...> - 2010-06-30 22:45:37
|
I got some slightly different crash output. Another possibly useful piece of information is that the crash only seems to occur on OS X 10.6 (tcl version 8.5.7) - it never happens on 10.5 or 10.4 (tcl version 8.4.7). Process: tclsh8.5 [76013] Path: /System/Library/Frameworks/Tcl.framework/Versions/ 8.5/tclsh8.5 Identifier: tclsh8.5 Version: ??? (???) Code Type: X86-64 (Native) Parent Process: tclsh8.5 [76012] Date/Time: 2010-06-30 15:36:33.386 -0700 OS Version: Mac OS X 10.6.3 (10D573) Report Version: 6 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000 Crashed Thread: 2 Thread 0: Dispatch queue: com.apple.libdispatch-manager 0 libSystem.B.dylib 0x00007fff863d04ea kevent + 10 1 libSystem.B.dylib 0x00007fff863d23bd _dispatch_mgr_invoke + 154 2 libSystem.B.dylib 0x00007fff863d2094 _dispatch_queue_invoke + 185 3 libSystem.B.dylib 0x00007fff863d1bbe _dispatch_worker_thread2 + 252 4 libSystem.B.dylib 0x00007fff863d14e8 _pthread_wqthread + 353 5 libSystem.B.dylib 0x00007fff863d1385 start_wqthread + 13 Thread 1: 0 libSystem.B.dylib 0x00007fff863d130a __workq_kernreturn + 10 1 libSystem.B.dylib 0x00007fff863d171c _pthread_wqthread + 917 2 libSystem.B.dylib 0x00007fff863d1385 start_wqthread + 13 Thread 2 Crashed: 0 libSystem.B.dylib 0x00007fff863bce04 pthread_mutex_unlock + 19 1 Tcl 0x000000010004b046 Tcl_FinalizeThread + 77 2 Tcl 0x00000001000928f1 Tcl_ExitThread + 16 3 libthread2.6.6.dylib 0x00000001001cad6f TpoolWorker + 912 4 libSystem.B.dylib 0x00007fff863f08b6 _pthread_start + 331 5 libSystem.B.dylib 0x00007fff863f0769 thread_start + 13 Thread 2 crashed with X86 Thread State (64-bit): rax: 0x0000000000000000 rbx: 0x0000000000000000 rcx: 0x0000000000000000 rdx: 0x00000001000edcd8 rdi: 0x0000000000000000 rsi: 0x0000000000000000 rbp: 0x0000000100786e10 rsp: 0x0000000100786e00 r8: 0x00000001000ed6a8 r9: 0x0000000100500080 r10: 0x00000001005003d0 r11: 0x0000000000000002 r12: 0x00000001010a8f90 r13: 0x0000000100b40810 r14: 0x00000001001d1260 r15: 0x0000000100b40848 rip: 0x00007fff863bce04 rfl: 0x0000000000010206 cr2: 0x0000000000000000 Process: tclsh8.5 [75513] Path: /System/Library/Frameworks/Tcl.framework/Versions/ 8.5/tclsh8.5 Identifier: tclsh8.5 Version: ??? (???) Code Type: X86-64 (Native) Parent Process: tclsh8.5 [75511] Date/Time: 2010-06-30 15:34:29.767 -0700 OS Version: Mac OS X 10.6.3 (10D573) Report Version: 6 Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Crashed Thread: 3 Application Specific Information: abort() called Thread 0: Dispatch queue: com.apple.main-thread 0 libSystem.B.dylib 0x00007fff863c9d39 pthread_key_delete + 82 1 Tcl 0x00000001000a90cd Tcl_MutexUnlock + 191 2 Tcl 0x000000010004b31f Tcl_Finalize + 249 3 Tcl 0x000000010004b414 Tcl_Exit + 89 4 Tcl 0x000000010001c0c1 Tcl_Alloc + 8021 5 Tcl 0x0000000100016559 Tcl_CreateInterp + 4820 6 Tcl 0x000000010004e2eb TclStackAlloc + 6637 7 Tcl 0x0000000100054fae TclStackAlloc + 34480 8 Tcl 0x0000000100017ad7 TclEvalObjEx + 714 9 Tcl 0x000000010007339c Tcl_Main + 2237 10 tclsh 0x00000001000019d0 0x100000000 + 6608 11 tclsh 0x0000000100001978 0x100000000 + 6520 Thread 1: Dispatch queue: com.apple.libdispatch-manager 0 libSystem.B.dylib 0x00007fff863d04ea kevent + 10 1 libSystem.B.dylib 0x00007fff863d23bd _dispatch_mgr_invoke + 154 2 libSystem.B.dylib 0x00007fff863d2094 _dispatch_queue_invoke + 185 3 libSystem.B.dylib 0x00007fff863d1bbe _dispatch_worker_thread2 + 252 4 libSystem.B.dylib 0x00007fff863d14e8 _pthread_wqthread + 353 5 libSystem.B.dylib 0x00007fff863d1385 start_wqthread + 13 Thread 2: 0 libSystem.B.dylib 0x00007fff863fb286 select $DARWIN_EXTSN + 10 1 Tcl 0x00000001000abd86 Tcl_InitNotifier + 1520 2 libSystem.B.dylib 0x00007fff863f08b6 _pthread_start + 331 3 libSystem.B.dylib 0x00007fff863f0769 thread_start + 13 Thread 3 Crashed: 0 libSystem.B.dylib 0x00007fff8642a01e __semwait_signal_nocancel + 10 1 libSystem.B.dylib 0x00007fff86429f20 nanosleep $NOCANCEL + 129 2 libSystem.B.dylib 0x00007fff86486902 usleep $NOCANCEL + 57 3 libSystem.B.dylib 0x00007fff864a5eb8 abort + 93 4 Tcl 0x000000010007cbb8 Tcl_Panic + 0 5 Tcl 0x000000010007cc5a Tcl_Panic + 162 6 Tcl 0x0000000100059dbe Tcl_DeleteHashTable + 250 7 Tcl 0x0000000100093a2f TclpRealloc + 1006 8 Tcl 0x0000000100093b2e TclpRealloc + 1261 9 Tcl 0x0000000100092b84 Tcl_GetThreadData + 31 10 Tcl 0x000000010007bd36 TclFreeObj + 101 11 Tcl 0x0000000100086689 TclProcCleanupProc + 42 12 Tcl 0x0000000100013124 Tcl_DeleteCommandFromToken + 187 13 Tcl 0x00000001000749f7 TclTeardownNamespace + 70 14 Tcl 0x0000000100013d5e Tcl_DeleteInterp + 209 15 libthread2.6.6.dylib 0x00000001001cad64 TpoolWorker + 901 16 libSystem.B.dylib 0x00007fff863f08b6 _pthread_start + 331 17 libSystem.B.dylib 0x00007fff863f0769 thread_start + 13 Thread 4: 0 libSystem.B.dylib 0x00007fff863b7796 semaphore_wait_trap + 10 1 libSystem.B.dylib 0x00007fff863bcd2e pthread_mutex_lock + 534 2 Tcl 0x0000000100085ff6 Tcl_EventuallyFree + 31 3 Tcl 0x00000001000747d2 Tcl_SetEnsembleMappingDict + 737 4 Tcl 0x0000000100013124 Tcl_DeleteCommandFromToken + 187 5 Tcl 0x00000001000749f7 TclTeardownNamespace + 70 6 Tcl 0x0000000100013d5e Tcl_DeleteInterp + 209 7 libthread2.6.6.dylib 0x00000001001cad64 TpoolWorker + 901 8 libSystem.B.dylib 0x00007fff863f08b6 _pthread_start + 331 9 libSystem.B.dylib 0x00007fff863f0769 thread_start + 13 Thread 3 crashed with X86 Thread State (64-bit): rax: 0x000000000000003c rbx: 0x0000000100703ae0 rcx: 0x0000000100703a98 rdx: 0x0000000000000001 rdi: 0x0000000000000c03 rsi: 0x0000000000000000 rbp: 0x0000000100703ad0 rsp: 0x0000000100703a98 r8: 0x0000000000000000 r9: 0x0000000000989680 r10: 0x0000000000000001 r11: 0x0000000000000246 r12: 0x0000000000000000 r13: 0x00000001000b66b7 r14: 0x00000001000b669c r15: 0x0000000000000021 rip: 0x00007fff8642a01e rfl: 0x0000000000000247 cr2: 0x00007fff70d36b50 -Ken |
From: Ken M. <ken...@sp...> - 2010-06-30 22:28:06
|
To be more accurate, I just tried using the CVS head, and retested. I reproduced both the segfault and the abort in different tests. It only crashes maybe 1/100th of the time, which makes me believe that it is probably a race condition? -Ken On 30-Jun-10, at 2:19 PM, Jeff Hobbs wrote: > On 30/06/2010 1:46 PM, Ken Mackay wrote: >> I am trying to use thread pools to run jobs concurrently on OS X >> 10.6. The tclsh says that patchlevel is 8.5.7, and the Thread package >> is version 2.6.5. I had to patch the Thread package because >> tpool::create would always crash, due to a buffer being too small (I >> believe this is already patched in CVS - see http://sourceforge.net/ >> tracker/?func=detail&aid=2833864&group_id=10894&atid=110894). > > Can you try the latest CVS head or at least Thread 2.6.6 final? > There are several bugs I see patched (like race conditions and safe > obj handling) that should be tried before ruling them out as > possible fixes already. > > Jeff > >> Here is a simplified version of my code: >> >> package require Thread >> set pool [tpool::create -maxworkers 4] >> set joblist [list] >> >> foreach job<jobs to do> { >> lappend joblist [tpool::post $pool $job] >> } >> >> foreach job $joblist { >> tpool::wait $pool $job >> if {[catch {tpool::get $pool $job} m]} { >> puts "Error: $m" >> exit 1 >> } >> } >> >> while {[tpool::release $pool]} {} >> >> Usually everything works fine. However, occasionally the interpreter >> will crash in Tcl_FinalizeThread - either a segfault or an abort. Is >> there something I am doing wrong? I have crash dump output: > ... |
From: Ken M. <ken...@sp...> - 2010-06-30 22:24:33
|
I tried that, but the problem persists (still getting occasional segfaults or aborts). On 30-Jun-10, at 2:19 PM, Jeff Hobbs wrote: > On 30/06/2010 1:46 PM, Ken Mackay wrote: >> I am trying to use thread pools to run jobs concurrently on OS X >> 10.6. The tclsh says that patchlevel is 8.5.7, and the Thread package >> is version 2.6.5. I had to patch the Thread package because >> tpool::create would always crash, due to a buffer being too small (I >> believe this is already patched in CVS - see http://sourceforge.net/ >> tracker/?func=detail&aid=2833864&group_id=10894&atid=110894). > > Can you try the latest CVS head or at least Thread 2.6.6 final? > There are several bugs I see patched (like race conditions and safe > obj handling) that should be tried before ruling them out as > possible fixes already. > > Jeff > >> Here is a simplified version of my code: >> >> package require Thread >> set pool [tpool::create -maxworkers 4] >> set joblist [list] >> >> foreach job<jobs to do> { >> lappend joblist [tpool::post $pool $job] >> } >> >> foreach job $joblist { >> tpool::wait $pool $job >> if {[catch {tpool::get $pool $job} m]} { >> puts "Error: $m" >> exit 1 >> } >> } >> >> while {[tpool::release $pool]} {} >> >> Usually everything works fine. However, occasionally the interpreter >> will crash in Tcl_FinalizeThread - either a segfault or an abort. Is >> there something I am doing wrong? I have crash dump output: > ... |