<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Segfault mit gdb Fehlerausgabe]]></title><description><![CDATA[<p>Ich erhalte einen segmentation fault und habe mein Programm deshalb in den GDB gesteckt. Leider kann ich mir nicht erklären warum er gerade an dieser Stelle geworfen wird.</p>
<p>Hier der Programmteil auf den sich die Meldung des gdb bezieht</p>
<pre><code class="language-cpp">//Copy Konstruktor
ddos_webpage::ddos_webpage( const ddos_webpage&amp; w ) {
	buildASNIds();
	count = w.count;
	url = w.url; &lt;-- Zeile 12
	for( uint8_t i = 0; i &lt; asnLength; ++i )
		asns[i] = w.asns[i];
}
</code></pre>
<p>Beim Ausführen erhalte ich folgende Fehlermeldung:</p>
<blockquote>
<p>Program received signal SIGSEGV, Segmentation fault.<br />
0x0000003f95a9c9de in std::string::assign () from /usr/lib64/libstdc++.so.6<br />
(gdb) up<br />
#1 0x0000000000433ddd in ddos_webpage (this=0x2aaaaca3e360, w=@0x2aaaac83f150) at ddos_webpage.cpp:12<br />
12 url = w.url;</p>
</blockquote>
<p>Irgendwas schient wohl beim String Objekt schiefzugehen. Ich habe aber keine Idee was das sein könnte.</p>
<p>Kann jemand damit was anfangen? Würde mich über jeden Hinweis freuen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/271036/segfault-mit-gdb-fehlerausgabe</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 17:04:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/271036.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Jul 2010 12:10:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Segfault mit gdb Fehlerausgabe on Thu, 22 Jul 2010 12:10:44 GMT]]></title><description><![CDATA[<p>Ich erhalte einen segmentation fault und habe mein Programm deshalb in den GDB gesteckt. Leider kann ich mir nicht erklären warum er gerade an dieser Stelle geworfen wird.</p>
<p>Hier der Programmteil auf den sich die Meldung des gdb bezieht</p>
<pre><code class="language-cpp">//Copy Konstruktor
ddos_webpage::ddos_webpage( const ddos_webpage&amp; w ) {
	buildASNIds();
	count = w.count;
	url = w.url; &lt;-- Zeile 12
	for( uint8_t i = 0; i &lt; asnLength; ++i )
		asns[i] = w.asns[i];
}
</code></pre>
<p>Beim Ausführen erhalte ich folgende Fehlermeldung:</p>
<blockquote>
<p>Program received signal SIGSEGV, Segmentation fault.<br />
0x0000003f95a9c9de in std::string::assign () from /usr/lib64/libstdc++.so.6<br />
(gdb) up<br />
#1 0x0000000000433ddd in ddos_webpage (this=0x2aaaaca3e360, w=@0x2aaaac83f150) at ddos_webpage.cpp:12<br />
12 url = w.url;</p>
</blockquote>
<p>Irgendwas schient wohl beim String Objekt schiefzugehen. Ich habe aber keine Idee was das sein könnte.</p>
<p>Kann jemand damit was anfangen? Würde mich über jeden Hinweis freuen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930020</guid><dc:creator><![CDATA[HändyÄndy]]></dc:creator><pubDate>Thu, 22 Jul 2010 12:10:44 GMT</pubDate></item><item><title><![CDATA[Reply to Segfault mit gdb Fehlerausgabe on Thu, 22 Jul 2010 12:15:22 GMT]]></title><description><![CDATA[<p>Es gibt letztendlich sehr viele Fehlermöglichkeiten. Machst du noch immer mit Multithreading rum? Wenn ja, dann kann das auch immer eine große Fehlerquelle sein.</p>
<p>Ansonsten würde ich versuchen den Code Schritt für Schritt auszukommentieren, um zu überprüfen, wo der Fehler tatsächlich liegt.</p>
<p>Auf diese Weise solltest du dem Problem nah genug kommen, um es lösen zu können.</p>
<p>Was ist w.url eigentlich? ein std::string? ein std::string&amp;? Fragen über Fragen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930027</guid><dc:creator><![CDATA[.....]]></dc:creator><pubDate>Thu, 22 Jul 2010 12:15:22 GMT</pubDate></item><item><title><![CDATA[Reply to Segfault mit gdb Fehlerausgabe on Thu, 22 Jul 2010 12:46:51 GMT]]></title><description><![CDATA[<p>nicht nur der typ von w.url wäre interessant.<br />
vor allem der typ von url wäre echt gut zu wissen ;o)<br />
wozu ist count eigtl da?</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930057</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 22 Jul 2010 12:46:51 GMT</pubDate></item><item><title><![CDATA[Reply to Segfault mit gdb Fehlerausgabe on Thu, 22 Jul 2010 12:50:35 GMT]]></title><description><![CDATA[<p>Dein Copy-Konstruktor versucht an der Stelle nicht zufällig ein Objekt sich selbst zuzuweisen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930058</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 22 Jul 2010 12:50:35 GMT</pubDate></item><item><title><![CDATA[Reply to Segfault mit gdb Fehlerausgabe on Thu, 22 Jul 2010 12:55:49 GMT]]></title><description><![CDATA[<p>url ist ein std::string und keine std::string&amp;<br />
count ist ein uint32_t</p>
<p>Was meinst Du mit ein Objekt sich selbst zuweisen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930062</guid><dc:creator><![CDATA[HändyÄndy]]></dc:creator><pubDate>Thu, 22 Jul 2010 12:55:49 GMT</pubDate></item><item><title><![CDATA[Reply to Segfault mit gdb Fehlerausgabe on Thu, 22 Jul 2010 13:01:34 GMT]]></title><description><![CDATA[<p>HändyÄndy schrieb:</p>
<blockquote>
<p>url ist ein std::string und keine std::string&amp;<br />
count ist ein uint32_t</p>
<p>Was meinst Du mit ein Objekt sich selbst zuweisen?</p>
</blockquote>
<p>Bei Kopierkonstruktoren sollte man aufpassen (wenn die Klasse dynamischen Speicher benutzt), dass ein Objekt nicht sich selbst zugewiesen wird, sonst kann man ein paar sehr subtile und schwer zu findende Fehler erzeugen:<br />
<a href="http://www.parashift.com/c++-faq-lite/assignment-operators.html" rel="nofollow">http://www.parashift.com/c++-faq-lite/assignment-operators.html</a><br />
Wenn url jedoch ein std::string ist, sollte dies aber eigentlich nichts ausmachen.</p>
<p>Kannst du das Programm zu einem compilierbaren Minimalbeispiel kürzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930068</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 22 Jul 2010 13:01:34 GMT</pubDate></item><item><title><![CDATA[Reply to Segfault mit gdb Fehlerausgabe on Thu, 22 Jul 2010 13:03:05 GMT]]></title><description><![CDATA[<p>Das sieht mir eher nach einen Folgefehler aus. Irgendwo vorher gab es mal undefiniertes Verhalten und hier kommt es halt zum tragen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930069</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 22 Jul 2010 13:03:05 GMT</pubDate></item><item><title><![CDATA[Reply to Segfault mit gdb Fehlerausgabe on Thu, 22 Jul 2010 15:19:43 GMT]]></title><description><![CDATA[<p>Ich habe mal Valgrind laufen lassen. Kann mit den Infos aber irgendwie nix anfangen</p>
<blockquote>
<p>valgrind: m_mallocfree.c:194 (get_bszB_as_is): Assertion 'bszB_lo == bszB_hi' failed.<br />
valgrind: Heap block lo/hi size mismatch: lo = 80, hi = 4294967376.<br />
Probably caused by overrunning/underrunning a heap block's bounds.</p>
<p>==28107== at 0x380176D7: report_and_quit (m_libcassert.c:136)<br />
==28107== by 0x38017A3A: vgPlain_assert_fail (m_libcassert.c:200)<br />
==28107== by 0x3802031D: vgPlain_arena_free (m_mallocfree.c:191)<br />
==28107== by 0x380354FF: vgPlain_cli_free (replacemalloc_core.c:108)<br />
==28107== by 0x380017F9: die_and_free_mem (mc_malloc_wrappers.c:111)<br />
==28107== by 0x38035BA7: do_client_request (scheduler.c:1158)<br />
==28107== by 0x380372B1: vgPlain_scheduler (scheduler.c:869)<br />
==28107== by 0x38051B59: run_a_thread_NORETURN (syswrap-linux.c:87)</p>
<p>sched status:<br />
running_tid=1</p>
<p>Thread 1: status = VgTs_Runnable<br />
==28107== at 0x4A05130: operator delete(void*) (vg_replace_malloc.c:244)<br />
==28107== by 0x41C89E: __gnu_cxx::new_allocator&lt;boost::unordered_detail::hash_node&lt;std::allocator&lt;std::pair&lt;std::string const, ddos_webpage&gt; &gt;, boost::unordered_detail::ungrouped&gt; &gt;::deallocate(boost::unordered_detail::hash_node&lt;std::allocator&lt;std::pair&lt;std::string const, ddos_webpage&gt; &gt;, boost::unordered_detail::ungrouped&gt;<em>, unsigned long) (new_allocator.h:94)<br />
==28107== by 0x41D914: boost::unordered_detail::hash_buckets&lt;std::allocator&lt;std::pair&lt;std::string const, ddos_webpage&gt; &gt;, boost::unordered_detail::ungrouped&gt;::delete_node(boost::unordered_detail::hash_bucket&lt;std::allocator&lt;std::pair&lt;std::string const, ddos_webpage&gt; &gt; &gt;</em>) (buckets.hpp:70)<br />
==28107== by 0x41D95F: boost::unordered_detail::hash_buckets&lt;std::allocator&lt;std::pair&lt;std::string const, ddos_webpage&gt; &gt;, boost::unordered_detail::ungrouped&gt;::clear_bucket(boost::unordered_detail::hash_bucket&lt;std::allocator&lt;std::pair&lt;std::string const, ddos_webpage&gt; &gt; &gt;<em>) (buckets.hpp:82)<br />
==28107== by 0x41D9A7: boost::unordered_detail::hash_buckets&lt;std::allocator&lt;std::pair&lt;std::string const, ddos_webpage&gt; &gt;, boost::unordered_detail::ungrouped&gt;::delete_buckets() (buckets.hpp:92)<br />
==28107== by 0x41DA4D: boost::unordered_detail::hash_buckets&lt;std::allocator&lt;std::pair&lt;std::string const, ddos_webpage&gt; &gt;, boost::unordered_detail::ungrouped&gt;::~hash_buckets() (buckets.hpp:135)<br />
==28107== by 0x41DABB: boost::unordered_detail::hash_table&lt;boost::unordered_detail::map&lt;std::string, boost::hash<a href="std::string" rel="nofollow">std::string</a>, std::equal_to<a href="std::string" rel="nofollow">std::string</a>, std::allocator&lt;std::pair&lt;std::string const, ddos_webpage&gt; &gt; &gt; &gt;::~hash_table() (fwd.hpp:492)<br />
==28107== by 0x41DAD2: boost::unordered_detail::hash_unique_table&lt;boost::unordered_detail::map&lt;std::string, boost::hash<a href="std::string" rel="nofollow">std::string</a>, std::equal_to<a href="std::string" rel="nofollow">std::string</a>, std::allocator&lt;std::pair&lt;std::string const, ddos_webpage&gt; &gt; &gt; &gt;::~hash_unique_table() (fwd.hpp:604)<br />
==28107== by 0x41DAEA: boost::unordered_map&lt;std::string, ddos_webpage, boost::hash<a href="std::string" rel="nofollow">std::string</a>, std::equal_to<a href="std::string" rel="nofollow">std::string</a>, std::allocator&lt;std::pair&lt;std::string const, ddos_webpage&gt; &gt; &gt;::~unordered_map() (unordered_map.hpp:160)<br />
==28107== by 0x414200: Processor::processPacket(_hend_packet</em>, int) (ddos_main.cpp:190)<br />
==28107== by 0x4142A5: ddos_packet_in (ddos_main.cpp:272)<br />
==28107== by 0x410CE1: autolart (autolart.c:37)<br />
==28107== by 0x40DCC4: packet (hendread.c:913)<br />
==28107== by 0x410BC6: main (hendread.c:1688)</p>
</blockquote>
<p>Hat jemand eine Idee was mir diese Ausgabe sagt? Ich gehe mal nicht davon aus, dass ich nenn Fehler in der boost Bibliothek gefunden habe ;).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930144</guid><dc:creator><![CDATA[HändyÄndy]]></dc:creator><pubDate>Thu, 22 Jul 2010 15:19:43 GMT</pubDate></item><item><title><![CDATA[Reply to Segfault mit gdb Fehlerausgabe on Thu, 22 Jul 2010 16:42:57 GMT]]></title><description><![CDATA[<p>Ich hab den Fehler gefunden.</p>
<p>In einer Methode habe ich den Index für ein Array ermittelt. Blöderweise habe ich dazu einen falschen Index zurückgeliefert. Jetzt läufts.</p>
<p>Völlig trivialer Flüchtigkeitsfehler. Unfassbar!!! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930183</guid><dc:creator><![CDATA[HändyÄndy]]></dc:creator><pubDate>Thu, 22 Jul 2010 16:42:57 GMT</pubDate></item><item><title><![CDATA[Reply to Segfault mit gdb Fehlerausgabe on Thu, 22 Jul 2010 17:45:32 GMT]]></title><description><![CDATA[<p>HändyÄndy schrieb:</p>
<blockquote>
<pre><code class="language-cpp">//Copy Konstruktor
ddos_webpage::ddos_webpage( const ddos_webpage&amp; w ) {
</code></pre>
</blockquote>
<p>Was soll denn das werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930200</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Thu, 22 Jul 2010 17:45:32 GMT</pubDate></item><item><title><![CDATA[Reply to Segfault mit gdb Fehlerausgabe on Thu, 22 Jul 2010 18:34:36 GMT]]></title><description><![CDATA[<p>Das ist doch ein Copy-Konstruktor?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930213</guid><dc:creator><![CDATA[HändyÄndy]]></dc:creator><pubDate>Thu, 22 Jul 2010 18:34:36 GMT</pubDate></item><item><title><![CDATA[Reply to Segfault mit gdb Fehlerausgabe on Thu, 22 Jul 2010 18:44:25 GMT]]></title><description><![CDATA[<p>Nein, ich meine, was soll denn das Programm schlussendlich werden? ddos_webpage ist ein ziemlich verdächtiger Bezeichner.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930217</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Thu, 22 Jul 2010 18:44:25 GMT</pubDate></item><item><title><![CDATA[Reply to Segfault mit gdb Fehlerausgabe on Thu, 22 Jul 2010 19:02:15 GMT]]></title><description><![CDATA[<p>Ja, ein verdächtiger Name <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> , aber tatsächlich soll es DDoS Attacken erkennen. Also genau das Gegenteil. Das Programm wird, wenn es fertig ist eine Kopie des Traffics eines der größten europäischen Webhoster erhalten und anschließend in Echtzeit auf einem dedizierten Rechner beurteilen, ob ein DDoS Angriff auf eine Webseite stattfindet oder nicht. Darauf hin werden dann die Admins benachrichtigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1930229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1930229</guid><dc:creator><![CDATA[HändyÄndy]]></dc:creator><pubDate>Thu, 22 Jul 2010 19:02:15 GMT</pubDate></item></channel></rss>