<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to bugs</title><link href="https://sourceforge.net/p/j-interop/bugs/" rel="alternate"/><link href="https://sourceforge.net/p/j-interop/bugs/feed.atom" rel="self"/><id>https://sourceforge.net/p/j-interop/bugs/</id><updated>2016-08-23T04:00:07.443000Z</updated><subtitle>Recent changes to bugs</subtitle><entry><title>#24 Licensing bugs</title><link href="https://sourceforge.net/p/j-interop/bugs/24/?limit=25#ed1f" rel="alternate"/><published>2016-08-23T04:00:07.443000Z</published><updated>2016-08-23T04:00:07.443000Z</updated><author><name>Henri Yandell</name><uri>https://sourceforge.net/u/hyandell/</uri></author><id>https://sourceforge.net753eb541be7cda0215109a3f6ece851a1517d445</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Vikram Roopchand - I saw you were active on the project. Any thoughts on the above?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#16 thread jI_ShutdownHook  NullPointerException</title><link href="https://sourceforge.net/p/j-interop/bugs/16/?limit=25#21de" rel="alternate"/><published>2016-05-10T09:24:38.666000Z</published><updated>2016-05-10T09:24:38.666000Z</updated><author><name>ZhangXue</name><uri>https://sourceforge.net/u/xue7/</uri></author><id>https://sourceforge.net3c137c40ef46d8fb2735eed525a2ef91abcc1400</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Got the same exception. Is there some workaround?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Licensing bugs</title><link href="https://sourceforge.net/p/j-interop/bugs/24/" rel="alternate"/><published>2014-06-25T17:29:07.232000Z</published><updated>2014-06-25T17:29:07.232000Z</updated><author><name>Henri Yandell</name><uri>https://sourceforge.net/u/hyandell/</uri></author><id>https://sourceforge.netdb00b8396da671771a9cab8cd7a4cfc7ebfb7572</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;There are two licensing bugs in the current trunk.&lt;/p&gt;
&lt;p&gt;1/ After the LGPL-&amp;gt;EPL relicensing, an lgpl.txt file is still sitting in the source code. Presumably this needs to be removed?&lt;/p&gt;
&lt;p&gt;&lt;a href="https://sourceforge.net/p/j-interop/code/HEAD/tree/trunk/j-interop/lgpl.txt"&gt;https://sourceforge.net/p/j-interop/code/HEAD/tree/trunk/j-interop/lgpl.txt&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2/ The &lt;a href="https://sourceforge.net/p/j-interop/code/HEAD/tree/trunk/j-interop/src/org/jinterop/dcom/transport/niosupport/ChannelListener.java"&gt;https://sourceforge.net/p/j-interop/code/HEAD/tree/trunk/j-interop/src/org/jinterop/dcom/transport/niosupport/ChannelListener.java&lt;/a&gt; file says that is CC-NonCommercial. This isn't compliant with LGPL or EPL. Is this an error?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Hen&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Possible errors</title><link href="https://sourceforge.net/p/j-interop/bugs/23/" rel="alternate"/><published>2014-05-10T08:13:29.936000Z</published><updated>2014-05-10T08:13:29.936000Z</updated><author><name>Shelohnev Dmitry</name><uri>https://sourceforge.net/u/shelladn/</uri></author><id>https://sourceforge.net6066744b485c80994e7efa39c31e386b628c6cda</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Sorry for my english !&lt;/p&gt;
&lt;p&gt;I have method:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;RequestData&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;in&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;in&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;out&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;DataRow&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;out&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;out&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="kt"&gt;short&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;msec&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="n"&gt;DataRow&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;short&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;single&lt;/span&gt; &lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;I think I found two errors that can life reproduced with the above method:&lt;br /&gt;
    1. Objects of JIPointer from array listOfDefferedPointers do not need aligning (in method JICallBuilder.readPacket)&lt;br /&gt;
    2. HResult value must be aligned to 4 byte in JICallBuilder.readResult.&lt;br /&gt;
