Upgrade ClickHouse from 1.1.54231 to 19.6.2.11 - clickhouse

We finally decided to update our production server ClickHouse version 1.1.54231 to a new 19.6 . The new version started, picked up all the configs, sees the data on the server too, but cannot pick up new data on Zookeeper. In a log errors
Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Not found: user_files_path (version 19.6.2.11 (official build))
Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Not found: format_schema_path (version 19.6.2.11 (official build))
Include not found: clickhouse_remote_servers
Include not found: clickhouse_compression
Logging error to /var/log/clickhouse-server/clickhouse-server.log
Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log
Logging error to console
2019.05.16 17:06:10.801816 [ 1 ] {} <Error> Application: Listen [0.0.0.0]: 98: Net Exception: Address already in use: 0.0.0.0:8123 If it is an IPv6 or IPv4 address and your host has disabled IPv6 or IPv4, then consider to specify not disabled IPv4 or IPv6 address to listen in <listen_host> element of configuration file. Example for disabled IPv6: <listen_host>0.0.0.0</listen_host> . Example for disabled IPv4: <listen_host>::</listen_host>
2019.05.16 17:06:10.859589 [ 25 ] {} <Error> analytics..inner.main_page_hits (StorageReplicatedMergeTree): Code: 40, e.displayText() = DB::Exception: Checksums of parts don't match: hash of uncompressed files doesn't match (version 19.6.2.11 (official build)). Data after merge is not byte-identical to data on another replicas. There could be several reasons:
1. Using newer version of compression library after server update.
2. Using another compression method.
3. Non-deterministic compression algorithm (highly unlikely).
4. Non-deterministic merge algorithm due to logical error in code.
5. Data corruption in memory due to bug in code.
6. Data corruption in memory due to hardware issue.
7. Manual modification of source data after server startup.
8. Manual modification of checksums stored in ZooKeeper. We will download merged part from replica to force byte-identical result.
2019.05.16 17:06:10.874886 [ 23 ] {} <Error> analytics.actions (StorageReplicatedMergeTree): DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Code: 33, e.displayText() = DB::Exception: Cannot read all data. Bytes read: 0. Bytes expected: 8., Stack trace:
0. /usr/bin/clickhouse-server(StackTrace::StackTrace()+0x16) [0x767c3f6]
1. /usr/bin/clickhouse-server(DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0x22) [0x39294a2]
2. /usr/bin/clickhouse-server() [0x6d7fc8c]
3. /usr/bin/clickhouse-server(DB::DataPartsExchange::Fetcher::fetchPart(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, DB::ConnectionTimeouts const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x950) [0x6d830b0]
4. /usr/bin/clickhouse-server() [0x6d2d7a4]
5. /usr/bin/clickhouse-server(DB::StorageReplicatedMergeTree::fetchPart(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, unsigned long)+0x97f) [0x6d48d5f]
6. /usr/bin/clickhouse-server(DB::StorageReplicatedMergeTree::executeFetch(DB::ReplicatedMergeTreeLogEntry&)+0x7f2) [0x6d4b012]
7. /usr/bin/clickhouse-server(DB::StorageReplicatedMergeTree::executeLogEntry(DB::ReplicatedMergeTreeLogEntry&)+0x26b) [0x6d4bd5b]
8. /usr/bin/clickhouse-server() [0x6d4c31f]
9. /usr/bin/clickhouse-server(DB::ReplicatedMergeTreeQueue::processEntry(std::function<std::shared_ptr<zkutil::ZooKeeper> ()>, std::shared_ptr<DB::ReplicatedMergeTreeLogEntry>&, std::function<bool (std::shared_ptr<DB::ReplicatedMergeTreeLogEntry>&)>)+0x64) [0x6e6d324]
10. /usr/bin/clickhouse-server(DB::StorageReplicatedMergeTree::queueTask()+0x189) [0x6d280d9]
11. /usr/bin/clickhouse-server(DB::BackgroundProcessingPool::threadFunction()+0x44e) [0x6d7da4e]
12. /usr/bin/clickhouse-server() [0x6d7e4c9]
13. /usr/bin/clickhouse-server(ThreadPoolImpl<std::thread>::worker(std::_List_iterator<std::thread>)+0x1ab) [0x768238b]
14. /usr/bin/clickhouse-server() [0xb5488bf]
15. /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7f553fd076db]
16. /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7f553f28688f]
(version 19.6.2.11 (official build))
2019.05.16 17:06:10.886495 [ 25 ] {} <Error> analytics.actions (StorageReplicatedMergeTree): DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Code: 33, e.displayText() = DB::Exception: Cannot read all data. Bytes read: 0. Bytes expected: 8.,
Any ideas?

It looks like you have updated only one replica out of few.
In replicated scenarios background merge results are crosschecked using checksums. If the result of merge on 2 replicas is not byte identical replica send that message to logs and redownload the problematic part from other replicas. After you will update other replicas problem will disappear.

Related

All queries with 'ON CLUSTER' clause timed out with error message 'There is no a local address in host list'

