<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 07/15/2013 06:19 PM,
      <a class="moz-txt-link-abbreviated" href="mailto:Martin.Azkarate@esa.int">Martin.Azkarate@esa.int</a> wrote:<br>
    </div>
    <blockquote
cite="mid:18845_1373905164_51E4210C_18845_4982_1_OFC46D8048.2225DFCF-ONC1257BA9.0055BF78-C1257BA9.0059ACCC@esa.int"
      type="cite">
      <meta http-equiv="Context-Type" content="text/html;
        charset=ISO-8859-1">
      Hello there,
      <br>
      <br>
      Thank you for your comments, the component
      is running *almost* properly now. Long story short, I was not
      allocating
      the memory for the FramePair structure correctly.
      <br>
      <br>
      The execution and the data in the output
      port is correct, however, I still have a problem when exiting the
      component.
      When the destructor Task class is called I get a pretty ugly error
      starting
      by:
      <br>
      <br>
      *** glibc detected *** /.../orogen_default__Task:
      free(): invalid pointer
      <br>
      <br>
      and followed by a backtrace and a memory
      map. I guess the error has to do with the fact that I am not
      de-allocating
      the memory properly. I tried doing so in the cleanupHook without
      success
      though. Here below is the code from the Task.cpp (only coded
      Hooks). How
      should I de-allocate the memory for the frame_pair structure?
      <br>
      <br>
      &lt;code&gt;
      <br>
      <br>
      bool Task::configureHook()<br>
      {<br>
      &nbsp;&nbsp;&nbsp; if (! TaskBase::configureHook())<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>
      &nbsp;&nbsp;&nbsp; <br>
      &nbsp;&nbsp;&nbsp; index_frame=0;<br>
      &nbsp;&nbsp;&nbsp; <br>
      &nbsp;&nbsp;&nbsp; base::Time t;<br>
      &nbsp;&nbsp;&nbsp; frame_pair.time = t.now(); &nbsp; &nbsp; &nbsp; &nbsp;
      &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//! frame_pair is defined in Task.hpp
      as a FramePair structure type.<br>
      &nbsp;&nbsp;&nbsp;
frame_pair.first.init(_width.value(),_height.value(),_channel_data_depth.value(),_output_format.value());<br>
      &nbsp;&nbsp;&nbsp;
frame_pair.second.init(_width.value(),_height.value(),_channel_data_depth.value(),_output_format.value());<br>
      &nbsp;&nbsp;&nbsp; <a moz-do-not-send="true" href="http://frame_pair.id/"><u>frame_pair.id</u></a>
      = 0;<br>
      &nbsp;&nbsp;&nbsp; output_frame_pair.reset(&amp;frame_pair);<br>
      <br>
      &nbsp;&nbsp;&nbsp; if (_undistort.value())<br>
      &nbsp;&nbsp;&nbsp; {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; undistort_image = true;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stereo_calibration = _calibration_parameters;<br>
      &nbsp;&nbsp;&nbsp; }
      <br>
      <br>
      &nbsp;&nbsp;&nbsp; return true;<br>
      }<br>
      <br>
      void Task::updateHook()<br>
      {<br>
      &nbsp;&nbsp;&nbsp; TaskBase::updateHook();<br>
      <br>
      &nbsp;&nbsp;&nbsp; if (_frame_in.read(input_frame)==RTT::NewData)<br>
      &nbsp;&nbsp;&nbsp; {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Frame* left = new Frame(input_frame-&gt;size.width,
      input_frame-&gt;size.height, 8, input_frame-&gt;frame_mode);<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Frame* right = new Frame(input_frame-&gt;size.width,
      input_frame-&gt;size.height, 8, input_frame-&gt;frame_mode);<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; deInterlace(*input_frame,*left,*right);<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FramePair*
      frame_pair_ptr=output_frame_pair.write_access();<br>
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (undistort_image)<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      frame_helper.setCalibrationParameter(stereo_calibration.camLeft);<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; frame_helper.convert(*left,
      frame_pair_ptr-&gt;first, 0, 0, frame_helper::INTER_LINEAR, true);<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
      &nbsp;frame_helper.setCalibrationParameter(stereo_calibration.camRight);<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; frame_helper.convert(*right,
      frame_pair_ptr-&gt;second, 0, 0, frame_helper::INTER_LINEAR
      ,true);<br>
      &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; }<br>
      &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; else<br>
      &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;{<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; frame_helper.convert(*left,
      frame_pair_ptr-&gt;first, 0, 0, frame_helper::INTER_LINEAR,
      false);<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; frame_helper.convert(*right,
      frame_pair_ptr-&gt;second, 0, 0, frame_helper::INTER_LINEAR,
      false);<br>
      &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;}
      <br>
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; frame_pair_ptr-&gt;id=index_frame++;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; frame_pair_ptr-&gt;time = input_frame-&gt;time;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; output_frame_pair.reset(frame_pair_ptr);<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _frame_out.write(output_frame_pair);<br>
      &nbsp;&nbsp;&nbsp; }<br>
      }<br>
      <br>
      void Task::cleanupHook()<br>
      {<br>
      &nbsp;&nbsp;&nbsp; TaskBase::cleanupHook();
      <br>
      &nbsp; &nbsp; <i>/// I tried deleting frame_pair and similar
        things here...</i><br>
      }
      <br>
      <br>
      &lt;/code&gt;
      <br>
      <br>
      <b>Any ideas about what to put in the
        cleanupHook or class destructor to avoid the error at exit?</b>
      <br>
    </blockquote>
    This should not happen. Use valgrind to find invalid memory access
    or multiple deletion of the same object.<br>
    <br>
    Greets Alex<br>
    <br>
    <br>
    <blockquote