The same changes must be made when serializing request.&lt;/p&gt;
&lt;p&gt;In an attachment, files with changes that I suggest to add to the project.&lt;/p&gt;
&lt;p&gt;I call this method so:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;RequestDataResult&lt;/span&gt; &lt;span class="nf"&gt;requestData&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DataRow&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;dataRows&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;throws&lt;/span&gt; &lt;span class="n"&gt;Exception&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;callBuilder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;reInit&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="c1"&gt;//RequestData(&lt;/span&gt;
        &lt;span class="n"&gt;callBuilder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;setOpnum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="c1"&gt;//[in] long count,&lt;/span&gt;
        &lt;span class="n"&gt;callBuilder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addInParamAsInt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dataRows&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;length&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;JIFlags&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FLAG_NULL&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;JIStruct&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;dra&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;JIStruct&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;dataRows&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;length&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;dataRows&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;dra&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;dataRows&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;toJIStruct&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="c1"&gt;//[in, out] DATAROW* data,&lt;/span&gt;
        &lt;span class="n"&gt;callBuilder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addInParamAsArray&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;JIArray&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dra&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;JIFlags&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FLAG_NULL&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;callBuilder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addOutParamAsObject&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;JIArray&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DataRow&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;toJIStructTemplate&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;null&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;JIFlags&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FLAG_NULL&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="c1"&gt;//[out] long* time,&lt;/span&gt;
        &lt;span class="n"&gt;callBuilder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addOutParamAsType&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Integer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;JIFlags&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FLAG_NULL&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="c1"&gt;//[out] short* msec);&lt;/span&gt;
        &lt;span class="n"&gt;callBuilder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addOutParamAsType&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Short&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;JIFlags&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FLAG_NULL&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;iTmRtm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;call&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;callBuilder&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;length&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;JIStruct&lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;structDataRows&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JIStruct&lt;/span&gt;&lt;span class="p"&gt;[])&lt;/span&gt; &lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;JIArray&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]).&lt;/span&gt;&lt;span class="n"&gt;getArrayInstance&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
            &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;dataRows&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="n"&gt;dataRows&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;DataRow&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;structDataRows&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;RequestDataResult&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dataRows&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;short&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="n"&gt;throw&lt;/span&gt; &lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;Exception&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;quot;Сервер TraceMode вернул некорректное значение&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;JIStruct&lt;/span&gt; &lt;span class="n"&gt;toJIStruct&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;JIStruct&lt;/span&gt; &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="n"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;JIStruct&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
            &lt;span class="c1"&gt;//unsigned short index&lt;/span&gt;
            &lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addMember&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JIUnsignedFactory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getUnsigned&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;JIFlags&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FLAG_REPRESENTATION_UNSIGNED_SHORT&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
            &lt;span class="c1"&gt;//unsigned char attr&lt;/span&gt;
            &lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addMember&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JIUnsignedFactory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getUnsigned&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;attribute&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;JIFlags&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FLAG_REPRESENTATION_UNSIGNED_BYTE&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
            &lt;span class="c1"&gt;//unsigned char node;&lt;/span&gt;
            &lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addMember&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JIUnsignedFactory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getUnsigned&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;JIFlags&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FLAG_REPRESENTATION_UNSIGNED_BYTE&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
            &lt;span class="c1"&gt;//single val&lt;/span&gt;
            &lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addMember&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="c1"&gt;//unsigned long status&lt;/span&gt;
            &lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addMember&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JIUnsignedFactory&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getUnsigned&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;JIFlags&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;FLAG_REPRESENTATION_UNSIGNED_INT&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
            &lt;span class="c1"&gt;//char* list&lt;/span&gt;
            &lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addMember&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;JIPointer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="n"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JIException&lt;/span&gt; &lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;logger&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getMessage&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="n"&gt;JIStruct&lt;/span&gt; &lt;span class="n"&gt;toJIStructTemplate&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;JIStruct&lt;/span&gt; &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="n"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;JIStruct&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
            &lt;span class="c1"&gt;//unsigned short index&lt;/span&gt;
            &lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addMember&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JIUnsignedShort&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="c1"&gt;//unsigned char attr&lt;/span&gt;
            &lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addMember&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JIUnsignedByte&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="c1"&gt;//unsigned char node;&lt;/span&gt;
            &lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addMember&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JIUnsignedByte&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="c1"&gt;//single val&lt;/span&gt;
            &lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addMember&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Float&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="c1"&gt;//unsigned long status&lt;/span&gt;
            &lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addMember&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JIUnsignedInteger&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="c1"&gt;//char* list&lt;/span&gt;
            &lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;addMember&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;new&lt;/span&gt; &lt;span class="n"&gt;JIPointer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Byte&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;class&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="n"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;JIException&lt;/span&gt; &lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;logger&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ex&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getMessage&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;struct&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</summary></entry><entry><title>#22 destroySession blocked by Release_Reference_TImerTask</title><link href="https://sourceforge.net/p/j-interop/bugs/22/?limit=25#6e18" rel="alternate"/><published>2014-04-02T08:14:30.206000Z</published><updated>2014-04-02T08:14:30.206000Z</updated><author><name>Vikram Roopchand</name><uri>https://sourceforge.net/u/vikramrc/</uri></author><id>https://sourceforge.netd67822e9a16798c0d23baee7a2bae91e923002fe</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Can you try this JISession.setGlobalSocketTimeout, set it to something like 5 mins.&lt;/p&gt;
