Re: [Cppcms-users] SIGABRT problem raised between SVN rev1474 and 1491
Brought to you by:
artyom-beilis
From: Artyom <art...@ya...> - 2010-10-27 05:12:11
|
> Hallo, > > I see your point and will try to provide a sample tomorrow. I > nevertheless think that it must have at least something to do with your > changes between the two revisions mentioned, because with the same code > on my side (of course, recompiled for the revision to be tested) with > the earlier revision everything works smooth while it doesn't with the > latter revision. > Couldn't the invalid write mentioned in valgrind's outputs lead to the > SIGABRT? > What I don't understand anyway is > 1. Why does the SIGABRT occur when running without any debugger attached > or with gdb, but not with valgrind? AFAIK valgrind replaces some basic functions like malloc for better control of output. > The program runs (besides of the > 2. Why, at all, is it a SIGABRT and not a SIGSEGV? According to the > output it is a memory access violation and should be a SIGSEGV then, I > think. Because it is rather heap structure corruption rather then memory access violation. So libc detects the issue and aborts the program before it is "too late" > > Could it be that you changed the implementation of bad_value_cast so > that an instantiation like this is not possible anymore? Shouldn't be, in any case you may try following: Comment out lines: 13 and 14 in file: booster/lib/backtrace/src/backtrace.cpp Such it would be #if defined(__linux) || defined(__APPLE__) || defined(__sun) //#define BOOSTER_HAVE_EXECINFO //#define BOOSTER_HAVE_DLADDR #endif And tell if program still crashes. Also give me what is your Linux version and libc version + how do you compile program and CppCMS. In any case I need a crashing sample to debug the issue. Artyom |