[Qgis-developer] Re: [GRASS5] QGIS GRASS digitizer new crash

Maciek Sieczka werchowyna at epf.pl
Fri Aug 19 15:13:06 EDT 2005


Hi

Daniel Calvelo <daniel.calvelo at minag.gob.pe> wrote:
> Try gdb -core

Steve Halasz <stevehalasz at gmail.com> wrote:
> I believe the proper command is: gdb qgis core.8330

Thanks for your guiding. I should have read the 
http://community.qgis.org/index.php?option=com_content&task=view&id=74&Itemid=58 
more carefully :).

Apparently GRASS dbf driver is guilty, not QGIS. Step by step:

1. Built GRASS, cvs 19.08.05 10:00 AM, with:

CXXFLAGS="-g -pipe"
CFLAGS="-g -pipe"
LDFLAGS=""

2. ulimit -c 300000
3. qgis
4. digitize a line in QGIS GRASS digitizer, fill in only the numerical
column (wys) and leave the char column (nazwa) empty
5. crash:

<snip>

QgsGrassEdit::displayDynamic Points = 0 type = 0
No DB record
updated line = 1210
node = 1417 mNodeSymb = 12
node = 1418 mNodeSymb = 12
QObject::connect: No such signal QTabWidget::void currentChanged(QWidget*)
QObject::connect:  (sender name:   'tabCats')
QObject::connect:  (receiver name: 'QgsGrassAttributesBase')
Value: 1196
Value: dbmi: Protocol error
Broken pipe

6. gdb /usr/local/grass-6.1.cvs/driver/db/dbf core.32751

<snip>

(gdb) bt#0  0xb7e051a3 in strlen () from /lib/tls/libc.so.6
#1  0x0804e4b6 in save_string (val=0x8085198, c=0x0) at str.c:27
#2  0x0804c5bb in set_val (tab=6, row=1169, col=2, val=0x8052bc0)
    at dbfexe.c:407
#3  0x0804c05e in execute (
    sql=0x8052188 "update melio_poz_clear set wys = 18.5, nazwa = null where
cat = 1195", c=0x0) at dbfexe.c:266
#4  0x0804de4c in db__driver_execute_immediate (sql=0xbffff120) at
execute.c:29
#5  0xb7fd4cd4 in db_d_execute_immediate () at d_execute.c:23
#6  0xb7fd6057 in db_driver (argc=1, argv=0xbffff234) at driver.c:106
#7  0x0804e3c3 in main (argc=1, argv=0xbffff234) at main.c:47
(gdb)

Daniel, I'm sending over the core for you in priv like you asked.

Maciek




More information about the grass-dev mailing list