&lt;p&gt;thanks,&lt;br /&gt;
best regards,&lt;br /&gt;
Vikram&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>destroySession blocked by Release_Reference_TImerTask</title><link href="https://sourceforge.net/p/j-interop/bugs/22/" rel="alternate"/><published>2014-03-31T13:31:16.321000Z</published><updated>2014-03-31T13:31:16.321000Z</updated><author><name>Wellington Rats</name><uri>https://sourceforge.net/u/wellrats/</uri></author><id>https://sourceforge.net53dab4c598edf131536e80d68087c309d56687cf</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I have an application that collects Windows information periodically using threads. &lt;br /&gt;
Each thread connects to a Windows Server and uses it's own JISession and releases it using JISession.destroySession(...) after collect information and waits for next cycle.&lt;/p&gt;
&lt;p&gt;Eventually after a few days one of this threads becames BLOCKED and don't collects anymore.&lt;/p&gt;
&lt;p&gt;Analyzing source code and stack trace above, it seems that for any reason, it becomes blocked by Timer (Release_References_TimerTask).&lt;/p&gt;
&lt;p&gt;My Thread is "pool6-thread-25"&lt;br /&gt;
Release_References_TimerTask is "Timer-5"&lt;/p&gt;
&lt;p&gt;It seems that both threads are lockeds.&lt;/p&gt;
&lt;p&gt;Is it possible not to start "Release_Reference_TimerTask" at static code of JISession ?&lt;br /&gt;
Is there a way to Timer do not blocks other threads ?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;"pool-6-thread-25" - Thread t@46&lt;br /&gt;
  java.lang.Thread.State: BLOCKED&lt;br /&gt;
  at org.jinterop.dcom.core.JIComServer.addRef_ReleaseRef(JIComServer.java:1021)&lt;br /&gt;
  - waiting to lock  (a java.lang.Object) owned by "Timer-5" t@59&lt;br /&gt;
  at org.jinterop.dcom.core.JISession.releaseRefs(JISession.java:982)&lt;br /&gt;
  at org.jinterop.dcom.core.JISession.destroySession(JISession.java:664)&lt;br /&gt;
  at br.com.xact.xmon.plugins.protocols.wmi.Wmi.close(Wmi.java:294)&lt;br /&gt;
  at br.com.xact.xmon.plugins.wmi.AbstractPluginWmi.finish(AbstractPluginWmi.java:68)&lt;br /&gt;
  at br.com.xact.xmon.kernel.core.PluginRunnable.run(PluginRunnable.java:231)&lt;br /&gt;
  at br.com.xact.xmon.kernel.core.RecursoMonitorado.executaPluginNestaThread(RecursoMonitorado.java:1754)&lt;br /&gt;
  at br.com.xact.xmon.kernel.core.RecursoMonitorado.executaPluginMonitoramento(RecursoMonitorado.java:1920)&lt;br /&gt;
  at br.com.xact.xmon.kernel.core.RecursoMonitorado.verificaMonitoramento(RecursoMonitorado.java:2770)&lt;br /&gt;
  at br.com.xact.xmon.kernel.core.RecursoMonitorado.execute(RecursoMonitorado.java:2981)&lt;br /&gt;
  at br.com.xact.xframe.core.types.Task.run(Task.java:107)&lt;br /&gt;
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)&lt;br /&gt;
  at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)&lt;br /&gt;
  at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)&lt;br /&gt;
  at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)&lt;br /&gt;
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)&lt;br /&gt;
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)&lt;br /&gt;
  at java.lang.Thread.run(Thread.java:744)&lt;/p&gt;
