HI! Martin and I have been talking about a problem in RECORD. I don't know wether the refered problem is that problem or not, but I figure it is. ...However, there seems to be a problem with RECORD wether refered to by Martin or not.
When using RECORD to record either some "delivered event" or some "error" the X server sometimes crashes, but not always when recording both of them. So far I have made sure that my RECORD ranges are getting to the server as they should (they are), using fprintf. I am __almost__ sure that the problem is in RECORD. I don't know if it is of any help but I've found that "delivered event" and "error" are handled inside the RECORD extension by the same function: src/xc/programs/Xserver/record/module/record.c: ..... static void RecordADeliveredEventOrError(pcbl, nulldata, calldata) CallbackListPtr *pcbl; pointer nulldata; pointer calldata; ...... I am implementing a record/replay tool for X, called Xnee. You can use that if want to track down the problem. Just change*** my workaround in the function: int xnee_add_range (xnee_data* xd, int type, int start, int stop) as found in the file: src/lib/xnee_record.c Xnee can be found at http://sourceforge.net/projects/xnee **** I will do all I can to help you (or do it myself :) to get rid of this problem. I have been too busy fixing a (to Xnee) more important problem to dive deeper into the RECORD "problem" :( I have a fresh installation of Solaris8* on a x86. I will continue to test if X crashes there. ... my sick daughter just woke up. I send the letter allthough it is not finished to give you all the informtion I have...... (It seems as if my daughter will become a programmer. She is very keen on helping me with this mail :) Best regards, Henrik *) I think Sun's X is based on the X.org code and not XFree86** **) yes, I know what XFree86 is based upon ;). ****) Don't use the configure script if you download the CVS tree. Remove it and make a new one ***) Remove the following lines of code ... /* Workaround for problem with crashing X server*/ xd->xnee_info->data_ranges[XNEE_ERROR]++; xd->record_setup->range_array[alloc_nr]->errors.first = BadCursor; xd->record_setup->range_array[alloc_nr]->errors.last = BadCursor; ... /* Workaround for problem with crashing X server*/ xd->record_setup->range_array[alloc_nr]->delivered_events.first =33 ; xd->record_setup->range_array[alloc_nr]->delivered_events.last = 33; xd->xnee_info->data_ranges[XNEE_DELIVERED_EVENT]++; On Fri, 2002-10-11 at 21:50, Mark Vojkovich wrote: > On Fri, 11 Oct 2002, Martin Ding wrote: > > > I met a problem about one extension, which contains server side and > > client side. I just doubt the extension has some problem. But reading > > source code make me sick and faid to find anything I need. > > So, Is there any way to debug the extension? For example, XTEST > > extension. > > What sort of problem are you having? If you have the XFree86 > modified version of gdb you can debug XFree86 modules. But a > description of the problems you are having may allow us to > give you some hints. > > > Mark. > _______________________________________________ > Xpert mailing list > [EMAIL PROTECTED] > http://XFree86.Org/mailman/listinfo/xpert -- Henrik Sandklef <[EMAIL PROTECTED]> private _______________________________________________ Xpert mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xpert