Bugtracker DMXControl 3

  • Status Zugeteilt
  • Prozent erledigt
    0%
  • Aufgabentyp Fehlerbericht
  • Kategorie Server
  • zuständig
    Arne Lüdtke
  • Betriebssystem All
  • Schweregrad niedrig
  • Dringlichkeit normal
  • betrifft Version 3.1.1
  • fällig in Version unbestimmt
  • fällig am unbestimmt
  • Stimmen
  • versteckt
gehört zu Projekt: DMXControl 3
angelegt von Stefan Kistner - 12.06.2018

FS#3089 - TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht.

Weil ich auf die lustige Idee kam, im DDF für den Martin MAC 600 ein zweites Prisma definieren, habe ich im Kernel folgende Fehlermeldung produziert:

2018-06-12 22:51:23,407 [20] ERROR org.dmxc.lumos.Kernel.Command.ReflectionCommandFactory - TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht.
System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.InvalidOperationException: There are two Handlers for the same Property: Prism
   bei org.dmxc.lumos.Kernel.HAL.Handler.HandlerRegistry.BuildRegistry() in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\HAL\Handler\HandlerRegistry.cs:Zeile 196.
   bei org.dmxc.lumos.Kernel.HAL.Handler.HandlerRegistry.parseXmlFile(DDFParseContext context) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\HAL\Handler\HandlerRegistry.cs:Zeile 65.
   bei org.dmxc.lumos.Kernel.Devices.DeviceBeam..ctor(IDevice parentDevice, UInt32 beamNumber, DDFParseContext context) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Devices\DeviceBeam.cs:Zeile 82.
   bei org.dmxc.lumos.Kernel.Devices.DMXDevice.parseDDF(XmlDocument ddf, String filename) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Devices\DMXDevice.cs:Zeile 336.
   bei org.dmxc.lumos.Kernel.Devices.DMXDevice.set_DDFSourceFile(String value) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Devices\DMXDevice.cs:Zeile 118.
   bei org.dmxc.lumos.Kernel.Devices.Factory.DMXDeviceFactory.createNewInstance(DeviceMetadata m, IDevice parent) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Devices\Factory\DMXDeviceFactory.cs:Zeile 40.
   bei org.dmxc.lumos.Kernel.Project.DeviceManager.createNewDevice(DeviceMetadata data, IDevice parentDevice) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Project\DeviceManager.cs:Zeile 431.
   bei org.dmxc.lumos.Kernel.Project.DeviceManager.createNewDevice(DeviceMetadata data) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Project\DeviceManager.cs:Zeile 418.
   bei org.dmxc.lumos.Kernel.Command.KernelCommandFactory.createDevice(DeviceMetadata m) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Command\KernelCommandFactory.cs:Zeile 1049.
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   bei System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   bei org.dmxc.lumos.Kernel.Command.ReflectionCommandFactory.CommandPropertyBag.Invoke(CommandParameterList list) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Command\ReflectionCommandFactory.cs:Zeile 59.

Das DDF mit dem auskommentierten zweiten Prisma und die kompletten Logs der Sitzung sind beigefügt.

Project Manager
Arne Lüdtke schrieb am 14.06.2018 05:31

Ein DDF kann nur 1 Prisma haben. ein Gerät mit mehr als 1 Prisma habe ich noch nie gesehen. Wenn ich die Bedienungsanleitung gelesen habe, sind das Beam Shaper. Das sind keine Prismas oder?

Du kannst das aber als Effektrad modellieren.

	<effectwheel dmxchannel="6">
	  <effectindex />
	  <step type="open" mindmx="0" maxdmx="0" caption="Open" />
	  <step type="beamshaper" mindmx="1" maxdmx="255" caption="Beam shaper 1" >
	 	<range range="180" handler="prismindex" mindmx="1" maxdmx="255" />
	  </step>
	</effectwheel>
	<effectwheel dmxchannel="7">
	  <effectindex />
	  <step type="open" mindmx="0" maxdmx="0" caption="Open" />
	  <step type="beamshaper" mindmx="3" maxdmx="170" caption="Beam shaper 2" >
	 	<range range="90" handler="effectindex" mindmx="3" maxdmx="170" />
	  </step>
          <step type="frost" mindmx="171" maxdmx="255" " val="100" />
	</effectwheel >
Project Manager
Arne Lüdtke schrieb am 14.06.2018 05:31

Der oben genannte DDF Code ist ungetestet, sollte aber funktionieren. Falls nicht, dann bitte nochmal melden, dann schaue ich danach.

Stefan Kistner schrieb am 14.06.2018 06:28

Super! Danke dir Arne. Den Code schaue ich mir heute Abend nochmal an. An das Effektrad hatte ich jetzt gar nicht so gedacht...

Stefan Kistner schrieb am 15.06.2018 15:08

So... Nachdem ich nun ein paar kleine Flüchtigkeitsfehler bei dir im Code korrigiert und DMXControl 3 erst einmal grundsätzlich dazu gebracht habe, die DDF-Prüfung ohne Beanstandung zu durchlaufen, kommen aber nun bei folgendem Code im DDF

