You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by Christoph John <ch...@macd.com> on 2018/02/09 12:55:39 UTC

Re: leaking NioProcessors/NioSocketConnectors hanging in call to dispose

Hi againafter some time. ;)

I was now able to reproduce the problem with a MINA test. Or let's say I did the brute-force 
approach by re-running one test in an endless loop.
I have attached apatch of the test (against https://github.com/apache/mina/tree/2.0) and a stack 
trace. After a few loops the test is stuck. You can see a lot of threads hanging in dispose() and 
the test is stuck when it tries to dispose the acceptor.

What is a little strange is that the javadoc says that connector.dispose(TRUE) should not be called 
from an IoFutureListener, but in the test it is done anyway. However, changing the parameter to 
FALSE does not help either.

Is there anything that can be done to prevent this hang?

Many thanks in advance for your help and best regards,
Chris.


On 15/12/17 13:04, Christoph John wrote:
> Hi again,
>
> in the meantime I probably figured out where the problem is, but still have to do some more 
> teststo be sure.
> I now have added logic to iterate over the managed sessions of an IoConnector and close them 
> before calling IoConnector.dispose().
>
> I will let you know if this solved the problem.
>
> Thanks,
> Chris.
>
> On 16/10/17 16:20, Jonathan Valliere wrote:
>> If you can figure out a reproducible test case then I'm sure that we can fix it.
>>
>> On Mon, Oct 16, 2017 at 10:01 AM Christoph John <christoph.john@macd.com 
>> <ma...@macd.com>> wrote:
>>
>>     Hi Emmanuel,
>>
>>     yes, but unfortunately it did not help.
>>
>>     Thanks,
>>     Chris.
>>
>>
>>     On 16/10/17 15:41, Emmanuel Lécharny wrote:
>>     > Hi Christoph,
>>     >
>>     >
>>     > have you tried with this patch ? :
>>     >
>>     >
>>     > diff --git
>>     > a/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
>>     > b/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
>>     > index 50ebd4e..575b2f4 100644
>>     > ---
>>     > a/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
>>     > +++
>>     > b/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
>>     > @@ -695,8 +695,9 @@
>>     >                           for (Iterator<S> i = allSessions(); i.hasNext();) {
>>     >                               IoSession session = i.next();
>>     >
>>     > +                            scheduleRemove((S) session);
>>     > +
>>     >                               if (session.isActive()) {
>>     > -                                scheduleRemove((S) session);
>>     >                                   hasKeys = true;
>>     >                               }
>>     >                           }
>>     >
>>     >
>>
>

-- 
Christoph John
Development & Support
T +49 241 557080-28
christoph.john@macd.com

MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
www.macd.com

Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663
Geschäftsführer: George Macdonald


Re: leaking NioProcessors/NioSocketConnectors hanging in call to dispose - DIRMINA-1076

Posted by Christoph John <ch...@macd.com>.
Of course, no problem. Thanks and cheers! ;)

Chris.

On 12/02/18 16:24, Jonathan Valliere wrote:
> Brilliant, that session counter assertion is already paying off.  I won’t be able to look at it 
> before next weekend.  Regular work-work during the week and all.  Cheers!
>
> On Mon, Feb 12, 2018 at 8:02 AM, Christoph John <christoph.john@macd.com 
> <ma...@macd.com>> wrote:
>
>     Hi Jonathan,
>
>     thanks again for your work on DIRMINA-1076. I think I might have encountered a related case
>     and openend DIRMINA-1077for it.
>
>     Thanks in advance and best regards,
>     Christoph.
>
>
>

-- 
Christoph John
Development & Support
T +49 241 557080-28
christoph.john@macd.com

MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
www.macd.com

Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663
Geschäftsführer: George Macdonald


Re: leaking NioProcessors/NioSocketConnectors hanging in call to dispose - DIRMINA-1076

Posted by Jonathan Valliere <jo...@emoten.com>.
Brilliant, that session counter assertion is already paying off.  I won’t
be able to look at it before next weekend.  Regular work-work during the
week and all.  Cheers!