&lt;p&gt;Locked ownable synchronizers:&lt;br /&gt;
    - locked &amp;lt;93c8a6&amp;gt; (a java.util.concurrent.ThreadPoolExecutor$Worker)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;blockquote&gt;
&lt;p&gt;"Timer-5" - Thread t@59&lt;br /&gt;
  java.lang.Thread.State: WAITING&lt;br /&gt;
  at sun.misc.Unsafe.park(Native Method)&lt;br /&gt;
  - parking to wait for  (a java.util.concurrent.SynchronousQueue$TransferStack)&lt;br /&gt;
  at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)&lt;br /&gt;
  at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:458)&lt;br /&gt;
  at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:359)&lt;br /&gt;
  at java.util.concurrent.SynchronousQueue.take(SynchronousQueue.java:925)&lt;br /&gt;
  at org.jinterop.dcom.transport.JIComTransport.receive(JIComTransport.java:304)&lt;br /&gt;
  at rpc.DefaultConnection.receiveFragment(DefaultConnection.java:201)&lt;br /&gt;
  at rpc.DefaultConnection.receive(DefaultConnection.java:86)&lt;br /&gt;
  at rpc.ConnectionOrientedEndpoint.receive(ConnectionOrientedEndpoint.java:226)&lt;br /&gt;
  at rpc.ConnectionOrientedEndpoint.call(ConnectionOrientedEndpoint.java:123)&lt;br /&gt;
  at rpc.Stub.call(Stub.java:113)&lt;br /&gt;
  at org.jinterop.dcom.core.JIComServer.call(JIComServer.java:990)&lt;br /&gt;
  - locked  (a java.lang.Object)&lt;br /&gt;
  at org.jinterop.dcom.core.JIComServer.call(JIComServer.java:945)&lt;br /&gt;
  at org.jinterop.dcom.core.JIComServer.addRef_ReleaseRef(JIComServer.java:1029)&lt;br /&gt;
  - locked  (a java.lang.Object)&lt;br /&gt;
  at org.jinterop.dcom.core.JISession.releaseRefs(JISession.java:982)&lt;br /&gt;
  at org.jinterop.dcom.core.JISession.access$9(JISession.java:969)&lt;br /&gt;
  at org.jinterop.dcom.core.JISession$Release_References_TimerTask.run(JISession.java:347)&lt;br /&gt;
  at java.util.TimerThread.mainLoop(Timer.java:555)&lt;br /&gt;
  at java.util.TimerThread.run(Timer.java:505)&lt;/p&gt;
&lt;p&gt;Locked ownable synchronizers:&lt;br /&gt;
  - None&lt;/p&gt;