We're building up a ClickHouse cluster (version 20.1.8.41) on 7 nodes, using a "circular replica" pattern (i.e. 7 shards * 2 replicas on different nodes), with an extra ZooKeeper cluster.
The /etc/hosts files are all correctly configured, and the cluster started succcessfully.
However, when we're executing distributed DDL queries, they all hanged and eventually timed out, e.g.:
:) create database ods on cluster sht_ck_cluster_1;
CREATE DATABASE ods ON CLUSTER sht_ck_cluster_1
→ Progress: 0.00 rows, 0.00 B (0.00 rows/s., 0.00 B/s.) Received exception from server (version 20.1.8):
Code: 159. DB::Exception: Received from localhost:9002. DB::Exception: Watching task /clickhouse/task_queue/ddl/query-0000000007 is executing longer than distributed_ddl_task_timeout (=180) seconds. There are 14 unfinished hosts (0 of them are currently active), they are going to execute the query in background.
0 rows in set. Elapsed: 180.589 sec.
The clickhouse-server.log on the client node gives information below:
2020.04.23 00:33:33.327414 [ 32 ] {c3c49bd3-333d-4fca-aa2f-2520f5c0cb9f} <Error> executeQuery: Code: 159, e.displayText() = DB::Exception: Watching task /clickhouse/task_queue/ddl/query-0000000007 is executing longer than distributed_ddl_task_timeout (=180) seconds. There are 14 unfinished hosts (0 of them are currently active), they are going to execute the query in background (version 20.1.8.41) (from 127.0.0.1:42198) (in query: CREATE DATABASE ods ON CLUSTER sht_ck_cluster_1), Stack trace (when copying this message, always include the lines below):
0. 0xb2087bc Poco::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in /usr/bin/clickhouse
1. 0x4d8e3c9 DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in /usr/bin/clickhouse
2. 0x84846b9 DB::DDLQueryStatusInputStream::readImpl() in /usr/bin/clickhouse
3. 0x8345e3f DB::IBlockInputStream::read() in /usr/bin/clickhouse
4. 0x833d541 DB::AsynchronousBlockInputStream::calculate() in /usr/bin/clickhouse
5. 0x833e113 ? in /usr/bin/clickhouse
6. 0x4dc8b7a ThreadPoolImpl<ThreadFromGlobalPool>::worker(std::__1::__list_iterator<ThreadFromGlobalPool, void*>) in /usr/bin/clickhouse
7. 0x4dc9790 ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&, void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()&&...)::'lambda'()::operator()() const in /usr/bin/clickhouse
8. 0x4dc7eca ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) in /usr/bin/clickhouse
9. 0x4dc69dc ? in /usr/bin/clickhouse
10. 0x7e25 start_thread in /usr/lib64/libpthread-2.17.so
11. 0xfebad clone in /usr/lib64/libc-2.17.so
What seems weird is that the clickhouse-server.log on the other nodes says:
2020.04.23 00:30:32.744984 [ 23 ] {} <Debug> DDLWorker: Processing tasks
2020.04.23 00:30:32.744992 [ 24 ] {} <Debug> DDLWorker: Cleaning queue
2020.04.23 00:30:32.746629 [ 23 ] {} <Debug> DDLWorker: Will not execute task query-0000000007: There is no a local address in host list
2020.04.23 00:30:32.746641 [ 23 ] {} <Debug> DDLWorker: Waiting a watch
I'm completely confused about this message. I've tried restarting the cluster, disabling DNS cache, and setting the parameter explicitly, but nothing worked.
What else should I do? Many thanks.
Regards
On cluster does not work "circular replica"

Trouble creating a unique pointer from a pointer to an existing variable

