<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="374363" data-post-id="374363">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="fhunleth" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/fhunleth/120/978_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  fhunleth
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Co-author of Nerves</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="https://hex.pm/packages/circuits_gpio/2.1.3" rel="nofollow">Circuits.GPIO 2.1.3</a> is now available that fixes a serious issue that caused interrupt messages to stop being sent. Please update when you can. I went ahead and marked the hex packages for versions prior to 2.1.3 as invalid since this issue can be quite hard to track down. Thanks to <a class="mention" href="/u/akoutmos" rel="nofollow">@akoutmos</a> for providing me a <a href="https://github.com/nerves-livebook/nerves_livebook/" rel="noopener nofollow ugc">Nerves Livebook</a> that reproduced it and <a class="mention" href="/u/gus" rel="nofollow">@gus</a> who also was able to reproduce and confirm the fix in a different context.</p>
<p>The bug affects anyone using two or more GPIOs in interrupt mode. If you’re not using interrupts or use only one, then upgrading is less important. In practice, the issue occurred when a GenServer using one GPIO in interrupt mode crashes and restarts. Another open GPIO in interrupt mode could stop getting interrupt messages. Internally, the ordering of events matters, so it was possible to get inconsistent outcomes.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="374363" data-batch-url="/posts/batch_likers">
                        5
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/circuits-gpio-i2c-and-spi-use-elixir-to-control-hardware-and-read-sensors/20208/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-374363" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="374363"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>