From: John R. <jr...@bi...> - 2019-03-15 21:54:29
|
What is the version of valgrind? (run "valgrind --version") What is the hardware architecture? What is the value of MAX_FSTAB_ROWS ? > ==9332== Address 0xffed476bc is on thread 1's stack Note that the address of the Invalid write is 0xffed476bc which is 0xf_fed4_76bc or around 63 GiB. That is very large, so large that it is very much more than the usual default maximum size of a thread stack, which typically is 8 MiB or 16 MiB. Try invoking valgrind with the parameter --main-stacksize=64000000000 which *might* work. Otherwise: use malloc() instead of on-stack allocation for the myFSTABrows array. > 2128 PFSTAB FstabInit( > 2129 FSTAB_SetId id /* Set-Id fuer die jeweilige FSTAB */ > 2130 ) > 2131 { > 2132 /*-------------------------------------------------------------------------*/ > 2133 char *funk = "FstabInit()"; > 2134 > 2135 /* t_sik_fstab lesePuffer=SIK_FSTAB_EMPTY; */ > 2136 DB_ERR dbError; > 2137 PFSTAB fstab = NULL; > 2138 > 2139 int anzFstabElemente = 0, anzIndikatorfelder = 0; > 2140 int anzRows = 0; > 2141 > 2142 /* SRP-23121: we read the complete FSTAB into memory because we > 2143 * have to pass twice through it for the logic of indicator fields > 2144 * > 2145 * maybe we should malloc() the space ... > 2146 * the number MAX_FSTAB_ROWS is the limit for one set in FSTAB > 2147 */ > 2148 t_sik_fstab myFSTABrows[MAX_FSTAB_ROWS]; > 2149 > 2150 /* check the SetId */ > 2151 if( id == FSTAB_Null || id >= FSTAB_Alle ) goto ABBRUCH; > 2152 > 2153 /* init the buffer for read */ > 2154 memset( &myFSTABrows[anzRows], 0, sizeof( t_sik_fstab )); > 2155 > > > --------------------------- > > ==9332== Invalid write of size 4 > ==9332== at 0x9DE90EF: FstabInit (BKFstab.c:2131) > ==9332== by 0x6BFF1E8: OpsInitDatabase (SRVServerInit.c:1299) > ==9332== by 0x413B48: SlnpInitDaemon (OPDaemon.c:738) > ==9332== by 0x413657: main (OPDaemon.c:272) > ==9332== Address 0xffed476bc is on thread 1's stack > ==9332== in frame #0, created by FstabInit (BKFstab.c:2131) > ==9332== > ==9332== Invalid read of size 4 > ==9332== at 0x9DE911D: FstabInit (BKFstab.c:2151) > ==9332== by 0x6BFF1E8: OpsInitDatabase (SRVServerInit.c:1299) > ==9332== by 0x413B48: SlnpInitDaemon (OPDaemon.c:738) > ==9332== by 0x413657: main (OPDaemon.c:272) > ==9332== Address 0xffed476bc is on thread 1's stack > ==9332== in frame #0, created by FstabInit (BKFstab.c:2131) |