&lt;/blockquote&gt;&lt;/div&gt;</summary></entry><entry><title>#5 java.io.IOException: Socket Closed</title><link href="https://sourceforge.net/p/j-interop/bugs/5/?limit=50#b83f" rel="alternate"/><published>2013-04-23T19:54:41.814000Z</published><updated>2013-04-23T19:54:41.814000Z</updated><author><name>JMekala</name><uri>https://sourceforge.net/u/jmekala/</uri></author><id>https://sourceforge.netc521efbfc4b984e39a42b697dd055b468736a4ba</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;How you fixed this? I have the same issue&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Socket Closed  - OPC Server</title><link href="https://sourceforge.net/p/j-interop/bugs/21/" rel="alternate"/><published>2013-04-23T19:52:45.727000Z</published><updated>2013-04-23T19:52:45.727000Z</updated><author><name>JMekala</name><uri>https://sourceforge.net/u/jmekala/</uri></author><id>https://sourceforge.net513702ccbc76de822d0c5ec78b92454a50b202c9</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I get the following exception, seemingly at random. &lt;br /&gt;
The problem generally happens when the connection is open and has been in use for a few minutes (anywhere from 7 sec). &lt;/p&gt;
&lt;p&gt;Any ideas about what is going wrong here or how I can fix it would be greatly appreciated. &lt;/p&gt;
&lt;p&gt;Log file attached. See "java.io.IOException: Socket Closed" at line 10299.&lt;/p&gt;
&lt;p&gt;Caused by: org.jinterop.dcom.common.JIException: An internal error occurred. &lt;span&gt;[0x8001FFFF]&lt;/span&gt; &lt;br /&gt;
at org.jinterop.dcom.core.JIComServer.call(JIComServer.java:799) &lt;br /&gt;
at org.jinterop.dcom.core.JIComServer.call(JIComServer.java:753) &lt;br /&gt;
at org.jinterop.dcom.core.JIComObjectImpl.call(JIComObjectImpl.java:209) &lt;br /&gt;
at org.jinterop.dcom.core.JIComObjectImpl.call(JIComObjectImpl.java:114) &lt;br /&gt;
at org.jinterop.dcom.win32.JIDispatchImpl.getIDsOfNames(JIDispatchImpl.java:101) &lt;br /&gt;
at org.jinterop.dcom.win32.JIDispatchImpl.get(JIDispatchImpl.java:416) &lt;br /&gt;
... 6 more &lt;br /&gt;
Caused by: java.io.IOException: Socket Closed &lt;br /&gt;
at rpc.DefaultConnection.receiveFragment(DefaultConnection.java:365) &lt;br /&gt;
at rpc.DefaultConnection.receive(DefaultConnection.java:69) &lt;br /&gt;
at rpc.ConnectionOrientedEndpoint.receive(ConnectionOrientedEndpoint.java:197) &lt;br /&gt;
at rpc.ConnectionOrientedEndpoint.bind(ConnectionOrientedEndpoint.java:174) &lt;br /&gt;
at rpc.ConnectionOrientedEndpoint.rebind(ConnectionOrientedEndpoint.java:149) &lt;br /&gt;
at org.jinterop.dcom.transport.JIComEndpoint.rebindEndPoint(JIComEndpoint.java:40) &lt;br /&gt;
at org.jinterop.dcom.core.JIComServer.call(JIComServer.java:789) &lt;br /&gt;
... 12 more &lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>win7 localhost JIComServer.init () bug</title><link href="https://sourceforge.net/p/j-interop/bugs/20/" rel="alternate"/><published>2012-01-31T16:03:59Z</published><updated>2012-01-31T16:03:59Z</updated><author><name>Martin Appl</name><uri>https://sourceforge.net/u/snapix/</uri></author><id>https://sourceforge.net0a2a9053b9f543f604b6b22e08fa907a8ebb3259</id><summary type="html">I came across this exeption:

