Hi, List To make it easy to review, I've make the test code as an single c file and removed some unrelated code from the previous version. Could you so kind to point out potential problems in it, or tell me what else things I could get to check in the code or in my environment.
https://www.dropbox.com/s/y6rtajv2j9burag/sqlitecs.c Even more directly, could anyone can build from this source an arm eabi binary and send to me? Also should includes the libsqlite so files. If I can run it without a problem, then it's a compiler problem. Thanks in advance. On Thursday, 2 January 2014, Yuriy Kaminskiy wrote: > Woody Wu wrote: > > Hi, Simon > > > > I upload the source code onto my dropbox: > > https://www.dropbox.com/s/9shhshi0wn3e717/downloadfile.c Please have a > > look at it. > > > > The same test program run without a problem on my pc Linux after complied > > natively. But I think I should not dout my cross-compiler, which is > > CodeBench ARM eabi compiler. With the same complier and the toolchain, I > > have been buit a whole target ARM system including kernel, 1000 open > source > > applications, even including a tiny X window. > > Well, compiler bugs are sometimes very rarely triggered, and by completely > innocent code, so I would not exclude this possibility. > FWIW, I don't see anything obviously broken/sigsegv-worthy in above test > program > [assuming missing headers contained something like > > int sql_exec_v2(sqlite3 *conn, const char *sql) { > // note: sql_exec_v2 expected to return SQLITE_DONE on success > // sqlite3_exec returns SQLITE_OK on success > int sqlerr, ret; > sqlite3_stmt *stmt; > sqlerr = sqlite3_prepare_v2(conn, sql, -1, &stmt, NULL); > if (sqlerr != SQLITE_OK) return sqlerr; > ret = sqlite3_step(stmt); > sqlerr = sqlite3_finalize(stmt); > if (sqlerr != SQLITE_OK) return sqlerr; > return ret; > } > int timespec_diff_ms(const struct timespec *ts1, const struct timespec > *ts2) { > return (ts2->tv_sec - ts1->tv_sec)*1000 + > (ts2->tv_nsec-ts1->tv_nsec)/1000000; > } > #define inst_signal_handler(SIGNAL,HNDL,FOO) signal((SIGNAL),(HNDL)) > > ], but as this is "impossible error" it would make sense to add error > checking > for *everything*, including "impossible errors". > > > On Tuesday, 31 December 2013, Simon Slavin wrote: > > > >> On 31 Dec 2013, at 8:41am, Woody Wu > >> <narkewo...@gmail.com<javascript:;><javascript:;>> > >> wrote: > >> > >>> Attached is the test program writting in C. > >> Sorry, but attachments don't work here. If your program is short, > please > >> post it as text. If not, please put it on a web site somewhere. > >> > >>> Anyway, all above errors looks so strange. And, these operations I > >> talking > >>> about are so basic and my real application (another bigger one) really > >>> depends on these. > >> You should not be able to make SQLite corrupt its database that easily. > >> > >>> Pleaes be kindly to check my test program. > >> Can you run your program on the computer you used to send that email > >> message and tell us whether it had the same problem ? > > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org <javascript:;> > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > -- Life is the only flaw in an otherwise perfect nonexistence -- Schopenhauer narke public key at http://subkeys.pgp.net:11371 (narkewo...@gmail.com) _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users