I am trying to modify some parts of LLVM code. I am facing difficulty in here:
{This part of code just aims to create an OptimizationRemark which is passed on to another module}
OptimizationRemarkAnalysis &LoopAccessInfo::recordAnalysis(StringRef RemarkName,
Instruction *I) {
assert(!Report && "Multiple reports generated");
Value *CodeRegion = TheLoop->getHeader();
DebugLoc DL = TheLoop->getStartLoc();
if (I) {
CodeRegion = I->getParent();
// If there is no debug location attached to the instruction, revert back to
// using the loop's.
if (I->getDebugLoc())
DL = I->getDebugLoc();
}
OptimizationRemarkAnalysis R(DEBUG_TYPE, RemarkName, DL, CodeRegion);
Report = std::unique_ptr<OptimizationRemarkAnalysis>{&R};
return *Report;
}
When I try to build it, it works fine. But when I ran it on a benchmark, it gave errors like this:
#0 0x0000563337f8bb9f llvm::sys::PrintStackTrace(llvm::raw_ostream&) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/lib/Support/Unix/Signals.inc:398:0
#1 0x0000563337f8bc32 PrintStackTraceSignalHandler(void*) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/lib/Support/Unix/Signals.inc:462:0
#2 0x0000563337f89e07 llvm::sys::RunSignalHandlers() /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/lib/Support/Signals.cpp:49:0
#3 0x0000563337f8b40b SignalHandler(int) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/lib/Support/Unix/Signals.inc:252:0
#4 0x00007f3ec0e82150 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x13150)
#5 0x0000563338f6f61a std::default_delete<llvm::OptimizationRemarkAnalysis>::operator()(llvm::OptimizationRemarkAnalysis*) const /usr/include/c++/7/bits/unique_ptr.h:78:0
#6 0x0000563338f69699 std::unique_ptr<llvm::OptimizationRemarkAnalysis, std::default_delete<llvm::OptimizationRemarkAnalysis> >::~unique_ptr() /usr/include/c++/7/bits/unique_ptr.h:269:0
#7 0x0000563338f4942c llvm::LoopAccessInfo::~LoopAccessInfo() /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/include/llvm/Analysis/LoopAccessAnalysis.h:493:0
#8 0x00005633391b9612 std::default_delete<llvm::LoopAccessInfo>::operator()(llvm::LoopAccessInfo*) const /usr/include/c++/7/bits/unique_ptr.h:78:0
#9 0x00005633391b73c1 std::unique_ptr<llvm::LoopAccessInfo, std::default_delete<llvm::LoopAccessInfo> >::~unique_ptr() /usr/include/c++/7/bits/unique_ptr.h:269:0
#10 0x00005633391b54a9 llvm::DenseMapBase<llvm::DenseMap<llvm::Loop*, std::unique_ptr<llvm::LoopAccessInfo, std::default_delete<llvm::LoopAccessInfo> >, llvm::DenseMapInfo<llvm::Loop*>, llvm::detail::DenseMapPair<llvm::Loop*, std::unique_ptr<llvm::LoopAccessInfo, std::default_delete<llvm::LoopAccessInfo> > > >, llvm::Loop*, std::unique_ptr<llvm::LoopAccessInfo, std::default_delete<llvm::LoopAccessInfo> >, llvm::DenseMapInfo<llvm::Loop*>, llvm::detail::DenseMapPair<llvm::Loop*, std::unique_ptr<llvm::LoopAccessInfo, std::default_delete<llvm::LoopAccessInfo> > > >::clear() /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/include/llvm/ADT/DenseMap.h:129:0
#11 0x00005633391b4f2a llvm::LoopAccessLegacyAnalysis::releaseMemory() /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/include/llvm/Analysis/LoopAccessAnalysis.h:702:0
#12 0x00005633377d7eda llvm::PMDataManager::freePass(llvm::Pass*, llvm::StringRef, llvm::PassDebuggingString) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/lib/IR/LegacyPassManager.cpp:950:0
#13 0x00005633377d7dd3 llvm::PMDataManager::removeDeadPasses(llvm::Pass*, llvm::StringRef, llvm::PassDebuggingString) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/lib/IR/LegacyPassManager.cpp:939:0
#14 0x00005633377da887 llvm::FPPassManager::runOnFunction(llvm::Function&) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/lib/IR/LegacyPassManager.cpp:1507:0
#15 0x00005633377da935 llvm::FPPassManager::runOnModule(llvm::Module&) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/lib/IR/LegacyPassManager.cpp:1541:0
#16 0x00005633377dacbd (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/lib/IR/LegacyPassManager.cpp:1597:0
#17 0x00005633377db3e7 llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/lib/IR/LegacyPassManager.cpp:1700:0
#18 0x00005633377db5df llvm::legacy::PassManager::run(llvm::Module&) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/lib/IR/LegacyPassManager.cpp:1732:0
#19 0x000056333827078d (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp:801:0
#20 0x00005633382734c9 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp:1198:0
#21 0x0000563338e748e9 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:292:0
#22 0x0000563339c2b6f8 clang::ParseAST(clang::Sema&, bool, bool) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/tools/clang/lib/Parse/ParseAST.cpp:171:0
#23 0x0000563338936f01 clang::ASTFrontendAction::ExecuteAction() /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:1005:0
#24 0x0000563338e72778 clang::CodeGenAction::ExecuteAction() /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:1041:0
#25 0x0000563338936944 clang::FrontendAction::Execute() /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:908:0
#26 0x00005633388d0954 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:992:0
#27 0x0000563338a8bf2b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:255:0
#28 0x0000563335d19fa6 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/tools/clang/tools/driver/cc1_main.cpp:221:0
#29 0x0000563335d0eced ExecuteCC1Tool(llvm::ArrayRef<char const*>, llvm::StringRef) /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/tools/clang/tools/driver/driver.cpp:309:0
#30 0x0000563335d0f9ad main /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm/tools/clang/tools/driver/driver.cpp:389:0
#31 0x00007f3ebfd8e1c1 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x211c1)
#32 0x0000563335d0c3ca _start (/home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm_build/bin/clang-7.0+0x1e223ca)
Stack dump:
0. Program arguments: /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm_build/bin/clang-7.0 -cc1 -triple x86_64-unknown-linux-gnu -emit-llvm -disable-free -main-file-name tsc.c -mrelocation-model static -mthread-model posix -menable-no-infs -menable-no-nans -menable-unsafe-fp-math -fno-signed-zeros -mreassociate -freciprocal-math -fno-trapping-math -ffp-contract=fast -ffast-math -ffinite-math-only -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -target-feature +avx2 -dwarf-column-info -debugger-tuning=gdb -momit-leaf-frame-pointer -coverage-notes-file /home/cs15btech11044/list_of_llvms/TSVC/TSVC_/tsc.gcno -resource-dir /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm_build/lib/clang/7.0.0 -internal-isystem /usr/local/include -internal-isystem /home/cs15btech11044/list_of_llvms/LLVM_second_remark/LLVM_for_commits_2/llvm_build/lib/clang/7.0.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O3 -Rpass-analysis=loop-vectorize -Rpass=loop-vectorize -fdebug-compilation-dir /home/cs15btech11044/list_of_llvms/TSVC/TSVC_ -ferror-limit 19 -fmessage-length 150 -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o tsc.ll -x c tsc.c
1. <eof> parser at end of file
2. Per-module optimization passes
3. Running pass 'Function Pass Manager' on module 'tsc.c'.
4. Releasing pass 'Loop Access Analysis'
clang-7.0: error: unable to execute command: Segmentation fault (core dumped)
clang-7.0: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 7.0.0 (https://git.llvm.org/git/clang.git/ d925bc6affe1ed96737cc016f0dc53cdd89bee5b) (https://git.llvm.org/git/llvm.git/ 1cb64026709ddf4b7cbb090faef8457968df581a)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/cs15btech11044/list_of_llvms/TSVC/TSVC_/../../LLVM_second_remark/LLVM_for_commits_2/llvm_build/bin
clang-7.0: note: diagnostic msg: PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
clang-7.0: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-7.0: note: diagnostic msg: /tmp/tsc-c03557.c
clang-7.0: note: diagnostic msg: /tmp/dummy-ddbe6a.c
clang-7.0: note: diagnostic msg: /tmp/tsc-c03557.sh
clang-7.0: note: diagnostic msg:
********************
Mainly the issue is arising due to these lines,
OptimizationRemarkAnalysis R(DEBUG_TYPE, RemarkName, DL, CodeRegion);
Report = std::unique_ptr<OptimizationRemarkAnalysis>{&R};
I would like to know why is this not possible and whether is there any other way to convert any pointer to a unique pointer in C++11.
This fails because R goes out of scope, and it's on the stack anyway - so you can't have a unique pointer to its address without it becomes invalid. Try this instead:
auto Report = std::unique_ptr<OptimizationRemarkAnalysis>{
new OptimizationRemarkAnalysis(DEBUG_TYPE, RemarkName, DL, CodeRegion) };
or in C++14:
auto Report = std::make_unique<OptimizationRemarkAnalysis>(
DEBUG_TYPE, RemarkName, DL, CodeRegion);

Artery crashing repeatedly after around 134 s of Simulation Time

I am currently using Artery to simulate Traffic in a custom scenario. Being lazy, I just changed the required sumo-files and launchd.xml and references in the omnetpp.ini files so that I can run Artery using the run_example target.
So far so good.
Qtenv starts without problems an I get a dialogue, prompting me to choose the ini configuration (General, veins, inet or inet_rsu). Whenever the SimTime reaches around 140 seconds running the inet_rsu configutration, the program crashes producing the following error Message:
opp_run: /home/wiconlab/Car2x/artery-master/src/artery/application
/LocalDynamicMap.cc:24: void artery::LocalDynamicMap::updateAwareness(const CaObject&): Assertion `entry.expiry > omnetpp::simTime() && entry.expiry < omnetpp::simTime() + 2.0' failed
The complete terminal output is as follows:
$ cmake --build build --target run_example
[ 13%] Built target traci
[ 14%] Building INET (external dependency)
*** COMPILING with:
g++ -c -std=c++11 -O2 -DNDEBUG=1 -MMD -MP -MF .d -fPIC -fno-stack-protector -DHAVE_SWAPCONTEXT -DWITH_MPI -DXMLPARSER=libxml -DPREFER_QTENV -DWITH_QTENV -DWITH_TKENV -DWITH_PARSIM -DWITH_NETBUILDER -DWITH_OSG -DWITH_OSGEARTH -Wno-overloaded-virtual -include inet/common/precompiled.h -I. -I/home/wiconlab/Car2x/omnetpp-5.1.1/include
*** LINKING with:
g++ -shared -fPIC -o ../out/gcc-release/src/libINET.so -Wl,--no-as-needed -Wl,--whole-archive -Wl,--no-whole-archive -loppenvir -loppsim -ldl -lstdc++ -lOpenThreads -losg -losgText -losgDB -losgEarth -losgEarthUtil -Wl,-rpath,/home/wiconlab/Car2x/omnetpp-5.1.1/lib -Wl,-rpath,/lib -Wl,-rpath,. -L/home/wiconlab/Car2x/omnetpp-5.1.1/lib
Building...
[ 14%] Built target build_inet
[ 15%] Building Veins (external dependency)
[ 15%] Built target build_veins
[ 16%] Building Vanetza (external dependency)
-- Boost version: 1.58.0
-- Found the following Boost libraries:
-- date_time
-- serialization
-- system
-- Using bundled ASN.1 code instead of asn1c
-- Could NOT find Cohda (missing: COHDA_MK2_ROOT)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wiconlab/Car2x/artery-master/extern/vanetza/build
[ 0%] Built target asn1_gen
[ 65%] Built target asn1
[ 67%] Built target common
[ 71%] Built target net
[ 81%] Built target security
[ 85%] Built target dcc
[ 95%] Built target geonet
[ 97%] Built target btp
[ 98%] Built target facilities
[ 99%] Built target gnss
[100%] Built target proxy_fake_feed
[ 16%] Built target build_vanetza
[ 22%] Built target denm
[ 27%] Built target messages
[ 49%] Built target storyboard
[ 65%] Built target envmod
[100%] Built target artery
OMNeT++ Discrete Event Simulation (C) 1992-2017 Andras Varga, OpenSim Ltd.
Version: 5.1.1, build: 170508-adbabd0, edition: Academic Public License -- NOT FOR COMMERCIAL USE
See the license for distribution terms and warranty disclaimer
Setting up Qtenv...
Loading NED files from /home/wiconlab/Car2x/artery-master/src/artery: 38
Loading NED files from /home/wiconlab/Car2x/artery-master/src/traci: 10
Loading NED files from /home/wiconlab/Car2x/artery-master/extern/veins/examples/veins: 1
Loading NED files from /home/wiconlab/Car2x/artery-master/extern/veins/src/veins: 33
Loading NED files from /home/wiconlab/Car2x/artery-master/extern/inet/examples: 163
Loading NED files from /home/wiconlab/Car2x/artery-master/extern/inet/src: 562
Loading NED files from /home/wiconlab/Car2x/artery-master/extern/inet/tutorials: 5
Loading images from './bitmaps': *: 0
Loading images from './images': *: 0
Loading images from '/home/wiconlab/Car2x/omnetpp-5.1.1/images': *: 0 abstract/*: 90 background/*: 4 block/*: 320 device/*: 195 logo/*: 1 maps/*: 9 misc/*: 70 msg/*: 55 old/*: 111 status/*: 28
Loading configuration... done.
Warning: Cannot find local schema '/home/hardt/Car2x/sumo-0.30.0/data/xsd/additional_file.xsd', will try website lookup.
Warning: Cannot find local schema '/home/hardt/Car2x/sumo-0.30.0/data/xsd/additional_file.xsd', will try website lookup.
opp_run: /home/wiconlab/Car2x/artery-master/src/artery/application/LocalDynamicMap.cc:24: void artery::LocalDynamicMap::updateAwareness(const CaObject&): Assertion `entry.expiry > omnetpp::simTime() && entry.expiry < omnetpp::simTime() + 2.0' failed.
Error: tcpip::Socket::recvAndCheck # recv: peer shutdown
Quitting (on error).
Aborted (core dumped)
scenarios/artery/CMakeFiles/run_example.dir/build.make:57: recipe for target 'scenarios/artery/CMakeFiles/run_example' failed
make[3]: *** [scenarios/artery/CMakeFiles/run_example] Error 134
CMakeFiles/Makefile2:566: recipe for target 'scenarios/artery/CMakeFiles/run_example.dir/all' failed
make[2]: *** [scenarios/artery/CMakeFiles/run_example.dir/all] Error 2
CMakeFiles/Makefile2:573: recipe for target 'scenarios/artery/CMakeFiles/run_example.dir/rule' failed
make[1]: *** [scenarios/artery/CMakeFiles/run_example.dir/rule] Error 2
Makefile:248: recipe for target 'run_example' failed
make: *** [run_example] Error 2
Backtrace after running in Debug configuration:
(gdb) backtrace
#0 0x00007ffff4c49428 in __GI_raise (sig=sig#entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007ffff4c4b02a in __GI_abort () at abort.c:89
#2 0x00007ffff4c41bd7 in __assert_fail_base (fmt=<optimized out>,
assertion=assertion#entry=0x7fffd779f940 "entry.expiry > omnetpp::simTime() && entry.expiry < omnetpp::simTime() + 2.0",
file=file#entry=0x7fffd779f8f0 "/home/wiconlab/Car2x/artery-master/src/artery/application/LocalDynamicMap.cc", line=line#entry=24,
function=function#entry=0x7fffd779f9a0 <artery::LocalDynamicMap::updateAwareness(CaObject const&)::__PRETTY_FUNCTION__> "void artery::LocalDynamicMap::updateAwareness(const CaObject&)")
at assert.c:92
#3 0x00007ffff4c41c82 in __GI___assert_fail (
assertion=0x7fffd779f940 "entry.expiry > omnetpp::simTime() && entry.expiry < omnetpp::simTime() + 2.0",
file=0x7fffd779f8f0 "/home/wiconlab/Car2x/artery-master/src/artery/application/LocalDynamicMap.cc", line=24,
function=0x7fffd779f9a0 <artery::LocalDynamicMap::updateAwareness(CaObject const&)::__PRETTY_FUNCTION__> "void artery::LocalDynamicMap::updateAwareness(const CaObject&)") at assert.c:101
#4 0x00007fffd7703ab8 in artery::LocalDynamicMap::updateAwareness (this=0x1d62c7a8, obj=...)
at /home/wiconlab/Car2x/artery-master/src/artery/application/LocalDynamicMap.cc:24
Python Exception <class 'TypeError'> expected string or bytes-like object:
#5 0x00007fffd76f31f8 in CaService::indicate (this=0x6625550, ind=..., packet=)
at /home/wiconlab/Car2x/artery-master/src/artery/application/CaService.cc:89
#6 0x00007fffd4202d91 in vanetza::btp::PortDispatcher::indicate(vanetza::geonet::DataIndication const&, std::unique_ptr<boost::variant<vanetza::ChunkPacket, vanetza::CohesivePacket>, std::default_delete<boost::variant<vanetza::ChunkPacket, vanetza::CohesivePacket> > >) ()
from /home/wiconlab/Car2x/artery-master/extern/vanetza/build/lib/libvanetza_btp.so
#7 0x00007fffd3d3609f in vanetza::geonet::Router::pass_up(vanetza::geonet::DataIndication&, std::unique_ptr<boost::variant<vanetza::ChunkPacket, vanetza::CohesivePacket>, std::default_delete<boost::variant<vanetza::ChunkPacket, vanetza::CohesivePacket> > >) ()
from /home/wiconlab/Car2x/artery-master/extern/vanetza/build/lib/libvanetza_geonet.so
#8 0x00007fffd3d362f9 in vanetza::geonet::Router::process_extended(vanetza::geonet::ExtendedPduConstRefs<vanetza::geonet::ShbHeader> const&, std::unique_ptr<boost::variant<vanetza::ChunkPacket, vanetza::CohesivePacket>, std::default_delete<boost::variant<vanetza::ChunkPacket, vanetza::CohesivePacket> > >) () from /home/wiconlab/Car2x/artery-master/extern/vanetza/build/lib/libvanetza_geonet.so
#9 0x00007fffd3d378f7 in vanetza::geonet::Router::indicate_extended(vanetza::geonet::IndicationContext&, vanetza::geonet::CommonHeader const&) ()
from /home/wiconlab/Car2x/artery-master/extern/vanetza/build/lib/libvanetza_geonet.so
#10 0x00007fffd3d37b37 in vanetza::geonet::Router::indicate_common(vanetza::geonet::IndicationContext&, vanetza::geonet::BasicHeader const&) ()
from /home/wiconlab/Car2x/artery-master/extern/vanetza/build/lib/libvanetza_geonet.so
#11 0x00007fffd3d39623 in vanetza::geonet::Router::indicate_secured(vanetza::geonet::IndicationContext&, vanetza::geonet::BasicHeader const&) ()
from /home/wiconlab/Car2x/artery-master/extern/vanetza/build/lib/libvanetza_geonet.so
#12 0x00007fffd3d39998 in vanetza::geonet::Router::indicate(std::unique_ptr<boost::variant<vanetza::ChunkPacket, vanetza::CohesivePacket>, std::default_delete<boost::variant<vanetza::ChunkPacket, vanetza::CohesivePacket> > >, vanetza::MacAddress const&, vanetza::MacAddress const&) ()
from /home/wiconlab/Car2x/artery-master/extern/vanetza/build/lib/libvanetza_geonet.so
#13 0x00007fffd7707bc5 in artery::Middleware::handleLowerMsg (this=0x1d62c650, msg=0x2ea0df0)
at /home/wiconlab/Car2x/artery-master/src/artery/application/Middleware.cc:303
#14 0x00007fffd7707a45 in artery::Middleware::handleMessage (this=0x1d62c650, msg=0x2ea0df0)
at /home/wiconlab/Car2x/artery-master/src/artery/application/Middleware.cc:283
#15 0x00007ffff682e477 in omnetpp::cSimulation::doMessageEvent (this=0x7b6b10, msg=0x2ea0df0,
module=0x1d62c650) at csimulation.cc:669
#16 0x00007ffff682e152 in omnetpp::cSimulation::executeEvent (this=0x7b6b10, event=0x2ea0df0)
at csimulation.cc:611
#17 0x00007ffff74e9075 in omnetpp::qtenv::Qtenv::doRunSimulationExpress (this=0x7b8a50)
at qtenv.cc:968
#18 0x00007ffff74e8526 in omnetpp::qtenv::Qtenv::runSimulation (this=0x7b8a50,
mode=omnetpp::qtenv::RUNMODE_EXPRESS, until_time=..., until_eventnum=0, until_msg=0x0,
until_module=0x0, stopOnMsgCancel=true) at qtenv.cc:731
#19 0x00007ffff746ed8d in omnetpp::qtenv::MainWindow::runSimulation (this=0x252f060,
runMode=omnetpp::qtenv::RUNMODE_EXPRESS) at mainwindow.cc:507
#20 0x00007ffff74a80df in omnetpp::qtenv::MainWindow::on_actionExpressRun_triggered (this=0x252f060)
at mainwindow.h:98
#21 0x00007ffff74a7a3f in omnetpp::qtenv::MainWindow::qt_static_metacall (_o=0x252f060,
_c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7fffffffc740) at moc_mainwindow.cpp:273
#22 0x00007ffff74a7f7c in omnetpp::qtenv::MainWindow::qt_metacall (this=0x252f060,
_c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7fffffffc740) at moc_mainwindow.cpp:363
#23 0x00007ffff44aaee0 in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007ffff3cba412 in QAction::triggered(bool) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007ffff3cbc898 in QAction::activate(QAction::ActionEvent) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007ffff3dc25a0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007ffff3dc26d4 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007ffff3e8726a in QToolButton::mouseReleaseEvent(QMouseEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007ffff3d06fc8 in QWidget::event(QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007ffff3e87349 in QToolButton::event(QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007ffff3cc405c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007ffff3cc9c19 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007ffff447c38b in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007ffff3cc8b32 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#35 0x00007ffff3d215bb in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#36 0x00007ffff3d23b7b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#37 0x00007ffff3cc405c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#38 0x00007ffff3cc9516 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#39 0x00007ffff447c38b in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00007ffff47be4e1 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#41 0x00007ffff47c01a5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#42 0x00007ffff47a3f08 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#43 0x00007fffd1b74200 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#44 0x00007fffefd69197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007fffefd693f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007fffefd6949c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007ffff44d27cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#48 0x00007ffff4479b4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#49 0x00007ffff4481bec in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#50 0x00007ffff74e7ce6 in omnetpp::qtenv::Qtenv::doRun (this=0x7b8a50) at qtenv.cc:628
#51 0x00007ffff78f8ba0 in omnetpp::envir::EnvirBase::run (this=0x7b8a60) at envirbase.cc:748
#52 0x00007ffff78f5ed8 in omnetpp::envir::EnvirBase::run (this=0x7b8a60, argc=6,
argv=0x7fffffffda98, configobject=0x7bc750) at envirbase.cc:337
#53 0x00007ffff78ee1f9 in omnetpp::envir::setupUserInterface (argc=6, argv=0x7fffffffda98)
at startup.cc:259
#54 0x00007ffff78ef930 in omnetpp::envir::evMain (argc=6, argv=0x7fffffffda98) at evmain.cc:33
#55 0x0000000000402340 in main (argc=6, argv=0x7fffffffda98) at opp_run.cc:321
The assertion in line 24 of LocalDynamicMap tries to ensure that only recent CAMs are added. In the lines before, the full CAM generation time stamp is reconstructed from the truncated generationDeltaTime time stamp. Maybe something went wrong there but I can hardly tell without further information. Can you provide details about your modifications? This may help to reproduce this error.
Also, I suggest to run the simulation with the debugger by invoking the debug_example target. Please make sure to set CMAKE_BUILD_TYPE to "Debug" to enable this target. When the assertion fails you have then the chance to look at the variables in detail: What is the exact OMNeT++ simulation time, i.e. "print simTime().dbl()" with gdb? What is the CAM's generationDeltaTime? What is the reconstruced tai value? What is the time base (mTimebase) of LocalDynamicMap's timer (mTimer)?
Addendum 1: CMake variables can be easily modified from the command line using ccmake or with cmake-gui if you prefer a graphical user interface. Example: Go to your Artery build directory (usually simply called "build") and call "ccmake ." from there. In the then opened command line interface move the cursor to the CMAKE_BUILD_TYPE entry, press [Enter] and modify this entry to "Debug". Finish by pressing [c] to run CMake configuration stage and [g] to generate an updated Makefile in your build directory.