cite="mid:18845_1373905164_51E4210C_18845_4982_1_OFC46D8048.2225DFCF-ONC1257BA9.0055BF78-C1257BA9.0059ACCC@esa.int"
      type="cite">
      <br>
      Thanks again for your support,<br>
      <p>Martin Azkarate
      </p>
      <p><b>ESA - European Space Agency</b><br>
        Spanish Trainee, TEC-MMA - Automation and Robotics Section </p>
      <p><b>ESTEC - European Space
          research and TEchnology Centre</b><br>
        Keplerlaan 1, PO Box 299 <br>
        NL-2200 AG Noordwijk, The Netherlands <br>
        <a class="moz-txt-link-abbreviated" href="mailto:Martin.Azkarate@esa.int">Martin.Azkarate@esa.int</a> | <a moz-do-not-send="true">www.esa.int</a>
        <br>
        Tel +31 71 565 3480 | Mob +31 650 625 564 <br>
        <br>
        <br>
        <br>
        From: &nbsp; &nbsp; &nbsp;
        &nbsp;Javier Hidalgo Carri&oacute;
        <a class="moz-txt-link-rfc2396E" href="mailto:javier.hidalgo_carrio@dfki.de">&lt;javier.hidalgo_carrio@dfki.de&gt;</a>
        <br>
        To: &nbsp; &nbsp; &nbsp;
        &nbsp;<a class="moz-txt-link-abbreviated" href="mailto:Martin.Azkarate@esa.int">Martin.Azkarate@esa.int</a>
        <br>
        Cc: &nbsp; &nbsp; &nbsp;
        &nbsp;<a class="moz-txt-link-abbreviated" href="mailto:rock-dev@dfki.de">rock-dev@dfki.de</a>
        <br>
        Date: &nbsp; &nbsp; &nbsp;
        &nbsp;15/07/2013 09:39
        <br>
        Subject: &nbsp; &nbsp;
        &nbsp; &nbsp;Re: [Rock-dev]
        using FramePair structure to output two frames &nbsp; &nbsp; &nbsp; &nbsp;together
        <br>
        Sent by: &nbsp; &nbsp;
        &nbsp; &nbsp;<a class="moz-txt-link-abbreviated" href="mailto:rock-dev-bounces@dfki.de">rock-dev-bounces@dfki.de</a>
        <br>
      </p>
      <hr>
      <br>
      <br>
      <br>
      Hello Martin,<br>
      <br>
      Since you have a segmentation fault (Signal 11). Did you debug the
      code
      with gdb looking to the backtrace?<br>
      Here it is explained how to do it:<br>
      <u><br>
      </u><a moz-do-not-send="true"
