vesa driver reports many modes, but only allows a few

Pat Kane pekane52 at gmail.com
Thu Mar 4 05:52:02 PST 2010


  Ross Boylan <ross at biostat.ucsf.edu> wrote:
   > Program received signal SIGSEGV, Segmentation fault.
   > 0x0000000000000000 in ?? ()
   > (gdb) where
   > #0  0x0000000000000000 in ?? ()
   > #1  0x000000000051a72a in DoConfigure ()
   > at ../../../../hw/xfree86/common/xf86Configure.c:832

The traceback says that someone branched to zero at
line 832 of hw/xfree86/common/xf86Configure.c, that
section of code (from git master) looks like this:

	ConfiguredMonitor = NULL;

	xf86EnableAccess(xf86Screens[dev2screen[j]]);
	if ((*xf86Screens[dev2screen[j]]->PreInit)(xf86Screens[dev2screen[j]],
832:						 PROBE_DETECT) &&
	    ConfiguredMonitor) {
	    MonitorPtr = configureDDCMonitorSection(j);
	} else {
	    MonitorPtr = configureMonitorSection(j);
	}

So it appears that the expression:
    (*xf86Screens[dev2screen[j]]->PreInit)
is NULL;  it would be a good idea for that code to check
if PreInit has been filled in before jumping through it.

Can you recompile the X server with a test for NULL?

Pat
---


On Wed, Mar 3, 2010 at 6:12 PM, Ross Boylan <ross at biostat.ucsf.edu> wrote:
> On Wed, 2010-03-03 at 15:41 -0600, Pat Kane wrote:
>> Could you run the configure under gdb to see if you get a better trace back?
>>
>>     $gdb  Xorg
>>       :r -configure
>>
>> could be some xemu hw emulated hw weirdness...
>>
> I also loaded some debug symbols.
>
> [tcsetpgrp failed in terminal_inferior: Operation not permitted]
> (++) Using config file: "/root/xorg.conf.new"
> (EE) open /dev/fb0: No such file or directory
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x0000000000000000 in ?? ()
> (gdb) where
> #0  0x0000000000000000 in ?? ()
> #1  0x000000000051a72a in DoConfigure ()
> at ../../../../hw/xfree86/common/xf86Configure.c:832
> #2  0x0000000000471c17 in InitOutput (pScreenInfo=0x7d5a80, argc=<value
> optimized out>, argv=<value optimized out>)
> at ../../../../hw/xfree86/common/xf86Init.c:610
> #3  0x0000000000425a25 in main (argc=2, argv=0x7fffffffe258, envp=<value
> optimized out>) at ../../dix/main.c:203
>
> Ross
>
>>
>> On Tue, Mar 2, 2010 at 1:04 PM, Ross Boylan <ross at biostat.ucsf.edu> wrote:
>> > On Tue, 2010-03-02 at 05:34 -0600, Pat Kane wrote:
>> >> On Mon, Mar 1, 2010 at 2:35 PM, Ross Boylan <ross at biostat.ucsf.edu> wrote:
>> >> > Do I need to create a complete xorg.conf?
>> >>
>> >>
>> >> The command "Xorg -configure"  will create one for you.
>> > Hooray!  With some hacking I got it working.  However, I want to report
>> > that Xorg -configure generated a segfault, and I'd like to improve my
>> > understanding of how configuration works.
>
>



More information about the xorg mailing list