Calling pfFrame gives sometimes a lifelock

New Message Reply Date view Thread view Subject view Author view

Mario Veraart (rioj7++at++fel.tno.nl)
Fri, 28 Aug 1998 14:44:43 +0200 (MET DST)


Hi pfAll,

I have a very strange problem in my performer program that took me a
long time to find the cause of the error.
I'm porting a performer 1.2 application to 2.0.4.
The problem occors with a call to pfFrame right after the creation of
pfPipeWindow's and setting up there configuration functions.
If I call pfFrame and the MP-mode has a forked DRAW process the main
application goes into lifelock, it calls repeatedly the sginap(0)
function. There is no picture generated. If I run this program with
cvd (debugger) then the error is consistent when I only trace the main
process, but if I trace all forked childs then the error is gone and
the application is working normal.

During debugging the lifelock appears for certain runs of the program.
It looks like a timing problem.

In case of APPCULLDRAW the error never shows up.

When I delete the line with the pfFrame then the error never shows up,
whatever MP mode I use.

The window type I use is an X-Window, and I use the pfuGetMouse and
pfuGetEvents functions for user input.

Below is a stacktrace that dbx gives me when there is a lifelock
situation

> 0 _sginap(0x0, 0x1, 0x0, 0x0, 0x1, 0xe2, 0x5cded468, 0x7fff2fbc) ["/xlv23/patches/2087/work/irix/lib/libc/libc_n32_M4/sys/sginap.s":8, 0xfb085f8 (pixie 0xfb085f8)]
   1 ::cullNap(void)(0x0, 0x1, 0x0, 0x0, 0x1, 0xe2, 0x5cded468, 0x7fff2fbc) ["/xlv24/patches/1696/work/perf/lib/libpf/pfProcess.C":3173, 0x5cc8b684 (pixie 0x5cc8b684)]
   2 ::doCullForkedDraw(void)(0x0, 0x1, 0x0, 0x0, 0x1, 0xe2, 0x5cded468, 0x7fff2fbc) ["/xlv24/patches/1696/work/perf/lib/libpf/pfProcess.C":3743, 0x5cc8cb40 (pixie 0x5cc8cb40)]
   3 ::pfFrame(0x0, 0x1, 0x0, 0x0, 0x1, 0xe2, 0x5cded468, 0x7fff2fbc) ["/xlv24/patches/1696/work/perf/lib/libpf/pfProcess.C":2723, 0x5cc8a9a4 (pixie 0x5cc8a9a4)]
   4 performerMainLoop() ["/usr/people/stw/src/StwVis/performer.c":334, 0x10029d10 (pixie 0x10029d10)]
   5 MainLoop() ["/usr/people/stw/src/StwVis/StwVis_Main.c":316, 0x1002ef08 (pixie 0x1002ef08)]
   6 Stw_Visual() ["/usr/people/stw/src/StwVis/StwVis_Main.c":111, 0x1002eb98 (pixie 0x1002eb98)]
   7 main(argc = 1, argv = 0x7fff2f54) ["/usr/people/stw/src/StwVis/StwVis_Main.c":94, 0x1002eaf8 (pixie 0x1002eaf8)]
   8 __start() ["/xlv3/bonsai-oct28/work/irix/lib/libc/libc_n32_M4/csu/crt1text.s":166, 0x100074b8 (pixie 0x100074b8)]

The libs that I use are the n32 ones.

Can anybody give me a clue why this lifelock situation happens?

Mario


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Fri Aug 28 1998 - 16:02:12 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.