Could not spawn process for group /var/www/rubycas

[ 2014-02-10 13:51:00.0173 22995/7f012fa3b700 Pool2/Implementation.cpp:883 ]: Could not spawn process for group /var/www/rubycas#default: An error occurred while starting up the preloader: it did not write a startup response in time.
in 'void Passenger::ApplicationPool2::SmartSpawner::throwPreloaderSpawnException(const string&, Passenger::SpawnException::ErrorKind, Passenger::ApplicationPool2::Spawner::BackgroundIOCapturerPtr&, const DebugDirPtr&)' (SmartSpawner.h:146)
in 'std::string Passenger::ApplicationPool2::SmartSpawner::negotiatePreloaderStartup(Passenger::ApplicationPool2::SmartSpawner::StartupDetails&)' (SmartSpawner.h:566)
in 'void Passenger::ApplicationPool2::SmartSpawner::startPreloader()' (SmartSpawner.h:206)
in 'virtual Passenger::ApplicationPool2::ProcessPtr Passenger::ApplicationPool2::SmartSpawner::spawn(const Passenger::ApplicationPool2::Options&)' (SmartSpawner.h:752)
in 'void Passenger::ApplicationPool2::Group::spawnThreadRealMain(const SpawnerPtr&, const Passenger::ApplicationPool2::Options&, unsigned int)' (Implementation.cpp:804)
[ 2014-02-10 13:51:00.0253 22995/7f0127fff700 agents/HelperAgent/RequestHandler.h:2088 ]: [Client 20] Cannot checkout session.
This is the error i encountered when i'm trying to access rubycas over apache
Rails 2.3.8
Phusion Passenger version 4.0.37
Ruby 1.8
Thanks,
Swaroop
Try taking a look at this troubleshooting page: Debugging startup problems