<effectwheel dmxchannel="6">
  <effectindex />
  <step type="open" mindmx="0" maxdmx="0" caption="Open" />
  <step type="beamshaper" mindmx="1" maxdmx="255" caption="Beam shaper 1" >
    <range range="180" handler="effectindex" mindmx="1" maxdmx="255" />
  </step>
</effectwheel>
<effectwheel dmxchannel="7">
  <effectindex />
  <step type="open" mindmx="0" maxdmx="0" caption="Open" />
  <step type="beamshaper" mindmx="3" maxdmx="170" caption="Beam shaper 2" >
    <range range="90" handler="effectindex" mindmx="3" maxdmx="170" />
  </step>
  <step type="frost" mindmx="171" maxdmx="255" val="100" caption="Frost" />
</effectwheel>

die folgenden Einträge im Log des Kernels:

2018-06-15 16:53:39,152 [42] ERROR org.dmxc.lumos.Kernel.HAL.Handler.Effect.AbstractEffectHandlerNode - The Icon 100 defined in the "val" Attribute in Node effectwheel doesn't exist!
2018-06-15 16:53:39,156 [42] ERROR org.dmxc.lumos.Kernel.Command.ReflectionCommandFactory - TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht.
System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.InvalidOperationException: There are two Handlers for the same Property: Beamshaper
   bei org.dmxc.lumos.Kernel.HAL.Handler.HandlerRegistry.BuildRegistry() in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\HAL\Handler\HandlerRegistry.cs:Zeile 196.
   bei org.dmxc.lumos.Kernel.HAL.Handler.HandlerRegistry.parseXmlFile(DDFParseContext context) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\HAL\Handler\HandlerRegistry.cs:Zeile 65.
   bei org.dmxc.lumos.Kernel.Devices.DeviceBeam..ctor(IDevice parentDevice, UInt32 beamNumber, DDFParseContext context) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Devices\DeviceBeam.cs:Zeile 82.
   bei org.dmxc.lumos.Kernel.Devices.DMXDevice.parseDDF(XmlDocument ddf, String filename) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Devices\DMXDevice.cs:Zeile 336.
   bei org.dmxc.lumos.Kernel.Devices.DMXDevice.set_DDFSourceFile(String value) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Devices\DMXDevice.cs:Zeile 118.
   bei org.dmxc.lumos.Kernel.Devices.Factory.DMXDeviceFactory.createNewInstance(DeviceMetadata m, IDevice parent) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Devices\Factory\DMXDeviceFactory.cs:Zeile 40.
   bei org.dmxc.lumos.Kernel.Project.DeviceManager.createNewDevice(DeviceMetadata data, IDevice parentDevice) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Project\DeviceManager.cs:Zeile 431.
   bei org.dmxc.lumos.Kernel.Project.DeviceManager.createNewDevice(DeviceMetadata data) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Project\DeviceManager.cs:Zeile 418.
   bei org.dmxc.lumos.Kernel.Command.KernelCommandFactory.createDevice(DeviceMetadata m) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Command\KernelCommandFactory.cs:Zeile 1049.
   --- Ende der internen Ausnahmestapelüberwachung ---
   bei System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   bei System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   bei org.dmxc.lumos.Kernel.Command.ReflectionCommandFactory.CommandPropertyBag.Invoke(CommandParameterList list) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Command\ReflectionCommandFactory.cs:Zeile 59.
2018-06-15 16:53:39,205 [42] ERROR org.dmxc.lumos.Kernel.Command.Command - Error while invoking Command: createDevice, Paras: 
System.InvalidOperationException: There are two Handlers for the same Property: Beamshaper
   bei org.dmxc.lumos.Kernel.Command.ReflectionCommandFactory.CommandPropertyBag.Invoke(CommandParameterList list) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Command\ReflectionCommandFactory.cs:Zeile 67.
   bei org.dmxc.lumos.Kernel.Command.Command.execute(Object[] paras) in D:\Jenkins\workspace\Lumos_Stable_Release\Lumos\Lumos\src\Kernel\Command\Command.cs:Zeile 130.

Was du noch zu diesem DDF wissen solltest: beide Beamshaper können gleichzeitig genutzt werden.

Bezüglich des Eintrags in der ersten Zeile des Logauszugs: ich glaube hier liegt eine doppelte Definition vor, wenn du zum einen Icons über das Attribut val einbinden möchtest, man val aber im anderen Kontext auch als festen Zahlenwert nutzen kann anstelle für minval und maxval die gleichen Werte zu verwenden.

Project Manager
Arne Lüdtke schrieb am 17.06.2018 19:28

Ich glaube der "Typ" ist das Problem. Nenn mal den 1. type="beamshaper1" und den 2. type="beamshaper2".

Lade...

Verfügbare Tastenkürzel

Aufgabenliste

Aufgabendetails

Aufgabenbearbeitung