Not talking to myself - Added results of strace run at bottom.... "Hendrik van Rooyen" <[EMAIL PROTECTED]> wrote:
> Hi, > > I get the following: > > [EMAIL PROTECTED]:~/Controller/lib> python display.py > UpdateStringProc should not be invoked for type font > Aborted > > and I am back at the bash prompt - this is most frustrating, as there is no > friendly traceback to help me guess where its coming from. > > And what is worse, the script runs for a varying time before it simply exits > like this. > > What can I do to dig deeper to try to find a clue? - I don't even know if its > Python, Tkinter or Linux... > > Some background: > > The application is a prototype gui for a controller of an injection moulding > machine. > It has two rows of five buttons across the top, and a canvas containing various > objects over the rest of the screen. > Extensive use is made of configure to change the text of the buttons, as well as > their command bindings, > to keep "the state of the system" current - its quite a hack at this time, as I > am still experimenting with getting the interface intuitive. > On the canvas, there are multiple instances of a Meter class to show things like > temperatures and pressures, > as well as a schematic representation of the machine, created out of polygons > and lines. > The schematic, as well as the Meters, are crudely animated by deleting and > redrawing the objects repetitively with slightly different parameters in > response to button presses. This is done by starting different threads to > implement the various motions, which repetitively call kill and draw methods in > the main app, after which they (the threads) commit seppoku by returning. > > Everything seems to work fine. - there is a thread that runs to move the meter > values around continuously, and this has been stable for some time now, and I > can get the various "machine" parts to move around the screen by pushing the > buttons. > The trouble occurs when I put the "machine" into Auto mode, simulating the > various motions in a loop, - it runs for anything from a few tens to a few > hundreds of cycles before handing in its dinner pail like this. > > Any Ideas on what to do next to find the culprit? > > - Hendrik Ran it with strace - here is last bit of log: write(3, "<\30\2\0\35\0\300\2<\0\2\0\34\0\300\0027\0\7\0\34\0\300"..., 68) = 68 select(4, [3], [], [], {0, 0}) = 0 (Timeout) gettimeofday({1159960306, 369206}, {4294967176, 0}) = 0 futex(0x807b908, FUTEX_WAKE, 1) = 0 futex(0x80bad48, FUTEX_WAKE, 1) = 0 write(3, "5\30\4\0N\0\300\2 \0\300\2r\2\220\0F\0\5\0N\0\300\2\23"..., 900) = 900 gettimeofday({1159960306, 371171}, {4294967176, 0}) = 0 select(4, [3], [], [], {0, 0}) = 0 (Timeout) gettimeofday({1159960306, 371386}, {4294967176, 0}) = 0 futex(0x807b908, FUTEX_WAKE, 1) = 0 select(0, NULL, NULL, NULL, {0, 20000}) = 0 (Timeout) futex(0x80bad48, FUTEX_WAIT, 0, NULL) = 0 futex(0x80bad48, FUTEX_WAKE, 1) = 0 write(3, "<\30\2\0\34\0\300\2<\0\2\0\35\0\300\0027\0\7\0\35\0\300"..., 68) = 68 select(4, [3], [], [], {0, 0}) = 0 (Timeout) gettimeofday({1159960306, 396232}, {4294967176, 0}) = 0 futex(0x807b908, FUTEX_WAKE, 1) = 0 futex(0x80bad48, FUTEX_WAKE, 1) = 0 write(3, "5\30\4\0N\0\300\2 \0\300\2r\2\220\0F\0\5\0N\0\300\2\23"..., 900) = 900 gettimeofday({1159960306, 398381}, {4294967176, 0}) = 0 select(4, [3], [], [], {0, 0}) = 0 (Timeout) gettimeofday({1159960306, 398597}, {4294967176, 0}) = 0 futex(0x807b908, FUTEX_WAKE, 1) = 0 select(0, NULL, NULL, NULL, {0, 20000}) = 0 (Timeout) futex(0x80bad48, FUTEX_WAIT, 0, NULL) = 0 futex(0x80bad48, FUTEX_WAKE, 1) = 0 futex(0x807b908, FUTEX_WAIT, 0, NULL) = 0 write(3, "7\30\5\0\21\0\300\2:\0\300\2\4\0\0\0\377\0\0\0", 20) = 20 select(4, [3], [], [], {0, 0}) = 0 (Timeout) gettimeofday({1159960306, 420182}, {4294967176, 0}) = 0 futex(0x807b908, FUTEX_WAKE, 1) = 0 futex(0x80bad48, FUTEX_WAIT, 0, NULL) = 0 futex(0x80bad48, FUTEX_WAKE, 1) = 0 write(3, "5\30\4\0N\0\300\0029\0\300\2\207\0\210\0F\0\5\0N\0\300"..., 708) = 708 gettimeofday({1159960306, 421944}, {4294967176, 0}) = 0 select(4, [3], [], [], {0, 0}) = 0 (Timeout) gettimeofday({1159960306, 422168}, {4294967176, 0}) = 0 futex(0x807b908, FUTEX_WAKE, 1) = 0 select(0, NULL, NULL, NULL, {0, 20000}) = ? ERESTARTNOHAND (To be restarted) +++ killed by SIGABRT +++ -- http://mail.python.org/mailman/listinfo/python-list