<html>
    <head>
      <base href="https://bugs.documentfoundation.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Firebird: app must be forced to end after any use relation designer window - add table function causes immediate hang"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=122129#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Firebird: app must be forced to end after any use relation designer window - add table function causes immediate hang"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=122129">bug 122129</a>
              from <span class="vcard"><a class="email" href="mailto:btomi96@gmail.com" title="Tamas Bunth <btomi96@gmail.com>"> <span class="fn">Tamas Bunth</span></a>
</span></b>
        <pre>Hi,

These are my observations:

- The bug is not always reproducible. It happens after around half of my
attempts for me.

- LibreOffice hangs after multiple concurrent calls of isc_dsql_prepare. The
problem is that Firebird lands in a deadlock.

- Those calls are initiated by separate threads started at
RelationLoader::run() [1]

- The threads use the very same connection, but separate statements.

According to this [2] and this [3] Firebird should be thread-safe in a manner
that multiple threads are allowed, if they are working on the same connection
object.

That means that it might be a bug of Firebird, and not ours. Although it would
be good to get rid of the problem. A workaround could be not to allow multiple
calls of OStatementCommonBase::prepareAndDescribeStatement related to the same
connection object.

[1] dbaccess/source/ui/relationdesign/RelationController.cxx
[2] <a href="https://firebirdsql.org/rlsnotesh/rnfb25-engine.html">https://firebirdsql.org/rlsnotesh/rnfb25-engine.html</a>
[3]
<a href="https://www.firebirdsql.org/file/documentation/reference_manuals/driver_manuals/odbc/html/fbodbc205-threading.html">https://www.firebirdsql.org/file/documentation/reference_manuals/driver_manuals/odbc/html/fbodbc205-threading.html</a></pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>