Mario Veraart (rioj7++at++fel.tno.nl)
Fri, 28 Aug 1998 14:44:43 +0200 (MET DST)
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
This archive was generated by hypermail 2.0b2 on Fri Aug 28 1998 - 16:02:12 PDT