<?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 bei new bzw malloc]]></title><description><![CDATA[<p>nunja wie schon der titel sagt Gibts dort manchmal nen segfault bei einem new auf ein grundlegenden datentyp?</p>
<p>Ich weiss nicht ob das hier oder im linux forum besser aufgehoben ist. Ich glaube man kann mir da wohl nur helfen wenn jemand zufälligerweise den fehler schonmal hatte und weiss wo man hingreifen muss.</p>
<p>Hier der Code den ich ausführe</p>
<pre><code class="language-cpp">CByteBuffer::CByteBuffer( uint16_t s ) : writeinactive(0), readinactive(0), readingpos(0), writingpos(1), size( s ), wir( false )
{

    try 
    {
        data = (unsigned char *)malloc(s); //&lt;-- da crashts
    }
    catch ( ... )
    {
        std::cout&lt;&lt;&quot;err on creating buffer&quot;&lt;&lt;std::endl;
    }

    vlock = new pthread_mutex_t;
    if (pthread_mutex_init(vlock,NULL)) 
    {
		std::cout &lt;&lt; &quot;Mutex couldn't get initialized... throwing exception!&quot; &lt;&lt; std::endl;
		throw std::exception();
	}    
}
</code></pre>
<p>Ich habs schon mit new und mit malloc probiert. Der constructor wird innerhalb eines constructors einer anderen klasse aufgerufen. Es gebt in beiden auch keine Virtuellen funktionen etc. Das einzige was ich sagen muss das die klassen innerhalb von Posix threads erzeugt werden. Vielleicht hängt es damit zusammen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/172574/segfault-bei-new-bzw-malloc</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 00:21:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/172574.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Feb 2007 13:15:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to segfault bei new bzw malloc on Tue, 06 Feb 2007 13:15:14 GMT]]></title><description><![CDATA[<p>nunja wie schon der titel sagt Gibts dort manchmal nen segfault bei einem new auf ein grundlegenden datentyp?</p>
<p>Ich weiss nicht ob das hier oder im linux forum besser aufgehoben ist. Ich glaube man kann mir da wohl nur helfen wenn jemand zufälligerweise den fehler schonmal hatte und weiss wo man hingreifen muss.</p>
<p>Hier der Code den ich ausführe</p>
<pre><code class="language-cpp">CByteBuffer::CByteBuffer( uint16_t s ) : writeinactive(0), readinactive(0), readingpos(0), writingpos(1), size( s ), wir( false )
{

    try 
    {
        data = (unsigned char *)malloc(s); //&lt;-- da crashts
    }
    catch ( ... )
    {
        std::cout&lt;&lt;&quot;err on creating buffer&quot;&lt;&lt;std::endl;
    }

    vlock = new pthread_mutex_t;
    if (pthread_mutex_init(vlock,NULL)) 
    {
		std::cout &lt;&lt; &quot;Mutex couldn't get initialized... throwing exception!&quot; &lt;&lt; std::endl;
		throw std::exception();
	}    
}
</code></pre>
<p>Ich habs schon mit new und mit malloc probiert. Der constructor wird innerhalb eines constructors einer anderen klasse aufgerufen. Es gebt in beiden auch keine Virtuellen funktionen etc. Das einzige was ich sagen muss das die klassen innerhalb von Posix threads erzeugt werden. Vielleicht hängt es damit zusammen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1223827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1223827</guid><dc:creator><![CDATA[Fedaykin]]></dc:creator><pubDate>Tue, 06 Feb 2007 13:15:14 GMT</pubDate></item><item><title><![CDATA[Reply to segfault bei new bzw malloc on Tue, 06 Feb 2007 13:27:45 GMT]]></title><description><![CDATA[<p>wie groß is den s?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1223834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1223834</guid><dc:creator><![CDATA[gcoder@work]]></dc:creator><pubDate>Tue, 06 Feb 2007 13:27:45 GMT</pubDate></item><item><title><![CDATA[Reply to segfault bei new bzw malloc on Tue, 06 Feb 2007 13:45:17 GMT]]></title><description><![CDATA[<p>1000 also im grunde 1000 byte <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="😉"
    /> nicht so übermässig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1223843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1223843</guid><dc:creator><![CDATA[Fedaykin]]></dc:creator><pubDate>Tue, 06 Feb 2007 13:45:17 GMT</pubDate></item><item><title><![CDATA[Reply to segfault bei new bzw malloc on Tue, 06 Feb 2007 14:32:41 GMT]]></title><description><![CDATA[<p>hmm das problem taucht nicht nur dort auf. Kann es sein das ein programm rumspinnt wenn zuviele new operationen auf einmal benutzt werden? Irgendwie macht das programm bei mehreren solcher new's macken. Hoffe mir kann da jemand helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1223883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1223883</guid><dc:creator><![CDATA[Fedaykin]]></dc:creator><pubDate>Tue, 06 Feb 2007 14:32:41 GMT</pubDate></item><item><title><![CDATA[Reply to segfault bei new bzw malloc on Tue, 06 Feb 2007 14:38:45 GMT]]></title><description><![CDATA[<p>Vermutlich hast du dir vorher irgendwo durch einen Schreibzugriff über Arraygrenzen hinweg den Heap zerlegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1223889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1223889</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Tue, 06 Feb 2007 14:38:45 GMT</pubDate></item><item><title><![CDATA[Reply to segfault bei new bzw malloc on Tue, 06 Feb 2007 16:50:53 GMT]]></title><description><![CDATA[<p>hmmm mittlerweile hab ich bei allem was ich geändert habe am Source vor jedem schreibzugriff auf ein array sogar ein assert drinnen das mir abprüft ob die grenzen überschritten werden.... Aber selbst dort ist nie was passiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1223979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1223979</guid><dc:creator><![CDATA[Fedaykin]]></dc:creator><pubDate>Tue, 06 Feb 2007 16:50:53 GMT</pubDate></item><item><title><![CDATA[Reply to segfault bei new bzw malloc on Tue, 06 Feb 2007 17:09:11 GMT]]></title><description><![CDATA[<p>was heißt den:</p>
<pre><code>data = (unsigned char *)malloc(s); //&lt;-- da crashts
</code></pre>
<p>wird &quot;err on creating buffer&quot; ausgegeben?<br />
oder gibs 'nen core-dump?</p>
<p>Wievile Threads haste am laufen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1223989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1223989</guid><dc:creator><![CDATA[kung]]></dc:creator><pubDate>Tue, 06 Feb 2007 17:09:11 GMT</pubDate></item><item><title><![CDATA[Reply to segfault bei new bzw malloc on Tue, 06 Feb 2007 17:20:54 GMT]]></title><description><![CDATA[<p>am laufen sind hmmm gute Frage, ich denke zu der Zeit so an die 20 Threads. Der Crash kommt vor allem im GDB (Debugger) auch ohne aber dort lässt er länger auf sich warten <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="😉"
    /> das programm segfaultet halt einfach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1223994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1223994</guid><dc:creator><![CDATA[Fedaykin]]></dc:creator><pubDate>Tue, 06 Feb 2007 17:20:54 GMT</pubDate></item><item><title><![CDATA[Reply to segfault bei new bzw malloc on Tue, 06 Feb 2007 17:26:26 GMT]]></title><description><![CDATA[<p>Ist data Threadsicher ?<br />
Den Lock sehe ich erst nach dem new - nicht das da mehrere Threads gleichzeitig mit data arbeiten wollen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1223996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1223996</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Tue, 06 Feb 2007 17:26:26 GMT</pubDate></item><item><title><![CDATA[Reply to segfault bei new bzw malloc on Tue, 06 Feb 2007 17:34:32 GMT]]></title><description><![CDATA[<p>ja der wird ja dort erstmal initialisiert.</p>
<p>Das problem ist halt das es nicht nur diese stelle ist, sondern es hier besonders häuffig auftritt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224001</guid><dc:creator><![CDATA[Fedaykin]]></dc:creator><pubDate>Tue, 06 Feb 2007 17:34:32 GMT</pubDate></item><item><title><![CDATA[Reply to segfault bei new bzw malloc on Tue, 06 Feb 2007 17:49:15 GMT]]></title><description><![CDATA[<p>Ich hab mit multithreading herzlich wenig erfahrung aber der gezeigte Quellcode lässt erst mal keinen Schluss auf falschen Zugriff einer Variablen zu (sofern uint16_t kein Zeiger oder referenz ist).</p>
<p>Also bleibt eigentlich nurnoch :</p>
<p>Probleme mit dem Threading<br />
oder</p>
<blockquote>
<p>Vermutlich hast du dir vorher irgendwo durch einen Schreibzugriff über Arraygrenzen hinweg den Heap zerlegt.</p>
</blockquote>
<p>weitere möglichkeiten wären imHo ggf. noch wildes rumschreiben innerhalb des eigenen Speicherbereiches. Prüfe mal ob alle Zeiger richtig Initialisiert sind vor Verwendung und bei einem delete auf 0 gesetzt werden.</p>
<p>Wenn das alles gesichert ist, darf einer der Threading spezies nen Kommentar zu geben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224003</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Tue, 06 Feb 2007 17:49:15 GMT</pubDate></item><item><title><![CDATA[Reply to segfault bei new bzw malloc on Tue, 06 Feb 2007 18:27:15 GMT]]></title><description><![CDATA[<p>Fedaykin schrieb:</p>
<blockquote>
<p>ja der wird ja dort erstmal initialisiert.</p>
<p>Das problem ist halt das es nicht nur diese stelle ist, sondern es hier besonders häuffig auftritt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
</blockquote>
<p>Wo den noch?</p>
<p>Köntest Du auch mal den Teil posten wo der ctor aufgerufen wird und wie Du die klasse wieder freigibs. Stack oder new?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224018</guid><dc:creator><![CDATA[kung]]></dc:creator><pubDate>Tue, 06 Feb 2007 18:27:15 GMT</pubDate></item><item><title><![CDATA[Reply to segfault bei new bzw malloc on Wed, 07 Feb 2007 17:54:22 GMT]]></title><description><![CDATA[<p>also vielen vielen dank für die viele hilfe.... ich denke das problem hat sich dahingehend geklärt das es einfach am Multithreading lag. Irgendwie scheint beim abbrechen der Threads was in die hose gelaufen zu sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> es scheint jetzt ganz gut zu klappen, hab zwar wieder neue probleme aber da will ich mich selber erstmal dran festbeissen und wenn ich so nicht weiterkomme nachfragen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224613</guid><dc:creator><![CDATA[Fedaykin]]></dc:creator><pubDate>Wed, 07 Feb 2007 17:54:22 GMT</pubDate></item></channel></rss>