On Mon, Feb 12, 2018 at 8:02 AM, Christoph John <ch...@macd.com>
wrote:

> Hi Jonathan,
>
> thanks again for your work on DIRMINA-1076. I think I might have
> encountered a related case and openend DIRMINA-1077for it.
>
> Thanks in advance and best regards,
> Christoph.
>
>
>
> On 09/02/18 15:22, Christoph John wrote:
>
>> OK, no problem. Just created https://issues.apache.org/jira
>> /browse/DIRMINA-1076
>>
>> Thanks in advanceand best regards,
>> Chris.
>>
>>
>> On 09/02/18 15:11, Jonathan Valliere wrote:
>>
>>> If there isn’t a ticket in JIRA, please create one.  I’d prefer to work
>>> there instead of email.
>>>
>>>
>>> On Fri, Feb 9, 2018 at 8:56 AM Christoph John <christoph.john@macd.com
>>> <ma...@macd.com>> wrote:
>>>
>>>     Yes, that is the patch that I attached. It is simply executing the
>>> test in
>>>     AbstractIoServiceTest in
>>>     a loop.
>>>
>>>     Thanks,
>>>     Chris.
>>>
>>>     On 09/02/18 14:47, Jonathan Valliere wrote:
>>>     > It’s been a while, I forget, is there code to run the brute force
>>> test available?
>>>     >
>>>     > On Fri, Feb 9, 2018 at 7:56 AM Christoph John <
>>> christoph.john@macd.com
>>>     <ma...@macd.com>
>>>     > <mailto:christoph.john@macd.com <ma...@macd.com>>>
>>> wrote:
>>>     >
>>>     >     Hi againafter some time. ;)
>>>     >
>>>     >     I was now able to reproduce the problem with a MINA test. Or
>>> let's say I did the brute-force
>>>     >     approach by re-running one test in an endless loop.
>>>     >     I have attached apatch of the test (against
>>> https://github.com/apache/mina/tree/2.0
>>>     <https://github.com/apache/mina/tree/2.0>) and a
>>>     >     stack trace. After a few loops the test is stuck. You can see
>>> a lot of threads hanging in
>>>     >     dispose() and the test is stuck when it tries to dispose the
>>> acceptor.
>>>     >
>>>     >     What is a little strange is that the javadoc says that
>>> connector.dispose(TRUE) should not be
>>>     >     called from an IoFutureListener, but in the test it is done
>>> anyway. However, changing the
>>>     >     parameter to FALSE does not help either.
>>>     >
>>>     >     Is there anything that can be done to prevent this hang?
>>>     >
>>>     >     Many thanks in advance for your help and best regards,
>>>     >     Chris.
>>>     >
>>>     >
>>>
>>>
>>
> --
> Christoph John
> Development & Support
> T +49 241 557080-28
> christoph.john@macd.com
>
> MACD GmbH
> Oppenhoffallee 103
> D-52066 Aachen
> www.macd.com
>
> Amtsgericht Aachen: HRB 8151
> Ust.-Id: DE 813021663
> Geschäftsführer: George Macdonald
>
>

Re: leaking NioProcessors/NioSocketConnectors hanging in call to dispose - DIRMINA-1076

Posted by Christoph John <ch...@macd.com>.
Hi Jonathan,

thanks again for your work on DIRMINA-1076. I think I might have encountered a related case and 
openend DIRMINA-1077for it.

Thanks in advance and best regards,
Christoph.


On 09/02/18 15:22, Christoph John wrote:
> OK, no problem. Just created https://issues.apache.org/jira/browse/DIRMINA-1076
>
> Thanks in advanceand best regards,
> Chris.
>
>
> On 09/02/18 15:11, Jonathan Valliere wrote:
>> If there isn’t a ticket in JIRA, please create one.  I’d prefer to work there instead of email.
>>
>>
>> On Fri, Feb 9, 2018 at 8:56 AM Christoph John <christoph.john@macd.com 
>> <ma...@macd.com>> wrote:
>>
>>     Yes, that is the patch that I attached. It is simply executing the test in
>>     AbstractIoServiceTest in
>>     a loop.
>>
>>     Thanks,
>>     Chris.
>>
>>     On 09/02/18 14:47, Jonathan Valliere wrote:
>>     > It’s been a while, I forget, is there code to run the brute force test available?
>>     >
>>     > On Fri, Feb 9, 2018 at 7:56 AM Christoph John <christoph.john@macd.com
>>     <ma...@macd.com>
>>     > <mailto:christoph.john@macd.com <ma...@macd.com>>> wrote:
>>     >
>>     >     Hi againafter some time. ;)
>>     >
>>     >     I was now able to reproduce the problem with a MINA test. Or let's say I did the 
>> brute-force
>>     >     approach by re-running one test in an endless loop.
>>     >     I have attached apatch of the test (against https://github.com/apache/mina/tree/2.0
>>     <https://github.com/apache/mina/tree/2.0>) and a
>>     >     stack trace. After a few loops the test is stuck. You can see a lot of threads hanging in
>>     >     dispose() and the test is stuck when it tries to dispose the acceptor.
>>     >
>>     >     What is a little strange is that the javadoc says that connector.dispose(TRUE) should 
>> not be
>>     >     called from an IoFutureListener, but in the test it is done anyway. However, changing the
>>     >     parameter to FALSE does not help either.
>>     >
>>     >     Is there anything that can be done to prevent this hang?
>>     >
>>     >     Many thanks in advance for your help and best regards,
>>     >     Chris.
>>     >
>>     >
>>
>

-- 
Christoph John
Development & Support
T +49 241 557080-28
christoph.john@macd.com

MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
www.macd.com

Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663
Geschäftsführer: George Macdonald


Re: leaking NioProcessors/NioSocketConnectors hanging in call to dispose - DIRMINA-1076

Posted by Christoph John <ch...@macd.com>.
OK, no problem. Just created https://issues.apache.org/jira/browse/DIRMINA-1076

Thanks in advanceand best regards,
Chris.


On 09/02/18 15:11, Jonathan Valliere wrote:
> If there isn’t a ticket in JIRA, please create one.  I’d prefer to work there instead of email.
>
>
> On Fri, Feb 9, 2018 at 8:56 AM Christoph John <christoph.john@macd.com 
> <ma...@macd.com>> wrote:
>
>     Yes, that is the patch that I attached. It is simply executing the test in
>     AbstractIoServiceTest in
>     a loop.
>
>     Thanks,
>     Chris.
>
>     On 09/02/18 14:47, Jonathan Valliere wrote:
>     > It’s been a while, I forget, is there code to run the brute force test available?
>     >
>     > On Fri, Feb 9, 2018 at 7:56 AM Christoph John <christoph.john@macd.com
>     <ma...@macd.com>
>     > <mailto:christoph.john@macd.com <ma...@macd.com>>> wrote:
>     >
>     >     Hi againafter some time. ;)
>     >
>     >     I was now able to reproduce the problem with a MINA test. Or let's say I did the brute-force
>     >     approach by re-running one test in an endless loop.
>     >     I have attached apatch of the test (against https://github.com/apache/mina/tree/2.0
>     <https://github.com/apache/mina/tree/2.0>) and a
>     >     stack trace. After a few loops the test is stuck. You can see a lot of threads hanging in
>     >     dispose() and the test is stuck when it tries to dispose the acceptor.
>     >
>     >     What is a little strange is that the javadoc says that connector.dispose(TRUE) should not be
>     >     called from an IoFutureListener, but in the test it is done anyway. However, changing the
>     >     parameter to FALSE does not help either.
>     >
>     >     Is there anything that can be done to prevent this hang?
>     >
>     >     Many thanks in advance for your help and best regards,
>     >     Chris.
>     >
>     >
>

-- 
Christoph John
Development & Support
T +49 241 557080-28
christoph.john@macd.com

MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
www.macd.com

Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663
Geschäftsführer: George Macdonald


Re: leaking NioProcessors/NioSocketConnectors hanging in call to dispose

Posted by Jonathan Valliere <jo...@emoten.com>.
If there isn’t a ticket in JIRA, please create one.  I’d prefer to work
there instead of email.


On Fri, Feb 9, 2018 at 8:56 AM Christoph John <ch...@macd.com>
wrote:

> Yes, that is the patch that I attached. It is simply executing the test in
> AbstractIoServiceTest in
> a loop.
>
> Thanks,
> Chris.
>
> On 09/02/18 14:47, Jonathan Valliere wrote:
> > It’s been a while, I forget, is there code to run the brute force test
> available?
> >
> > On Fri, Feb 9, 2018 at 7:56 AM Christoph John <christoph.john@macd.com
> > <ma...@macd.com>> wrote:
> >
> >     Hi againafter some time. ;)
> >
> >     I was now able to reproduce the problem with a MINA test. Or let's
> say I did the brute-force
> >     approach by re-running one test in an endless loop.
> >     I have attached apatch of the test (against
> https://github.com/apache/mina/tree/2.0) and a
> >     stack trace. After a few loops the test is stuck. You can see a lot
> of threads hanging in
> >     dispose() and the test is stuck when it tries to dispose the
> acceptor.
> >
> >     What is a little strange is that the javadoc says that
> connector.dispose(TRUE) should not be
> >     called from an IoFutureListener, but in the test it is done anyway.
> However, changing the
> >     parameter to FALSE does not help either.
> >
> >     Is there anything that can be done to prevent this hang?
> >
> >     Many thanks in advance for your help and best regards,
> >     Chris.
> >
> >
> >     On 15/12/17 13:04, Christoph John wrote:
> >>     Hi again,
> >>
> >>     in the meantime I probably figured out where the problem is, but
> still have to do some more
> >>     teststo be sure.
> >>     I now have added logic to iterate over the managed sessions of an
> IoConnector and close them
> >>     before calling IoConnector.dispose().
> >>
> >>     I will let you know if this solved the problem.
> >>
> >>     Thanks,
> >>     Chris.
> >>
> >>     On 16/10/17 16:20, Jonathan Valliere wrote:
> >>>     If you can figure out a reproducible test case then I'm sure that
> we can fix it.
> >>>
> >>>     On Mon, Oct 16, 2017 at 10:01 AM Christoph John <
> christoph.john@macd.com
> >>>     <ma...@macd.com> <ma...@macd.com>
> >>>     <ma...@macd.com>> wrote:
> >>>
> >>>         Hi Emmanuel,
> >>>
> >>>         yes, but unfortunately it did not help.
> >>>
> >>>         Thanks,
> >>>         Chris.
> >>>
> >>>
> >>>         On 16/10/17 15:41, Emmanuel Lécharny wrote:
> >>>         > Hi Christoph,
> >>>         >
> >>>         >
> >>>         > have you tried with this patch ? :
> >>>         >
> >>>         >
> >>>         > diff --git
> >>>         > a/mina-core/src/main/java/org/apache/mina/core/polling/
> AbstractPollingIoProcessor.java
> >>>         > b/mina-core/src/main/java/org/apache/mina/core/polling/
> AbstractPollingIoProcessor.java
> >>>         > index 50ebd4e..575b2f4 100644
> >>>         > ---
> >>>         > a/mina-core/src/main/java/org/apache/mina/core/polling/
> AbstractPollingIoProcessor.java
> >>>         > +++
> >>>         > b/mina-core/src/main/java/org/apache/mina/core/polling/
> AbstractPollingIoProcessor.java
> >>>         > @@ -695,8 +695,9 @@
> >>>         >                           for (Iterator<S> i =
> allSessions(); i.hasNext();) {
> >>>         >                               IoSession session = i.next();
> >>>         >
> >>>         > + scheduleRemove((S) session);
> >>>         > +
> >>>         >                               if (session.isActive()) {
> >>>         > - scheduleRemove((S) session);
> >>>         >                                   hasKeys = true;
> >>>         >                               }
> >>>         >                           }
> >>>         >
> >>>         >
> >>>
> >>
> >
> >     --
> >     Christoph John
> >     Development & Support
> >     T +49 241 557080-28 <+49%20241%2055708028>
> >     christoph.john@macd.com <ma...@macd.com>
> >
> >     MACD GmbH
> >     Oppenhoffallee 103
> >     D-52066 Aachen
> >     www.macd.com <http://www.macd.com>
> >
> >     Amtsgericht Aachen: HRB 8151
> >     Ust.-Id: DE 813021663
> >     Geschäftsführer: George Macdonald
> >
>
> --
> Christoph John
> Development & Support
> T +49 241 557080-28 <+49%20241%2055708028>
> christoph.john@macd.com
>
> MACD GmbH
> Oppenhoffallee 103
> D-52066 Aachen
> www.macd.com
>
> Amtsgericht Aachen: HRB 8151
> Ust.-Id: DE 813021663
> Geschäftsführer: George Macdonald
>
>

Re: leaking NioProcessors/NioSocketConnectors hanging in call to dispose

Posted by Christoph John <ch...@macd.com>.
Yes, that is the patch that I attached. It is simply executing the test in AbstractIoServiceTest in 
a loop.

Thanks,
Chris.

On 09/02/18 14:47, Jonathan Valliere wrote:
> It’s been a while, I forget, is there code to run the brute force test available?
>
> On Fri, Feb 9, 2018 at 7:56 AM Christoph John <christoph.john@macd.com 
> <ma...@macd.com>> wrote:
>
>     Hi againafter some time. ;)
>
>     I was now able to reproduce the problem with a MINA test. Or let's say I did the brute-force
>     approach by re-running one test in an endless loop.
>     I have attached apatch of the test (against https://github.com/apache/mina/tree/2.0) and a
>     stack trace. After a few loops the test is stuck. You can see a lot of threads hanging in
>     dispose() and the test is stuck when it tries to dispose the acceptor.
>
>     What is a little strange is that the javadoc says that connector.dispose(TRUE) should not be
>     called from an IoFutureListener, but in the test it is done anyway. However, changing the
>     parameter to FALSE does not help either.
>
>     Is there anything that can be done to prevent this hang?
>
>     Many thanks in advance for your help and best regards,
>     Chris.
>
>
>     On 15/12/17 13:04, Christoph John wrote:
>>     Hi again,
>>
>>     in the meantime I probably figured out where the problem is, but still have to do some more
>>     teststo be sure.
>>     I now have added logic to iterate over the managed sessions of an IoConnector and close them
>>     before calling IoConnector.dispose().
>>
>>     I will let you know if this solved the problem.
>>
>>     Thanks,
>>     Chris.
>>
>>     On 16/10/17 16:20, Jonathan Valliere wrote:
>>>     If you can figure out a reproducible test case then I'm sure that we can fix it.
>>>
>>>     On Mon, Oct 16, 2017 at 10:01 AM Christoph John <christoph.john@macd.com
>>>     <ma...@macd.com> <ma...@macd.com>
>>>     <ma...@macd.com>> wrote:
>>>
>>>         Hi Emmanuel,
>>>
>>>         yes, but unfortunately it did not help.
>>>
>>>         Thanks,
>>>         Chris.
>>>
>>>
>>>         On 16/10/17 15:41, Emmanuel Lécharny wrote:
>>>         > Hi Christoph,
>>>         >
>>>         >
>>>         > have you tried with this patch ? :
>>>         >
>>>         >
>>>         > diff --git
>>>         > a/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
>>>         > b/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
>>>         > index 50ebd4e..575b2f4 100644
>>>         > ---
>>>         > a/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
>>>         > +++
>>>         > b/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
>>>         > @@ -695,8 +695,9 @@
>>>         >                           for (Iterator<S> i = allSessions(); i.hasNext();) {
>>>         >                               IoSession session = i.next();
>>>         >
>>>         > + scheduleRemove((S) session);
>>>         > +
>>>         >                               if (session.isActive()) {
>>>         > - scheduleRemove((S) session);
>>>         >                                   hasKeys = true;
>>>         >                               }
>>>         >                           }
>>>         >
>>>         >
>>>
>>
>
>     -- 
>     Christoph John
>     Development & Support
>     T +49 241 557080-28
>     christoph.john@macd.com <ma...@macd.com>
>
>     MACD GmbH
>     Oppenhoffallee 103
>     D-52066 Aachen
>     www.macd.com <http://www.macd.com>
>
>     Amtsgericht Aachen: HRB 8151
>     Ust.-Id: DE 813021663
>     Geschäftsführer: George Macdonald
>

-- 
Christoph John
Development & Support
T +49 241 557080-28
christoph.john@macd.com

MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
www.macd.com

Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663
Geschäftsführer: George Macdonald


Re: leaking NioProcessors/NioSocketConnectors hanging in call to dispose

Posted by Jonathan Valliere <jo...@emoten.com>.
It’s been a while, I forget, is there code to run the brute force test
available?

On Fri, Feb 9, 2018 at 7:56 AM Christoph John <ch...@macd.com>
wrote:

> Hi again after some time. ;)
>
> I was now able to reproduce the problem with a MINA test. Or let's say I did
> the brute-force approach by re-running one test in an endless loop.
> I have attached a patch of the test (against
> https://github.com/apache/mina/tree/2.0) and a stack trace. After a few
> loops the test is stuck. You can see a lot of threads hanging in dispose()
> and the test is stuck when it tries to dispose the acceptor.
>
> What is a little strange is that the javadoc says that connector.dispose(
> TRUE) should not be called from an IoFutureListener, but in the test it
> is done anyway. However, changing the parameter to FALSE does not help
> either.
>
> Is there anything that can be done to prevent this hang?
>
> Many thanks in advance for your help and best regards,
> Chris.
>
>
> On 15/12/17 13:04, Christoph John wrote:
>
> Hi again,
>
> in the meantime I probably figured out where the problem is, but still
> have to do some more teststo be sure.
> I now have added logic to iterate over the managed sessions of an
> IoConnector and close them before calling IoConnector.dispose().
>
> I will let you know if this solved the problem.
>
> Thanks,
> Chris.
>
> On 16/10/17 16:20, Jonathan Valliere wrote:
>
> If you can figure out a reproducible test case then I'm sure that we can
> fix it.
>
> On Mon, Oct 16, 2017 at 10:01 AM Christoph John <christoph.john@macd.com
> <ma...@macd.com> <ch...@macd.com>> wrote:
>
>     Hi Emmanuel,
>
>     yes, but unfortunately it did not help.
>
>     Thanks,
>     Chris.
>
>
>     On 16/10/17 15:41, Emmanuel Lécharny wrote:
>     > Hi Christoph,
>     >
>     >
>     > have you tried with this patch ? :
>     >
>     >
>     > diff --git
>     >
> a/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
>     >
> b/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
>     > index 50ebd4e..575b2f4 100644
>     > ---
>     >
> a/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
>     > +++
>     >
> b/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
>     > @@ -695,8 +695,9 @@
>     >                           for (Iterator<S> i = allSessions();
> i.hasNext();) {
>     >                               IoSession session = i.next();
>     >
>     > +                            scheduleRemove((S) session);
>     > +
>     >                               if (session.isActive()) {
>     > -                                scheduleRemove((S) session);
>     >                                   hasKeys = true;
>     >                               }
>     >                           }
>     >
>     >
>
>
>
> --
> Christoph John
> Development & Support
> T +49 241 557080-28christoph.john@macd.com
>
> MACD GmbH
> Oppenhoffallee 103
> D-52066 Aachenwww.macd.com
>
> Amtsgericht Aachen: HRB 8151
> Ust.-Id: DE 813021663
> Geschäftsführer: George Macdonald
>
>