]> git.sur5r.net Git - i3/i3.github.io/blobdiff - docs/debugging.html
Change copyright notice to show 2009-present
[i3/i3.github.io] / docs / debugging.html
index fc4e6868c01ecb588d6cdabcc4012f640fc82faf..b84cff841ae75965a7d217465603d4f6bf9d3c6c 100644 (file)
@@ -4,7 +4,7 @@
 <head>\r
 <link rel="icon" type="image/x-icon" href="/favicon.ico">\r
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
-<meta name="generator" content="AsciiDoc 8.6.9" />\r
+<meta name="generator" content="AsciiDoc 8.6.10" />\r
 <title>i3: Debugging i3: How To</title>\r
 <link rel="stylesheet" href="/css/style.css" type="text/css" />\r
 <link rel="stylesheet" href="/css/xhtml11.css" type="text/css" />\r
@@ -22,7 +22,7 @@ document.addEventListener("DOMContentLoaded", function(){asciidoc.footnotes();},
                         <ul id="nav">\r
                                 <li><a style="border-bottom: 2px solid #fff" href="/docs">Docs</a></li>\r
                                 <li><a href="/screenshots">Screens</a></li>\r
-                                <li><a href="https://faq.i3wm.org/">FAQ</a></li>\r
+                                <li><a href="https://www.reddit.com/r/i3wm/">FAQ</a></li>\r
                                 <li><a href="/contact">Contact</a></li>\r
                                 <li><a href="https://github.com/i3/i3/issues">Bugs</a></li>\r
                         </ul>\r
@@ -44,10 +44,10 @@ process and/or need further help, do not hesitate to contact us!</p></div>
 </div>\r
 </div>\r
 <div class="sect1">\r
-<h2 id="_verify_you_are_using_i3_4_10_4">1. Verify you are using i3 ≥ 4.10.4</h2>\r
+<h2 id="_verify_you_are_using_i3_4_16_1">1. Verify you are using i3 ≥ 4.16.1</h2>\r
 <div class="sectionbody">\r
-<div class="paragraph"><p>Only the latest major version of i3 is supported, i.e. version 4.7 currently.\r
-To verify which version you are running, use:</p></div>\r
+<div class="paragraph"><p>Only the latest major version of i3 is supported. To verify which version\r
+you are running, use:</p></div>\r
 <div class="listingblock">\r
 <div class="content">\r
 <pre><tt>$ i3 --moreversion 2&gt;&amp;- || i3 --version\r
@@ -74,8 +74,8 @@ if you can.
 <dd>\r
 <p>\r
 Your version is 85 commits newer than 4.7, and the git revision of your\r
-version is <tt>9c15b95</tt>. Go to <a href="http://code.i3wm.org/i3/commit/?h=next">http://code.i3wm.org/i3/commit/?h=next</a> and see if\r
-the line "commit" starts with the same revision. If so, you are using the\r
+version is <tt>9c15b95</tt>. Go to <a href="https://github.com/i3/i3/commits/next">https://github.com/i3/i3/commits/next</a> and see if\r
+the most recent commit starts with the same revision. If so, you are using the\r
 latest version.\r
 </p>\r
 </dd>\r
@@ -112,14 +112,76 @@ fly:</p></div>
 </div>\r
 </div>\r
 <div class="sect1">\r
-<h2 id="_obtaining_the_debug_logfile">3. Obtaining the debug logfile</h2>\r
+<h2 id="_reproducing_the_problem">3. Reproducing the problem</h2>\r
 <div class="sectionbody">\r
+<div class="paragraph"><p>Before submitting an issue, please make sure to close down on the problem as\r
+much as you can yourself. Here are some steps you should consider:</p></div>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Find a deterministic, reliable way to reproduce the problem and provide it\r
+  with your bug report.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Try using the default i3 config to reproduce the problem. If the issue does\r
+  not appear with the default config, gradually adapt it to track down what\r
+  change(s) to the config introduce the problem.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Reproduce the problem with a minimal setup, i.e., only use as few applications,\r
+  windows and steps as necessary.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+In addition, try to stick to applications that are common and, even more\r
+  importantly, free / open source.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Before obtaining the log file, restart i3 in-place, execute the steps to\r
+  reproduce the problem and then save the logs. This keeps the log file as\r
+  small as possible and necessary.\r
+</p>\r
+</li>\r
+</ul></div>\r
+<div class="paragraph"><p>Please be aware that we cannot support compatibility issues with closed-source\r
+software, as digging into compatibility problems without having access to the\r
+source code is too time-consuming. Additionally, experience has shown that\r
+often, the software in question is responsible for the issue. Please raise an\r
+issue with the software in question, not i3.</p></div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_obtaining_the_debug_logfile">4. Obtaining the debug logfile</h2>\r
+<div class="sectionbody">\r
+<div class="admonitionblock">\r
+<table><tr>\r
+<td class="icon">\r
+<div class="title">Caution</div>\r
+</td>\r
+<td class="content">\r
+<div class="paragraph"><p>Logs may contain sensitive information, so please inspect the log before\r
+submitting it. Logs may be viewed by anyone, once posted. If you choose to\r
+redact the log, make an effort not to discard information which may be relevant\r
+to the issue you are reporting.</p></div>\r
+<div class="paragraph"><p>The best way to avoid submitting such information is to only run the necessary\r
+steps to reproduce the behavior when saving the log file. This will also make\r
+analyzing the log file easier.</p></div>\r
+</td>\r
+</tr></table>\r
+</div>\r
 <div class="paragraph"><p>No matter whether i3 misbehaved in some way without crashing or whether it just\r
 crashed, the logfile provides all information necessary to debug the problem.</p></div>\r
 <div class="paragraph"><p>To upload a compressed version of the logfile (for a bugreport), use:</p></div>\r
 <div class="listingblock">\r
 <div class="content">\r
-<pre><tt>DISPLAY=:0 i3-dump-log | bzip2 -c | curl --data-binary @- http://logs.i3wm.org</tt></pre>\r
+<pre><tt>DISPLAY=:0 i3-dump-log | bzip2 -c | curl --data-binary @- https://logs.i3wm.org</tt></pre>\r
 </div></div>\r
 <div class="paragraph"><p>This command does not depend on i3 (it also works while i3 displays\r
 the crash dialog), but it requires a working X11 connection.</p></div>\r
@@ -128,7 +190,7 @@ your bug report.</p></div>
 </div>\r
 </div>\r
 <div class="sect1">\r
-<h2 id="_on_crashes_obtaining_a_backtrace">4. On crashes: Obtaining a backtrace</h2>\r
+<h2 id="_on_crashes_obtaining_a_backtrace">5. On crashes: Obtaining a backtrace</h2>\r
 <div class="sectionbody">\r
 <div class="paragraph"><p>When i3 crashes, it will display a dialog stating “i3 just crashed”, offering\r
 you to save a backtrace to a text file.</p></div>\r
@@ -154,21 +216,42 @@ starting at 0.</p></div>
 </div>\r
 </div>\r
 <div class="sect1">\r
-<h2 id="_sending_bug_reports_debugging_on_irc">5. Sending bug reports/debugging on IRC</h2>\r
+<h2 id="_sending_bug_reports_debugging_on_irc">6. Sending bug reports/debugging on IRC</h2>\r
 <div class="sectionbody">\r
 <div class="paragraph"><p>When sending bug reports, please attach the <strong>whole</strong> log file. Even if you think\r
 you found the section which clearly highlights the problem, additional\r
 information might be necessary to completely diagnose the problem.</p></div>\r
-<div class="paragraph"><p>When debugging with us in IRC, be prepared to use a so called nopaste service\r
-such as <a href="http://nopaste.info">http://nopaste.info</a> or <a href="http://pastebin.com">http://pastebin.com</a> because pasting large\r
-amounts of text in IRC sometimes leads to incomplete lines (servers have line\r
-length limitations) or flood kicks.</p></div>\r
+<div class="paragraph"><p>When debugging with us in IRC, be prepared to use a so-called nopaste service\r
+such as <a href="https://pastebin.com">https://pastebin.com</a> because pasting large amounts of text in IRC\r
+sometimes leads to incomplete lines (servers have line length limitations) or\r
+flood kicks.</p></div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_debugging_i3bar">7. Debugging i3bar</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>To debug i3bar problems, use the <tt>--verbose</tt> commandline parameter,\r
+or add <tt>verbose yes</tt> to all <tt>bar {}</tt> blocks in your i3\r
+config, reload your config and then restart all i3bar instances like this:</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>$ i3 reload\r
+$ killall i3bar\r
+$ for c in $(i3-msg -t get_bar_config | python -c \\r
+      'import json,sys;print("\n".join(json.load(sys.stdin)))'); do \\r
+    (i3bar --bar_id=$c &gt;i3bar.$c.log 2&gt;&amp;1) &amp; \\r
+  done;</tt></pre>\r
+</div></div>\r
+<div class="paragraph"><p>There will now be <tt>i3bar.*.log</tt> files in your current directory that you can provide\r
+in your bug report.</p></div>\r
 </div>\r
 </div>\r
 </div>\r
 <div id="footnotes"><hr /></div>\r
 <div id="footer" lang="de">\r
-© 2009-2011 Michael Stapelberg, <a href="/impress.html">Impressum</a>\r
+    © 2009-present Michael Stapelberg,\r
+    <a href="/impress.html">Impressum</a>,\r
+    <a href="https://github.com/i3/i3.github.io">Source</a>\r
 </div>\r
 </body>\r
 </html>\r