|
From: Neil P. <np...@ex...> - 2003-05-22 08:05:38
|
Hi Frank, I've traced my way through things until I found the Segfault ... it occurs during the 2nd malloc in yy_create_buffer in ibConFlex.c ... the malloc calls for 16386 bytes of memory, and _int_malloc dies ... so I changed the buffer size down to 1022 (+2 = 1024) and everything seems to run OK ... I'm thinking that it maybe a compiler issue ... RH 9.0 runs with gcc 3.2, so I tried gcc 3.3, but no success !!!! same issue ... which leads me to think it's an implementation issue in my system somewhere ... I also tried it with different systems ... the base system is a 1.3GHz Athlon with 128 MB RAM, but I got the same result with a twin 2200+ Athlon/2 GB RAM system and a 450 MHz PII with 512 MB RAM ... but they are all running RH 9.0 ... this leads me to ask ... What gcc version do you use, and what options are invoked ? Also, once it does run, the simple ibtest example gives the following ... any comments ? Regards, -Neil > Do you wish to open a (d)evice or an interface (b)oard? > (you probably want to open a device): d > Here ................... > enter primary gpib address for device you wish to open [0-30]: 6 > trying to open pad = 6 on /dev/gpib0 ... > gpib_yyrestart > yy_create > in yy_flex_alloc 40 > in yy_flex_alloc 1024 > yy_create > You can: > w(a)it for an event > change remote (e)nable line (system controller only) > send (i)nterface clear (system controller only) > get bus (l)ine status (board only) > (q)uit > (r)ead string > perform (s)erial poll (device only) > change (t)imeout on io operations > request ser(v)ice (board only) > (w)rite string > : e > Enter '1' to assert remote enable, or '0' to unassert: 1 > libgpib: ibsre error > gpib status is: > ibsta = 0x8100 < ERR CMPL > > iberr= 4 > EARG 4: Bad argument > > ibcnt = 0 > You can: > w(a)it for an event > change remote (e)nable line (system controller only) > send (i)nterface clear (system controller only) > get bus (l)ine status (board only) > (q)uit > (r)ead string > perform (s)erial poll (device only) > change (t)imeout on io operations > request ser(v)ice (board only) > (w)rite string > : i > gpib status is: > ibsta = 0x8100 < ERR CMPL > > iberr= 0 > EDVR 0: OS error > > ibcnt = 0 > You can: > w(a)it for an event > change remote (e)nable line (system controller only) > send (i)nterface clear (system controller only) > get bus (l)ine status (board only) > (q)uit > (r)ead string > perform (s)erial poll (device only) > change (t)imeout on io operations > request ser(v)ice (board only) > (w)rite string > : i > gpib status is: > ibsta = 0x8100 < ERR CMPL > > iberr= 0 > EDVR 0: OS error > > ibcnt = 0 > You can: > w(a)it for an event > change remote (e)nable line (system controller only) > send (i)nterface clear (system controller only) > get bus (l)ine status (board only) > (q)uit > (r)ead string > perform (s)erial poll (device only) > change (t)imeout on io operations > request ser(v)ice (board only) > (w)rite string > : s > serial poll result: 0xa4 > gpib status is: > ibsta = 0x100 < CMPL > > iberr= 4 > |