href="http://rock.opendfki.de/wiki/WikiStart/Troubleshooting/DebuggingTechniques"><u>http://rock.opendfki.de/wiki/WikiStart/Troubleshooting/DebuggingTechniques</u></a><br>
      <br>
      <br>
      Nevertheless,:<br>
      <br>
      &nbsp; &nbsp; &nbsp; &nbsp;FramePair* frame_pair;<br>
      &nbsp; &nbsp; &nbsp; &nbsp;frame_pair-&gt;time=input_frame-&gt;time;<br>
      <br>
      To which object is frame_pair pointing to?<br>
      <br>
      Regards, <br>
      <br>
      Javier.<br>
      <br>
      On 07/12/2013 05:14 PM, <a moz-do-not-send="true"
        href="mailto:Martin.Azkarate@esa.int"><u>Martin.Azkarate@esa.int</u></a>
      wrote:
      <br>
      Hello,<br>
      <br>
      I have the following code that works fine to separate two
      interlaced images
      that arrive in a single port and separates them into two frames
      that are
      sent out in two different ports:<br>
      <br>
      void Task::updateHook()<br>
      {<br>
      &nbsp; &nbsp;TaskBase::updateHook();<br>
      &nbsp; <br>
      &nbsp; &nbsp;if (_frame_in.read(input_frame)==RTT::NewData)<br>
      &nbsp; &nbsp;{<br>
      &nbsp; &nbsp;Frame* left = new Frame(input_frame-&gt;size.width,
      input_frame-&gt;size.height,
      8, input_frame-&gt;frame_mode);<br>
      &nbsp; &nbsp;Frame* right = new Frame(input_frame-&gt;size.width,
      input_frame-&gt;size.height,
      8, input_frame-&gt;frame_mode);<br>
      &nbsp; &nbsp;deInterlace(*input_frame,*left,*right);<br>
      &nbsp; &nbsp;Frame* &nbsp;left_gray = new Frame(left-&gt;size.width,
      left-&gt;size.height,
      8, MODE_GRAYSCALE);<br>
      &nbsp; &nbsp;Frame* &nbsp;right_gray = new Frame(right-&gt;size.width,
      right-&gt;size.height, 8, MODE_GRAYSCALE);<br>
      &nbsp; &nbsp;frame_helper.convertColor(*left,*left_gray);<br>
      &nbsp; &nbsp;frame_helper.convertColor(*right,*right_gray);<br>
      &nbsp; &nbsp;frame_left.reset(left_gray);<br>
      &nbsp; &nbsp;frame_right.reset(right_gray);<br>
      &nbsp; &nbsp;_frame_left.write(frame_left);<br>
      &nbsp; &nbsp;_frame_right.write(frame_right);<br>
      &nbsp; &nbsp;}<br>
      }<br>
      <br>
      void Task::deInterlace(const base::samples::frame::Frame
      &amp;input, base::samples::frame::Frame
      &amp;left, base::samples::frame::Frame &amp;right)<br>
      { <br>
      &nbsp; &nbsp;//! Note: input frame has a data depth of 16bits while the
      left and right have a data depth of 8 bits. Bytes in the input
      frame are
      mixed in order, one byte from the left, one byte from the right,
      and so
      on. <br>
      &nbsp; &nbsp;//! So in "one pixel" of 16bits of the input frame
      there are "two pixels" of 8bits one of each left and right frames.<br>
      &nbsp; &nbsp;uint32_t width=(input.size.width*2);<br>
      &nbsp; &nbsp;uint32_t height=input.size.height;<br>
      <br>
      &nbsp; &nbsp;int i = (width*height)-1;<br>
      &nbsp; &nbsp;int j = ((width*height)&gt;&gt;1)-1;<br>
      <br>
      &nbsp; &nbsp;while (i &gt;= 0) {<br>
      &nbsp; &nbsp; &nbsp; &nbsp;right.image[j] = input.image[i--];<br>
      &nbsp; &nbsp; &nbsp; &nbsp;left.image[j--] = input.image[i--];<br>
      &nbsp; &nbsp;}<br>
      &nbsp; &nbsp;<br>
      &nbsp; &nbsp;left.copyImageIndependantAttributes(input);<br>
      &nbsp; &nbsp;right.copyImageIndependantAttributes(input);<br>
      <br>
      }<br>
      <br>
      input_frame, frame_left and frame_right are ReadOnlyPointers of
      type Frame
      defined in Task.hpp. Rest of the Hooks are empty/default.<u><br>
        <br>
        Question</u>: Even thought this does the work for me, I would
      like to know
      if this is a correct way of doing it. Mostly regarding the
      creation of
      several Frame pointers and allocation of memory for those in the
      middle
      of the updateHook? (This is actually important because it is
      related to
      the question below)<br>
      <br>
      Now, I would like to send out both images left and right in a
      single port
      using the structure FramePair, to make sure that they arrive
      together to
      the stereo processing component with a single timestamp for both
      (as they
      were both taken at the same time by a stereo camera). However, I
      have tried
      to replicate the same logic using the FramePair structure and
      always got
      errors in execution (compilation is ok).<br>
      <br>
      Changing the last part of the updateHook to the following:<br>
      <br>
      void Task::updateHook()<br>
      {<br>
      &nbsp; &nbsp;TaskBase::updateHook();<br>
      &nbsp; <br>
      &nbsp; &nbsp;if (_frame_in.read(input_frame)==RTT::NewData)<br>
      &nbsp; &nbsp;{<br>
      &nbsp; &nbsp;Frame* left = new Frame(input_frame-&gt;size.width,
      input_frame-&gt;size.height,
      8, input_frame-&gt;frame_mode);<br>
      &nbsp; &nbsp;Frame* right = new Frame(input_frame-&gt;size.width,
      input_frame-&gt;size.height,
      8, input_frame-&gt;frame_mode);<br>
      &nbsp; &nbsp;deInterlace(*input_frame,*left,*right);<br>
      &nbsp; &nbsp;Frame* &nbsp;left_gray = new Frame(left-&gt;size.width,
      left-&gt;size.height,
      8, MODE_GRAYSCALE);<br>
      &nbsp; &nbsp;Frame* &nbsp;right_gray = new Frame(right-&gt;size.width,
      right-&gt;size.height, 8, MODE_GRAYSCALE);<br>
      &nbsp; &nbsp;frame_helper.convertColor(*left,*left_gray);<br>
      &nbsp; &nbsp;frame_helper.convertColor(*right,*right_gray);<br>
      &nbsp; &nbsp;FramePair* frame_pair;<br>
      &nbsp; &nbsp;frame_pair-&gt;id=index_frame++; &nbsp;//! index_frame is
      defined in Task.hpp and initialized to 0 in configureHook.<br>
      &nbsp; &nbsp;frame_pair-&gt;time = input_frame-&gt;time;<br>
      &nbsp; &nbsp;frame_pair-&gt;first = *left_gray;<br>
      &nbsp; &nbsp;frame_pair-&gt;second = *right_gray;<br>
      &nbsp; &nbsp;output_frame_pair.reset(frame_pair); //! output_frame_pair
      is also a ReadOnlyPointer in Task.hpp<br>
      &nbsp; &nbsp;_frame_out.write(output_frame_pair);<br>
      &nbsp; &nbsp;}<br>
      }<br>
      <br>
      gives me the following error when I run it: Orocos[WARN]:
      deployment <i>[myTaskContext]</i>
      unexpectedly terminated with signal 11<br>
      <br>
      After trying several ways of assigning the frames's data to the
      frame_pair
      structure without success I understood I was not using FramePair
      the right
      way. So I tried something very simple as:<br>
      <br>
      void Task::updateHook()<br>
      {<br>
      &nbsp; &nbsp;TaskBase::updateHook(); &nbsp; <br>
      <br>
      &nbsp; &nbsp;if (_frame_in.read(input_frame)==RTT::NewData)<br>
      &nbsp; &nbsp;{<br>
      &nbsp; &nbsp; &nbsp; &nbsp;FramePair* frame_pair;<br>
      &nbsp; &nbsp; &nbsp; &nbsp;frame_pair-&gt;time=input_frame-&gt;time;<br>
      &nbsp; &nbsp; &nbsp; &nbsp;frame_pair-&gt;id=index_frame++;<br>
      &nbsp; &nbsp; &nbsp; &nbsp;frame_pair-&gt;first.init(1024,768,8,MODE_GRAYSCALE);<br>
      &nbsp; &nbsp; &nbsp; &nbsp;frame_pair-&gt;second.init(1024,768,8,MODE_GRAYSCALE);<br>
      &nbsp; &nbsp; &nbsp; &nbsp;output_frame_pair.reset(frame_pair);<br>
      &nbsp; &nbsp; &nbsp; &nbsp;_frame_out.write(output_frame_pair);<br>
      &nbsp; &nbsp;}<br>
      }<br>
      <br>
      And it gives the same error as above and actually the execution
      stops before
      the end of the updateHook at the line where the first.init()
      function is
      called.<br>
      <br>
      I make it even simpler:<br>
      <br>
      void Task::updateHook()<br>
      {<br>
      &nbsp; &nbsp;TaskBase::updateHook(); &nbsp; <br>
      <br>
      &nbsp; &nbsp;if (_frame_in.read(input_frame)==RTT::NewData)<br>
      &nbsp; &nbsp;{<br>
      &nbsp; &nbsp; &nbsp; &nbsp;FramePair* frame_pair;<br>
      &nbsp; &nbsp; &nbsp; &nbsp;frame_pair-&gt;time=input_frame-&gt;time;<br>
      &nbsp; &nbsp; &nbsp; &nbsp;frame_pair-&gt;id=index_frame++;<br>
      &nbsp; &nbsp; &nbsp; &nbsp;output_frame_pair.reset(frame_pair);<br>
      &nbsp; &nbsp; &nbsp; &nbsp;_frame_out.write(output_frame_pair);<br>
      &nbsp; &nbsp;}<br>
      }<br>
      <br>
      I get the same error when exiting the updateHook.<u><br>
        <br>
        Question:</u> What is it that I am missing about FramePair
      structure that
      makes it so different to the Frame structure when it comes to
      memory allocation?
      Somebody can put some light in this?<br>
      <br>
      Thank you very much for your attention,<br>
      <br>
      Martin<br>
      <p>Martin Azkarate
      </p>
      <p><b>ESA - European Space Agency</b><br>
        Spanish Trainee, TEC-MMA - Automation and Robotics Section </p>
      <p><b>ESTEC - European Space
          research and TEchnology Centre</b><br>
        Keplerlaan 1, PO Box 299 <br>
        NL-2200 AG Noordwijk, The Netherlands <u><br>
        </u><a moz-do-not-send="true"
          href="mailto:Martin.Azkarate@esa.int"><u>Martin.Azkarate@esa.int</u></a>
        | <a moz-do-not-send="true"><u>www.esa.int</u></a>
        <br>
        Tel +31 71 565 3480 | Mob +31 650 625 564 </p>
      <p><tt>This message and any attachments are intended for the
          use of the addressee or addressees only. The unauthorised
          disclosure, use,
          dissemination or copying (either in whole or in part) of its
          content is
          not permitted. If you received this message in error, please
          notify the
          sender and delete it from your system. Emails can be altered
          and their
          integrity cannot be guaranteed by the sender.<br>
          <br>
          Please consider the environment before printing this email.<br>
        </tt>
        <br>
        <br>
        <br>
        <tt>_______________________________________________<br>
          Rock-dev mailing list<br>
        </tt><a moz-do-not-send="true" href="mailto:Rock-dev@dfki.de"><tt><u>Rock-dev@dfki.de</u></tt></a><tt><br>
        </tt><a moz-do-not-send="true"
          href="http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev"><tt><u>http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev</u></tt></a><tt><br>
        </tt>
        <br>
        <br>
        <tt>_______________________________________________<br>
          Rock-dev mailing list<br>
          <a class="moz-txt-link-abbreviated" href="mailto:Rock-dev@dfki.de">Rock-dev@dfki.de</a><br>
        </tt><a moz-do-not-send="true"
          href="http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev"><tt>http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev</tt></a><tt><br>
        </tt>
        <br>
      </p>
      <pre>This message and any attachments are intended for the use of the addressee or addressees only. The unauthorised disclosure, use, dissemination or copying (either in whole or in part) of its content is not permitted. If you received this message in error, please notify the sender and delete it from your system. Emails can be altered and their integrity cannot be guaranteed by the sender.

Please consider the environment before printing this email.
</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Rock-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Rock-dev@dfki.de">Rock-dev@dfki.de</a>
<a class="moz-txt-link-freetext" href="http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev">http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev</a>
</pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Dipl.-Ing. Alexander Duda
Unterwasserrobotik

DFKI Bremen
Robotics Innovation Center
Robert-Hooke-Stra&szlig;e 5
28359 Bremen, Germany

Phone: +49 (0)421 178-456620
Fax:   +49 (0)421 178-454150
E-Mail: <a class="moz-txt-link-abbreviated" href="mailto:alexander.duda@dfki.de">alexander.duda@dfki.de</a>

Weitere Informationen: <a class="moz-txt-link-freetext" href="http://www.dfki.de/robotik">http://www.dfki.de/robotik</a>
-----------------------------------------------------------------------
Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
Firmensitz: Trippstadter Stra&szlig;e 122, D-67663 Kaiserslautern
Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
(Vorsitzender) Dr. Walter Olthoff
Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313
Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
USt-Id.Nr.:    DE 148646973
Steuernummer:  19/673/0060/3
</pre>
  </body>
</html>