How can I tell if a crash is my fault or a 3rd-party bug?

I have a recurring intermittent EXC_BAD_ACCESS crash documented here.
This question: What steps can I take to make sure that this isn't a framework/lib error, and is actually a fault with my code? (Aside from the obvious, yes, duh, it's my code.)
I'm struggling with Instruments and getting a stack trace; are there resources I should be using to learn about this aspect of programming?
EDIT: I think this is a stack trace:
#0 0x0000cad8 in std::string ofToString<float>(float const&) at /Developer/of_007_iphone/libs/openFrameworks/utils/ofUtils.h:79
#1 0x000064ac in testApp::draw() ()
#2 0x0036d78c in ofAppiPhoneWindow::timerLoop() ()
#3 0x0037e698 in -[ofxiPhoneAppDelegate timerLoop] ()
#4 0x3095cbde in __NSFireTimer ()
#5 0x3579eca0 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ ()
#6 0x3579e6ac in __CFRunLoopDoTimer ()
#7 0x3576e300 in __CFRunLoopRun ()
#8 0x3576dd7a in CFRunLoopRunSpecific ()
#9 0x3576dc88 in CFRunLoopRunInMode ()
#10 0x336ace8c in GSEventRunModal ()
#11 0x318f0f94 in -[UIApplication _run] ()
#12 0x318ee4d4 in UIApplicationMain ()
#13 0x0036e9c4 in ofAppiPhoneWindow::runAppViaInfiniteLoop(ofBaseApp*) ()
#14 0x003a6804 in ofRunApp(ofBaseApp*) ()
#15 0x00002b34 in main ()
Ok, and another one. Wasn't even sure this was a separate error before:
#0 0x00019244 in std::vector<std::complex<float>, std::allocator<std::complex<float> > >::capacity() const at /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/include/c++/4.2.1/bits/stl_vector.h:434
#1 0x00026608 in std::vector<std::complex<float>, std::allocator<std::complex<float> > >::operator=(std::vector<std::complex<float>, std::allocator<std::complex<float> > > const&) at /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/include/c++/4.2.1/bits/vector.tcc:137
#2 0x00018708 in Analyzer::calcFFT() at /Developer/of_007_iphone/apps/cwi007/iTicTacToe/src/gameplay/pitch.cc:86
#3 0x0001881c in Analyzer::process() at /Developer/of_007_iphone/apps/cwi007/iTicTacToe/src/gameplay/pitch.cc:197
#4 0x00004378 in testApp::audioIn(float*, int, int) at /Developer/of_007_iphone/apps/cwi007/iTicTacToe/src/testApp.mm:362
#5 0x004a3fa0 in recordingCallback(void*, unsigned long*, AudioTimeStamp const*, unsigned long, unsigned long, AudioBufferList*) at /Developer/of_007_iphone/libs/openFrameworks/sound/ofxiPhoneSoundStream.mm:143
#6 0x361ccae0 in AUIOHelper::NotifyInputAvailable(AudioTimeStamp const&, unsigned long, AudioBufferList const&) ()
#7 0x361b9b90 in AURemoteIO::PerformIO(unsigned int, unsigned int, XAudioTimeStamp const&, XAudioTimeStamp const&, int&) ()
#8 0x361b9cfc in AURIOCallbackReceiver_PerformIO ()
#9 0x361b0fcc in _XPerformIO ()
#10 0x360dccbc in mshMIGPerform ()
#11 0x36173850 in MSHMIGDispatchMessage ()
#12 0x361c0b5c in AURemoteIO::IOThread::Entry(void*) ()
#13 0x3609ebb4 in CAPThread::Entry(CAPThread*) ()
#14 0x33c14684 in _pthread_start ()
The first step is to look at the stack trace in the Debugger Navigator or the crash log. Find the crashed thread and look at its stack. If any of your own code is in there, chances are it was your fault.
It won't stand up in court. For one thing, you might have done everything right and tripped a bug in framework or library code, and the moment where you tripped their bug is the moment caught in the stack trace (since that's where the crash happened). It's rare, but it does happen.
The other thing is that if you don't see your own code in the stack trace of the crashed thread, that doesn't prove you innocent. Your code might be guilty on another thread (usually indicating a thread-safety violation: you did something thread-unsafe, either knowingly on another thread without knowing it was unsafe or unknowingly on the wrong thread). Or you might be guilty in the past, having set up a crash to occur (e.g., by over-releasing an object) that occurred later (by messaging the dead object).
No matter what, the only way to determine whose bug it is is to investigate. Find where the crash happened, find what happened, and find why it happened. Once you know those three things, you'll know who did it, and whether you have to fix it (your bug) or report it and work around it (someone else's).

Resources