[Lcdproc] Segfault on VIA EPIA CN10000EG Fanless with picolcd
Peter Marschall
peter@adpm.de
Sat Jul 28 14:15:02 2007
Hi Bas,
On Monday, 16. July 2007 20:09, Bas Rijniersce wrote:
> > > I ran configure with the following options:
> > > ./configure --enable-driver=picolcd --build=i386 --host=i386
> >
> > Please compile and run a debug version CVS version again like so:
> > ./configure --enable-debug --enable-driver=picolcd
> > make
> > gdb ./server/LCDd
> >
> > > set args -c <path to config> -f
> > > run
> >
> > (wait for segfault)
> >
> > > bt full
>
> Unfortunately the latest CVS doesn't compile with --enable-debug.
> Problem with a Crytal Fontz driver. I compiled without --enable-debug
> and get:
Please try again with the command line
./configure --enable-debug --enable-drivers=picolcd
Note the 's' at the end of '--enable-drivers'.
This should allow to build lcdproc with the picolcd driver only
in debug mode (and thus avoid the problem with the CFontz633io.c file)
> I also compiled the current production release with --enable-debug and
> that provides this bit of additional info:
>
> #10 0x0805669a in driver_bind_module (driver=0x9ef5a00) at driver.c:179
> i = 34
> missing_symbols = 0
> ---Type <return> to continue, or q <return> to quit---
> __FUNCTION__ = "driver_bind_module"
> #11 0x080564db in driver_load (name=0x9eed108 "picolcd",
> filename=0x9ef59d8 "/usr/local/lib/lcdproc/picolcd.so") at
> driver.c:110
> driver = (Driver *) 0x9ef5a00
> res = Variable "res" is not available.
>
> So it seems clear that the picolcd driver load causes the problem.. To
> verify I loaded the curses driver and that worked fine.
That's a starting point for a search.
Unfortunately the picoLCD_init() routine does - at a cursory glance - not seem
to be problematic with respect to SIGFPE.
Would you mind to try single stepping through this function using gdb ?
Peter
--
Peter Marschall
peter@adpm.de