{"id":1029,"date":"2010-10-22T19:39:42","date_gmt":"2010-10-22T16:39:42","guid":{"rendered":"http:\/\/www.void.gr\/kargig\/blog\/?p=1029"},"modified":"2010-11-23T21:36:40","modified_gmt":"2010-11-23T19:36:40","slug":"investigating-sigabrt-problems-on-debian","status":"publish","type":"post","link":"https:\/\/www.void.gr\/kargig\/blog\/2010\/10\/22\/investigating-sigabrt-problems-on-debian\/","title":{"rendered":"Investigating SIGABRT problems on Debian"},"content":{"rendered":"<p>3 days ago, after a Debian(squeeze\/sid) upgrade on my laptop some programs started not to open. Specifically, pidgin and google-chrome were crashing while trying to open them. When I started them from a terminal the output was this:<br \/>\n<pre><code2>kargig@laptop:~%pidgin\n[1]&nbsp;&nbsp;&nbsp;&nbsp;3853 abort&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pidgin\nkargig@laptop:~%google-chrome\n[1]&nbsp;&nbsp;&nbsp;&nbsp;3882 abort&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;google-chrome\n<\/code2><\/pre><\/p>\n<p>The first thing I checked was the updated packages, whether there was some culprit.<br \/>\nThe upgraded packages included among others:<br \/>\n<pre><code2>[UPGRADE] libk5crypto3 1.8.3+dfsg-1 -&gt; 1.8.3+dfsg-2\n[UPGRADE] libkrb5-3 1.8.3+dfsg-1 -&gt; 1.8.3+dfsg-2\n[UPGRADE] libkrb5support0 1.8.3+dfsg-1 -&gt; 1.8.3+dfsg-2\n[UPGRADE] libnspr4-0d 4.8.4-2 -&gt; 4.8.6-1\n[UPGRADE] libnss3-1d 3.12.6-3 -&gt; 3.12.8-1\n[UPGRADE] linux-base 2.6.32-23 -&gt; 2.6.32-25\n[UPGRADE] linux-headers-2.6.32-5-686-bigmem 2.6.32-23 -&gt; 2.6.32-25\n[UPGRADE] linux-headers-2.6.32-5-common 2.6.32-23 -&gt; 2.6.32-25\n[UPGRADE] linux-image-2.6.32-5-686-bigmem 2.6.32-23 -&gt; 2.6.32-25\n[UPGRADE] linux-libc-dev 2.6.32-23 -&gt; 2.6.32-25\n[UPGRADE] xserver-xorg-video-intel 2:2.9.1-4 -&gt; 2:2.12.0+shadow-2\n<\/code2><\/pre><\/p>\n<p>My first point of checking was the xserver-xorg-video package. I started searching the <a href=\"http:\/\/bugs.debian.org\">Debian bug tracking system<\/a> for references of crashes with abort. Nothing. Then I tried to check the other &#8220;suspicious&#8221; packages with abort crash reports on the bug tracker&#8230;still nothing.<br \/>\nIt was time for <a href=\"http:\/\/sourceforge.net\/projects\/strace\/\">strace<\/a>.<br \/>\n<pre><code2>kargig@laptop:~%strace pidgin\n...\n[snip]\n...\nopen(&quot;\/usr\/lib\/nss\/libfreebl3.so&quot;, O_RDONLY) = 14\nread(14, &quot;\\177ELF\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\3\\0\\1\\0\\0\\0\\0\\30\\0\\0004\\0\\0\\0&quot;..., 512) = 512\nfstat64(14, {st_mode=S_IFREG|0644, st_size=253328, ...}) = 0\nmmap2(NULL, 268988, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 14, 0) = 0xb58e3000\nmmap2(0xb5920000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 14, 0x3d) = 0xb5920000\nmmap2(0xb5921000, 15036, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb5921000\nclose(14)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0\nopen(&quot;\/etc\/ld.so.cache&quot;, O_RDONLY)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 14\nfstat64(14, {st_mode=S_IFREG|0644, st_size=79200, ...}) = 0\nmmap2(NULL, 79200, PROT_READ, MAP_PRIVATE, 14, 0) = 0xb5ab7000\nclose(14)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0\naccess(&quot;\/etc\/ld.so.nohwcap&quot;, F_OK)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= -1 ENOENT (No such file or directory)\nopen(&quot;\/usr\/lib\/swiftfox\/libnspr4.so&quot;, O_RDONLY) = 14\nread(14, &quot;\\177ELF\\1\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0\\3\\0\\1\\0\\0\\0P\\227\\0\\0004\\0\\0\\0&quot;..., 512) = 512\nfstat64(14, {st_mode=S_IFREG|0755, st_size=251136, ...}) = 0\nclose(14)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0\nmunmap(0xb5ab7000, 79200)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0\nrt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0\ntgkill(4027, 4027, SIGABRT)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0\n--- SIGABRT (Aborted) @ 0 (0) ---\n+++ killed by SIGABRT +++\n[1]&nbsp;&nbsp;&nbsp;&nbsp;4026 abort&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strace pidgin<\/code2><\/pre><\/p>\n<p>What immediately caught my eye was this line inside the output:<br \/>\n<code>open(\"\/usr\/lib\/swiftfox\/libnspr4.so\", O_RDONLY) = 14<\/code><br \/>\nI have a 3rd party package called <a href=\"http:\/\/getswiftfox.com\/\">swiftfox<\/a> installed, but why was pidgin trying to use this package&#8217;s library instead of the system one ?<br \/>\n<pre><code2># ldconfig -p | grep nspr4\nldconfig -p | grep nspr4\n&nbsp;&nbsp;libnspr4.so.0d (libc6) =&gt; \/usr\/lib\/libnspr4.so.0d\n&nbsp;&nbsp;libnspr4.so (libc6) =&gt; \/usr\/lib\/swiftfox\/libnspr4.so\n&nbsp;&nbsp;libnspr4.so (libc6) =&gt; \/usr\/lib\/libnspr4.so<\/code2><\/pre><\/p>\n<p>So the system package <a href=\"http:\/\/packages.debian.org\/search?keywords=libnspr4-0d\">libnspr4-0d<\/a> has installed its files in <em>\/usr\/lib\/libnspr4.so.0d<\/em> and has also placed a symlink from <em>\/usr\/lib\/libnspr4.so<\/em> to <em>\/usr\/lib\/libnspr4.so.0d<\/em>. For some reason though the <em>\/usr\/lib\/swiftfox\/libnspr4.so<\/em> appears before <em>\/usr\/lib\/libnspr4.so<\/em> in the cache output for the <strong>libnspr4.so<\/strong> library.<br \/>\nChecking out <em>\/etc\/ld.so.conf.d\/<\/em> directory, there was a <em>moz.conf<\/em> file containing the path &#8220;<em>\/usr\/lib\/swiftfox\/<\/em>&#8220;.<br \/>\nAn &#8220;<em>ldconfig -v<\/em>&#8221; confirmed the finding:<br \/>\n<pre><code2>\/usr\/local\/lib:\n\/usr\/lib\/swiftfox:\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libnssckbi.so -&gt; libnssckbi.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libssl3.so -&gt; libssl3.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libsqlite3.so -&gt; libsqlite3.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libnssutil3.so -&gt; libnssutil3.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libnss3.so -&gt; libnss3.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libnspr4.so -&gt; libnspr4.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libsmime3.so -&gt; libsmime3.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libmozjs.so -&gt; libmozjs.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libsoftokn3.so -&gt; libsoftokn3.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libplc4.so -&gt; libplc4.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libxul.so -&gt; libxul.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libplds4.so -&gt; libplds4.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libxpcom.so -&gt; libxpcom.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libnssdbm3.so -&gt; libnssdbm3.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libfreebl3.so -&gt; libfreebl3.so\n\/lib:\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libnss_compat.so.2 -&gt; libnss_compat-2.11.2.so\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libselinux.so.1 -&gt; libselinux.so.1\n...\n[snip]\n...\n<\/code2><\/pre><\/p>\n<p>Moving \/usr\/lib\/swiftfox\/libnspr4.so to some other location allowed applications like pidgin and google-chrome to start normally (and swiftfox still runs properly).<\/p>\n<p>I guess that was my punishment for using 3rd party packages on Debian&#8230;<\/p>\n<p>*UPDATE 23\/11\/2010*<br \/>\nGoogle chrome was crashing with some https:\/\/ sites with SIGABRT. After further investigation I had to delete <em>\/usr\/lib\/swiftfox\/libnssutil3.so<\/em> as well.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>3 days ago, after a Debian(squeeze\/sid) upgrade on my laptop some programs started not to open. Specifically, pidgin and google-chrome were crashing while trying to open them. When I started them from a terminal the output was this: kargig@laptop:~%pidgin [1]&nbsp;&nbsp;&nbsp;&nbsp;3853 abort&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pidgin kargig@laptop:~%google-chrome [1]&nbsp;&nbsp;&nbsp;&nbsp;3882 abort&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;google-chrome The first thing I checked was the updated packages, whether there [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ep_exclude_from_search":false,"footnotes":""},"categories":[3],"tags":[307,286,33,306,310,309,595,305,308,311,126],"class_list":["post-1029","post","type-post","status-publish","format-standard","hentry","category-linux","tag-abort","tag-crash","tag-debian","tag-google-chrome","tag-ldconfig","tag-libraries","tag-linux","tag-pidgin","tag-sigabrt","tag-strace","tag-swiftfox"],"aioseo_notices":[],"views":11112,"_links":{"self":[{"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/posts\/1029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/comments?post=1029"}],"version-history":[{"count":14,"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/posts\/1029\/revisions"}],"predecessor-version":[{"id":1074,"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/posts\/1029\/revisions\/1074"}],"wp:attachment":[{"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/media?parent=1029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/categories?post=1029"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.void.gr\/kargig\/blog\/wp-json\/wp\/v2\/tags?post=1029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}