org.jinterop.dcom.common.JIException: An internal error occurred. \[0x8001FFFF\]
	at org.jinterop.dcom.core.JIRemUnknownServer.call\(JIRemUnknownServer.java:158\)
	at org.jinterop.dcom.core.JIRemUnknownServer.addRef\_ReleaseRef\(JIRemUnknownServer.java:181\)
	at org.jinterop.dcom.core.JISession.addRef\_ReleaseRef\(JISession.java:782\)
	at org.jinterop.dcom.core.JIComObjectImpl.addRef\(JIComObjectImpl.java:119\)
	at org.jinterop.dcom.core.JIComServer.createInstance\(JIComServer.java:844\)
	at org.openscada.opc.lib.list.ServerList.&amp;lt;init&amp;gt;\(ServerList.java:61\)
	at cz.appl.proofOfConcept.OpcInterface.findServer\(OpcInterface.java:56\)
	at cz.appl.proofOfConcept.OpcInterface.connectServer\(OpcInterface.java:44\)
	at cz.appl.proofOfConcept.MainWindow$1.widgetSelected\(MainWindow.java:54\)
	at org.eclipse.swt.widgets.TypedListener.handleEvent\(TypedListener.java:240\)
	at org.eclipse.swt.widgets.EventTable.sendEvent\(EventTable.java:84\)
	at org.eclipse.swt.widgets.Widget.sendEvent\(Widget.java:1053\)
	at org.eclipse.swt.widgets.Display.runDeferredEvents\(Display.java:4165\)
	at org.eclipse.swt.widgets.Display.readAndDispatch\(Display.java:3754\)
	at org.eclipse.jface.window.Window.runEventLoop\(Window.java:825\)
	at org.eclipse.jface.window.Window.open\(Window.java:801\)
	at cz.appl.proofOfConcept.MainWindow.main\(MainWindow.java:116\)
Caused by: java.net.SocketException: Address family not supported by protocol family: connect
	at sun.nio.ch.Net.connect\(Native Method\)
	at sun.nio.ch.SocketChannelImpl.connect\(Unknown Source\)
	at org.jinterop.dcom.transport.JIComTransport.attach\(JIComTransport.java:185\)
	at rpc.Stub.attach\(Stub.java:106\)
	at org.jinterop.dcom.core.JIRemUnknownServer.call\(JIRemUnknownServer.java:142\)

I did some googling and found this should be known issue, at should have been fixed someday during spring, So I used trunk codes and found out issue is still there.
A debug it and found out source of problem lies in JIComServer.java on line 681. Returned bindings does not inlude localhost loop adress 127.0.0.1 but only network adapter adress. But expected target adress is 127.0.0.1. Since network adress does not corespond to 127.0.0.1, we cant pass check on line 681 \(binding.getNetworkAddress\(\).substring\(0,index\).equalsIgnoreCase\(targetAddress\)\) and we fall to next loop which gives us ip6 address which is then put to setAddress. Ip6 address will then cause "Address family not supported by protocol family: connect" exception.

I dont know hot to fix bindings provider, so I just added check for loopback adress and take binding with network adapter adress instead, Dont know if this will be fully operational solution. Please take a look at this issue.</summary></entry><entry><title>JIVariant missing byte constructor (VT_I1)</title><link href="https://sourceforge.net/p/j-interop/bugs/19/" rel="alternate"/><published>2011-10-04T11:22:17Z</published><updated>2011-10-04T11:22:17Z</updated><author><name>Morten Andersen</name><uri>https://sourceforge.net/u/userid-398965/</uri></author><id>https://sourceforge.netf0eccba0bf5d3260475c240ef3248342ac1d83e3</id><summary type="html">Keywords: Creating VT\_I1 value.


Patch attached. Various lines JIVariant \(SVN revision @136\)


The JIVariant class misses the two byte constructors:

\[code\]
public JIVariant\(byte value, boolean isByRef\)
public JIVariant\(byte value\)
\[/code\]

These are needed to create a JIVariant of type VT\_I1 by calling them with a byte as value.

The JIVariant\#makeVariant\(\)-method also requires these, as it is using the two-args constructor via reflection when called with a Byte-object. This fails and leads to null and the following warning in the log:

\[code\]
Oct 4, 2011 1:11:29 PM org.jinterop.dcom.core.JIVariant makeVariant
WARNING: Could not create Variant for &amp;lt;value&amp;gt; , isByRef false
\[/code\]
</summary></entry></feed>