<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">Am 10.03.2015 um 21:13 schrieb Andreas Götz <<a href="mailto:cpuidle@gmail.com" class="">cpuidle@gmail.com</a>>:</div><br class="Apple-interchange-newline"><div class="">Könnten wir testweise auf den commit vor dem join der curl sessions gehen um zu schauen ob das die Ursache ist?<br class=""><br class=""></div></blockquote><div><br class=""></div><div>Ist ein Versuch wert. Kannst du einfach testen:</div><div>In der Config bei middleware jeweils andere Strings nutzen („<a href="http://localhost%E2%80%9C" class="">http://localhost“</a>, „<a href="Http://…“" class="">Http://…“</a>, „<a href="HTtp://…“" class="">HTtp://…“</a>,…) dann werden wie früher 6 parallel Curl Sessions genutzt.</div><div><br class=""></div><div>Wenn der Fehler weiterhin auftritt, könntest du auf alten Stand zurückgehen.</div><div><br class=""></div><div>Nach deiner Config hast du 6 Channels. D.h. der problematische Thread ist tatsächlich ein Logging Thread. Könnte auch gut Problem innerhalb libcurl sein (ggf. auch timing durch CurlSessionHandler,… verursacht).</div><div><br class=""></div><div>Kannst du auch mal ein valgrind machen? (von ca. 1 Min. sollte massig reichen. Braucht kein Crash dabei zu sein.)</div><div><br class=""></div><br class=""><blockquote type="cite" class=""><div class="">Viele Grüße, Andreas<br class=""><br class=""><br class=""><br class=""><br class=""><blockquote type="cite" class="">Am 10.03.2015 um 20:17 schrieb Matthias Behr <<a href="mailto:mbehr@mcbehr.de" class="">mbehr@mcbehr.de</a>>:<br class=""><br class="">Hallo,<br class=""><br class="">Danke!<br class=""><br class="">Komisch, irgendjemand schickt ein SIGABRT.<br class=""><br class="">Entweder intern (z.B: indirekt durch malloc/free (gerade weil du da eine andere Lib nutzt) oder von außen.<br class=""><br class="">Wir müssen rausbekommen, welcher Thread das ist. Die meisten Threads warten wie geplant:<br class=""><br class="">#8 pthread_join ist in main() Thread<br class="">#2, #3, #4, #7, #9 pthread_cond_wait -> logging_thread<br class="">#6 poll ? -> reading_thread: MeterSO?<br class="">#5 nanosleep -> reading_thread?<br class=""><br class="">#1 ??? der macht Probleme. <br class=""><br class="">Wir müssen herausbekommen, was Thread #1 eigentlich macht. Könnte auch aus einer Lib sein (z.B. libcurl,…)<br class=""><br class="">Schickst du noch mal deine komplette Config? (5 Channel?)<br class=""><br class=""><br class=""><br class=""><blockquote type="cite" class="">Am 10.03.2015 um 06:07 schrieb <a href="mailto:oderwas@gmx.net" class="">oderwas@gmx.net</a>:<br class=""><br class="">Hallo Matthias,<br class=""><br class="">ich fand den bt wenig aussagekräftig, daher habe ich es noch detaillierter aufgerufen:<br class=""><br class=""># gdb /usr/local/bin/vzlogger core.vzlogger.26305.stromzaehler.1425931568 <br class="">GNU gdb (GDB) 7.4.1-debian<br class="">Copyright (C) 2012 Free Software Foundation, Inc.<br class="">License GPLv3+: GNU GPL version 3 or later <<a href="http://gnu.org/licenses/gpl.html" class="">http://gnu.org/licenses/gpl.html</a>><br class="">This is free software: you are free to change and redistribute it.<br class="">There is NO WARRANTY, to the extent permitted by law.  Type "show copying"<br class="">and "show warranty" for details.<br class="">This GDB was configured as "arm-linux-gnueabihf".<br class="">For bug reporting instructions, please see:<br class=""><<a href="http://www.gnu.org/software/gdb/bugs/" class="">http://www.gnu.org/software/gdb/bugs/</a>>...<br class="">Reading symbols from /usr/local/bin/vzlogger...done.[New LWP 26310]<br class="">[New LWP 26311]<br class="">[New LWP 26313]<br class="">[New LWP 26307]<br class="">[New LWP 26306]<br class="">[New LWP 26309]<br class="">[New LWP 26308]<br class="">[New LWP 26305]<br class="">[New LWP 26312]<br class="">[Thread debugging using libthread_db enabled]<br class="">Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".<br class="">Core was generated by `vzlogger'.<br class="">Program terminated with signal 6, Aborted.<br class="">#0  0xb699ef50 in raise ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">(gdb) thread apply all bt full<br class=""><br class="">Thread 9 (Thread 0xb2fff400 (LWP 26312)):<br class="">#0  0xb6ede7a4 in pthread_cond_wait@@GLIBC_2.4 ()<br class=""> from /lib/arm-linux-gnueabihf/libpthread.so.0<br class="">No symbol table info available.<br class="">#1  0x00060c54 in Buffer::wait(pthread_cond_t*) ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/include/Buffer.hpp:68<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">#2  0x00060d38 in Channel::wait() ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/include/Channel.hpp:86<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">#3  0x00064d84 in logging_thread(void*) ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/src/threads.cpp:209<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">#4  0xb6ed9e90 in start_thread ()<br class=""> from /lib/arm-linux-gnueabihf/libpthread.so.0<br class="">No symbol table info available.<br class="">---Type <return> to continue, or q <return> to quit---<br class="">#5  0xb6a3f4e8 in ?? ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">#6  0xb6a3f4e8 in ?? ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">Backtrace stopped: previous frame identical to this frame (corrupt stack?)<br class=""><br class="">Thread 8 (Thread 0xb63da340 (LWP 26305)):<br class="">#0  0xb6edb274 in pthread_join ()<br class=""> from /lib/arm-linux-gnueabihf/libpthread.so.0<br class="">No symbol table info available.<br class="">#1  0x000616fc in MeterMap::stopped() ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/src/MeterMap.cpp:90<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">#2  0x00045ec8 in main ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/src/vzlogger.cpp:446<br class="">      long_options = {{name = 0x109304 "config", <br class="">          has_arg = 1, flag = 0x0, val = 99}, {<br class="">          name = 0x10930c "log", has_arg = 1, <br class="">          flag = 0x0, val = 111}, {<br class="">          name = 0x109310 "daemon", has_arg = 1, <br class="">          flag = 0x0, val = 100}, {<br class="">---Type <return> to continue, or q <return> to quit---<br class="">          name = 0x109318 "httpd", has_arg = 0, <br class="">          flag = 0x0, val = 108}, {<br class="">          name = 0x109320 "httpd-port", <br class="">          has_arg = 1, flag = 0x0, val = 112}, {<br class="">          name = 0x10932c "register", <br class="">          has_arg = 0, flag = 0x0, val = 114}, {<br class="">          name = 0x109338 "verbose", <br class="">          has_arg = 1, flag = 0x0, val = 118}, {<br class="">          name = 0x109340 "help", has_arg = 0, <br class="">          flag = 0x0, val = 104}, {<br class="">          name = 0x109348 "version", <br class="">          has_arg = 0, flag = 0x0, val = 86}, {<br class="">          name = 0x0, has_arg = 0, flag = 0x0, <br class="">          val = 0}}<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">      options = {_config = "/etc/vzlogger.conf", <br class="">        _log = "/var/log/vzlogger.log", <br class="">        _logfd = 0xc5d498, _port = 8080, <br class="">        _verbosity = 15, _comet_timeout = 30, <br class="">        _buffer_length = 600, _retry_pause = 30, <br class="">        _channel_index = -1, _daemon = -1, <br class="">        _local = 0, _logging = -1, <br class="">        _doRegistration = 0}<br class="">      gSkippedFailed = 0<br class="">      long_options_descs = {<br class="">        0x108e60 "configuration file", <br class="">---Type <return> to continue, or q <return> to quit---<br class="">        0x108e74 "log file", <br class="">        0x108e80 "run in background", <br class="">        0x108e94 "activate local interface (tiny HTTPd which serves live readings)", <br class="">        0x108ed8 "TCP port for HTTPd", <br class="">        0x108eec "register device", <br class="">        0x108efc "enable verbose output", <br class="">        0x108f14 "show this help", <br class="">        0x108f24 "show version of vzlogger", 0x0}<br class="">      gStop = false<br class="">      mappings = {<br class="">        _mappings = std::vector of length 2, capacity 2 = {{_meter = <br class="">  std::tr1::shared_ptr (count 2, weak 0) 0xc5a370, <br class="">            _channels = std::vector of length 3, capacity 3 = {<br class=""><br class="">  std::tr1::shared_ptr (count 1, weak 0) 0xc5c268, std::tr1::shared_ptr (count 1, weak 0) 0xc5c348, <br class="">              std::tr1::shared_ptr (count 1, weak 0) 0xc5c608}, _thread_running = true, <br class="">            _thread = 3057484800}, {<br class="">            _meter = std::tr1::shared_ptr (count 2, weak 0) 0xc5cc50, <br class="">            _channels = std::vector of length 3, capacity 3 = {<br class="">              std::tr1::shared_ptr (count 1, weak 0) 0xc5cd38, <br class="">              std::tr1::shared_ptr (count 1, weak 0) 0xc5c---Type <return> to continue, or q <return> -- quit--<br class="">fa0, <br class="">              std::tr1::shared_ptr (count 1, weak 0) 0xc5d138}, _thread_running = true, _thread = 3019895808}}}<br class=""><br class="">Thread 7 (Thread 0xb53d8400 (LWP 26308)):<br class="">#0  0xb6ede7a4 in pthread_cond_wait@@GLIBC_2.4 ()<br class=""> from /lib/arm-linux-gnueabihf/libpthread.so.0<br class="">No symbol table info available.<br class="">#1  0x00060c54 in Buffer::wait(pthread_cond_t*) ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/include/Buffer.hpp:68<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">#2  0x00060d38 in Channel::wait() ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/include/Channel.hpp:86<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">#3  0x00064d84 in logging_thread(void*) ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/src/threads.cpp:209<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">---Type <return> to continue, or q <return> to quit---<br class="">#4  0xb6ed9e90 in start_thread ()<br class=""> from /lib/arm-linux-gnueabihf/libpthread.so.0<br class="">No symbol table info available.<br class="">#5  0xb6a3f4e8 in ?? ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">#6  0xb6a3f4e8 in ?? ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">Backtrace stopped: previous frame identical to this frame (corrupt stack?)<br class=""><br class="">Thread 6 (Thread 0xb49ff400 (LWP 26309)):<br class="">#0  0xb6a35af0 in poll ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">#1  0xb6a4ccf4 in ?? ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">#2  0x00000000 in ?? ()<br class="">No symbol table info available.<br class=""><br class="">Thread 5 (Thread 0xb63d8400 (LWP 26306)):<br class="">#0  0xb6a0d200 in nanosleep ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">#1  0xb6a4ccf4 in ?? ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">---Type <return> to continue, or q <return> to quit---<br class="">#2  0x00000000 in ?? ()<br class="">No symbol table info available.<br class=""><br class="">Thread 4 (Thread 0xb5bd8400 (LWP 26307)):<br class="">#0  0xb6ede7a4 in pthread_cond_wait@@GLIBC_2.4 ()<br class=""> from /lib/arm-linux-gnueabihf/libpthread.so.0<br class="">No symbol table info available.<br class="">#1  0x00060c54 in Buffer::wait(pthread_cond_t*) ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/include/Buffer.hpp:68<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">#2  0x00060d38 in Channel::wait() ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/include/Channel.hpp:86<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">#3  0x00064d84 in logging_thread(void*) ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/src/threads.cpp:209<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">#4  0xb6ed9e90 in start_thread ()<br class="">---Type <return> to continue, or q <return> to quit---<br class=""> from /lib/arm-linux-gnueabihf/libpthread.so.0<br class="">No symbol table info available.<br class="">#5  0xb6a3f4e8 in ?? ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">#6  0xb6a3f4e8 in ?? ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">Backtrace stopped: previous frame identical to this frame (corrupt stack?)<br class=""><br class="">Thread 3 (Thread 0xb27ff400 (LWP 26313)):<br class="">#0  0xb6ede7a4 in pthread_cond_wait@@GLIBC_2.4 ()<br class=""> from /lib/arm-linux-gnueabihf/libpthread.so.0<br class="">No symbol table info available.<br class="">#1  0x00060c54 in Buffer::wait(pthread_cond_t*) ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/include/Buffer.hpp:68<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">#2  0x00060d38 in Channel::wait() ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/include/Channel.hpp:86<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">---Type <return> to continue, or q <return> to quit---<br class="">#3  0x00064d84 in logging_thread(void*) ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/src/threads.cpp:209<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">#4  0xb6ed9e90 in start_thread ()<br class=""> from /lib/arm-linux-gnueabihf/libpthread.so.0<br class="">No symbol table info available.<br class="">#5  0xb6a3f4e8 in ?? ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">#6  0xb6a3f4e8 in ?? ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">Backtrace stopped: previous frame identical to this frame (corrupt stack?)<br class=""><br class="">Thread 2 (Thread 0xb37ff400 (LWP 26311)):<br class="">#0  0xb6ede7a4 in pthread_cond_wait@@GLIBC_2.4 ()<br class=""> from /lib/arm-linux-gnueabihf/libpthread.so.0<br class="">No symbol table info available.<br class="">#1  0x00060c54 in Buffer::wait(pthread_cond_t*) ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/include/Buffer.hpp:68<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized o---Type <return> to continue, or q <return> to quit---<br class="">ut>}<br class="">#2  0x00060d38 in Channel::wait() ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/include/Channel.hpp:86<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">#3  0x00064d84 in logging_thread(void*) ()<br class="">  at /home/pi/vzlogger_mb/vzlogger/src/threads.cpp:209<br class="">      std::__ioinit = {<br class="">        static _S_refcount = <optimized out>, <br class="">        static _S_synced_with_stdio = <optimized out>}<br class="">#4  0xb6ed9e90 in start_thread ()<br class=""> from /lib/arm-linux-gnueabihf/libpthread.so.0<br class="">No symbol table info available.<br class="">#5  0xb6a3f4e8 in ?? ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">#6  0xb6a3f4e8 in ?? ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">Backtrace stopped: previous frame identical to this frame (corrupt stack?)<br class=""><br class="">Thread 1 (Thread 0xb3fff400 (LWP 26310)):<br class="">#0  0xb699ef50 in raise ()<br class="">---Type <return> to continue, or q <return> to quit---<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">#1  0xb69a0304 in abort ()<br class=""> from /lib/arm-linux-gnueabihf/libc.so.6<br class="">No symbol table info available.<br class="">#2  0x00000020 in ?? ()<br class="">No symbol table info available.<br class="">#3  0x00000020 in ?? ()<br class="">No symbol table info available.<br class="">Backtrace stopped: previous frame identical to this frame (corrupt stack?)<br class=""><br class=""><br class="">Beste Grüße <br class=""><br class="">Markus<br class=""></blockquote><br class="">Gruß<br class=""><br class="">Matthias Behr<br class=""><br class=""></blockquote></div></blockquote></div><br class=""><div class="">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><div class="">Gruß</div><div class=""><br class=""></div><div class="">Matthias Behr</div></span>
</div>
<br class=""></body></html>