# Device freezes when editing a parameter after receiving a SYX program dump of the Pioneer AS-1

**URL:** <https://forum.electra.one/t/device-freezes-when-editing-a-parameter-after-receiving-a-syx-program-dump-of-the-pioneer-as-1/1526>\
**Category:** Bug reports\
**Created:** [May 31, 2022, 7:49pm UTC](https://forum.electra.one/t/device-freezes-when-editing-a-parameter-after-receiving-a-syx-program-dump-of-the-pioneer-as-1/1526 "2022-05-31T19:49:21Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![klaustrophil](https://avatars.discourse-cdn.com/v4/letter/k/e19adc/32.png) [@klaustrophil](https://forum.electra.one/u/klaustrophil)\
**Post date:** [May 31, 2022, 7:49pm UTC](https://forum.electra.one/t/device-freezes-when-editing-a-parameter-after-receiving-a-syx-program-dump-of-the-pioneer-as-1/1526/1 "2022-05-31T19:49:21Z")

</div>

I wanted to control my Pioneer AS-1 synth with the E1. For this purpose I installed the [preset](https://app.electra.one/preset/5FVFCGeEvgZHMMapmru7) built by @Flyweight. However, when I dump the current synth preset data, the E1 freezes when I want to use a control. The controls are updated to the proper value once after the dump. I can also switch between rows without triggering the freeze. I tried 3 different synth presets with the same result. Can’t verify if this happens with any other device right now. In the logs I can read the following (from boot to freeze):

```auto
l), visible=1
21:39:13.676 parseMessage: device=1, msgType=nrpn (3), parameterId=1152, min=0, max=0, value=0, offValue=0, onValue=1, lsbFirst=0, signMode=0, bitWidth=14
21:39:13.677 parseValue: id=value, index=0, defaultValue=0, min=0, max=0, overlayId=0, formatter=(null), function=(null)
21:39:13.678 parseControl: id=105, name=SEQ LENGHT, type=list (3), mode=0, colour=529DEC, controlSetId=3, variant=(null), visible=1
21:39:13.679 parseMessage: device=1, msgType=nrpn (3), parameterId=170, min=0, max=0, value=0, offValue=-1, onValue=-1, lsbFirst=0, signMode=0, bitWidth=14
21:39:13.680 parseValue: id=value, index=0, defaultValue=0, min=0, max=0, overlayId=18, formatter=(null), function=(null)
21:39:13.681 parseControl: id=106, name=TIME DIVISION, type=list (3), mode=0, colour=529DEC, controlSetId=3, variant=(null), visible=1
21:39:13.683 parseMessage: device=1, msgType=nrpn (3), parameterId=163, min=0, max=0, value=0, offValue=-1, onValue=-1, lsbFirst=0, signMode=0, bitWidth=14
21:39:13.684 parseValue: id=value, index=0, defaultValue=0, min=0, max=0, overlayId=19, formatter=(null), function=(null)
21:39:13.685 Preset::parse: successfully loaded preset: name=Pioneer Toraiz AS-1, version=2
21:39:13.686 number of lua functions: 2
21:39:13.687 free RAM: free=150920, heap=15280, lua=0, collision=0
21:39:13.689 displayPage: page shown: page=0, controlSetId=-1
21:39:13.690 free RAM: free=135456, heap=30744, lua=0, collision=0
21:39:13.691 loadPresetById: preset loaded: name=Pioneer Toraiz AS-1
21:39:13.692 loadLua debug output:
21:39:13.693 ---- START ----
21:39:13.695 loadLuaModule: Lua extension file initialized: file=ctrlv2/p000.lua
21:39:13.696 ----- END -----
21:39:13.697 lua: function onClock does not exist
21:39:13.698 lua: function onStart does not exist
21:39:13.699 lua: function onStop does not exist
21:39:13.700 lua: function onContinue does not exist
21:39:13.701 lua: function onActiveSensing does not exist
21:39:13.702 lua: function onSystemReset does not exist
21:39:13.703 lua: function onTuneRequest does not exist
21:39:13.704 lua: function onProgramChange does not exist
21:39:13.705 lua: function onAfterTouchChannel does not exist
21:39:13.707 lua: function onPitchBend does not exist
21:39:13.708 lua: function onSongSelect does not exist
21:39:13.709 lua: function onSongPosition does not exist
21:39:13.710 lua: function onControlChange does not exist
21:39:13.711 lua: function onNoteOn does not exist
21:39:13.712 lua: function onNoteOff does not exist
21:39:13.713 lua: function onAfterTouchPoly does not exist
21:39:13.714 lua: function onSysex does not exist
21:39:13.715 lua: function onMessage does not exist
21:39:13.717 setup: preset loaded: name=Pioneer Toraiz AS-1
21:39:13.718 loadLua debug output:
21:39:13.719 ---- START ----
21:39:13.720 loadLuaModule: Lua extension file initialized: file=ctrlv2/p000.lua
21:39:13.721 ----- END -----
21:39:13.722 lua: function onClock does not exist
21:39:13.723 lua: function onStart does not exist
21:39:13.724 lua: function onStop does not exist
21:39:13.725 lua: function onContinue does not exist
21:39:13.726 lua: function onActiveSensing does not exist
21:39:13.727 lua: function onSystemReset does not exist
21:39:13.728 lua: function onTuneRequest does not exist
21:39:13.730 lua: function onProgramChange does not exist
21:39:13.731 lua: function onAfterTouchChannel does not exist
21:39:13.732 lua: function onPitchBend does not exist
21:39:13.733 lua: function onSongSelect does not exist
21:39:13.734 lua: function onSongPosition does not exist
21:39:13.737 lua: function onControlChange does not exist
21:39:13.738 lua: function onNoteOn does not exist
21:39:13.739 lua: function onNoteOff does not exist
21:39:13.740 lua: function onAfterTouchPoly does not exist
21:39:13.741 lua: function onSysex does not exist
21:39:13.742 lua: function onMessage does not exist
21:39:13.743 free RAM: free=110296, heap=55904, lua=21020, collision=0
21:39:13.744 setup: enable readMidi ()
21:39:13.745 scanUSBHost: device MIDI1 2b73:18: connected
21:39:13.746 - manufacturer: Pioneer
21:39:13.747 - product: Toraiz AS-1
21:39:13.748 Assigning new MIDI1 device to midiBus 0: Toraiz AS-1
21:39:13.749 processGeneralSysex: manufacturer 0
21:39:13.781 processElectraSysex::handleElectraSysex: electraInfo sysex sent to the host
21:39:13.787 processElectraSysex::handleElectraSysex: electraInfo sysex sent to the host
21:39:13.793 processElectraSysex::handleElectraSysex: electraInfo sysex sent to the host
21:39:13.797 processElectraSysex::handleElectraSysex: config sysex sent to the host
21:39:13.813 processElectraSysex::handleElectraSysex: preset sysex sent to the host
21:39:13.819 processElectraSysex::handleElectraSysex: electraInfo sysex sent to the host
21:39:13.824 processElectraSysex::handleElectraSysex: config sysex sent to the host
21:39:13.929 processElectraSysex::handleElectraSysex: preset sysex sent to the host

[LOG CLEARED?]

alue=0, extractedValue=0 to parameterNumber=167, type=nrpn resulting in parameterValue=0
21:39:54.753 ElectraMidi::processSysex: applying extraction rule: byte=13, byteValue=1, extractedValue=1 to parameterNumber=1, type=nrpn resulting in parameterValue=1
21:39:54.754 ElectraMidi::processSysex: applying extraction rule: byte=2, byteValue=36, extractedValue=36 to parameterNumber=5, type=nrpn resulting in parameterValue=36
21:39:54.755 ElectraMidi::processSysex: applying extraction rule: byte=15, byteValue=0, extractedValue=0 to parameterNumber=10, type=nrpn resulting in parameterValue=0
21:39:54.755 ElectraMidi::processSysex: applying extraction rule: byte=14, byteValue=1, extractedValue=1 to parameterNumber=11, type=nrpn resulting in parameterValue=1
21:39:54.756 ElectraMidi::processSysex: applying extraction rule: byte=18, byteValue=0, extractedValue=0 to parameterNumber=28, type=nrpn resulting in parameterValue=0
21:39:54.757 ElectraMidi::processSysex: applying extraction rule: byte=19, byteValue=0, extractedValue=0 to parameterNumber=29, type=nrpn resulting in parameterValue=0
21:39:54.758 ElectraMidi::processSysex: applying extraction rule: byte=20, byteValue=2, extractedValue=2 to parameterNumber=31, type=nrpn resulting in parameterValue=2
21:39:54.758 ElectraMidi::processSysex: applying extraction rule: byte=25, byteValue=0, extractedValue=0 to parameterNumber=47, type=nrpn resulting in parameterValue=0
21:39:54.759 ElectraMidi::processSysex: applying extraction rule: byte=29, byteValue=0, extractedValue=0 to parameterNumber=51, type=nrpn resulting in parameterValue=0
21:39:54.760 ElectraMidi::processSysex: applying extraction rule: byte=30, byteValue=0, extractedValue=0 to parameterNumber=52, type=nrpn resulting in parameterValue=0
21:39:54.761 ElectraMidi::processSysex: applying extraction rule: byte=50, byteValue=0, extractedValue=0 to parameterNumber=71, type=nrpn resulting in parameterValue=0
21:39:54.762 ElectraMidi::processSysex: applying extraction rule: byte=71, byteValue=0, extractedValue=0 to parameterNumber=90, type=nrpn resulting in parameterValue=0
21:39:54.762 ElectraMidi::processSysex: applying extraction rule: byte=70, byteValue=0, extractedValue=0 to parameterNumber=91, type=nrpn resulting in parameterValue=0
21:39:54.763 ElectraMidi::processSysex: applying extraction rule: byte=74, byteValue=1, extractedValue=1 to parameterNumber=93, type=nrpn resulting in parameterValue=1
21:39:54.764 ElectraMidi::processSysex: applying extraction rule: byte=75, byteValue=0, extractedValue=0 to parameterNumber=94, type=nrpn resulting in parameterValue=0
21:39:54.765 ElectraMidi::processSysex: applying extraction rule: byte=76, byteValue=0, extractedValue=0 to parameterNumber=95, type=nrpn resulting in parameterValue=0
21:39:54.765 ElectraMidi::processSysex: applying extraction rule: byte=79, byteValue=0, extractedValue=0 to parameterNumber=96, type=nrpn resulting in parameterValue=0
21:39:54.766 ElectraMidi::processSysex: applying extraction rule: byte=77, byteValue=0, extractedValue=0 to parameterNumber=97, type=nrpn resulting in parameterValue=0
21:39:54.767 ElectraMidi::processSysex: applying extraction rule: byte=78, byteValue=0, extractedValue=0 to parameterNumber=98, type=nrpn resulting in parameterValue=0
21:39:54.767 ElectraMidi::processSysex: applying extraction rule: byte=51, byteValue=1, extractedValue=1 to parameterNumber=119, type=nrpn resulting in parameterValue=1
21:39:54.768 ElectraMidi::processSysex: applying extraction rule: byte=62, byteValue=1, extractedValue=1 to parameterNumber=123, type=nrpn resulting in parameterValue=1
21:39:54.769 ElectraMidi::processSysex: applying extraction rule: byte=65, byteValue=6, extractedValue=6 to parameterNumber=124, type=nrpn resulting in parameterValue=6
21:39:54.770 ElectraMidi::processSysex: applying extraction rule: byte=52, byteValue=1, extractedValue=1 to parameterNumber=127, type=nrpn resulting in parameterValue=1
21:39:54.770 ElectraMidi::processSysex: applying extraction rule: byte=53, byteValue=1, extractedValue=1 to parameterNumber=135, type=nrpn resulting in parameterValue=1
21:39:54.771 ElectraMidi::processSysex: applying extraction rule: byte=91, byteValue=0, extractedValue=0 to parameterNumber=145, type=nrpn resulting in parameterValue=0
21:39:54.772 ElectraMidi::processSysex: applying extraction rule: byte=92, byteValue=0, extractedValue=0 to parameterNumber=146, type=nrpn resulting in parameterValue=0
21:39:54.773 ElectraMidi::processSysex: applying extraction rule: byte=93, byteValue=1, extractedValue=1 to parameterNumber=147, type=nrpn resulting in parameterValue=1
21:39:54.773 ElectraMidi::processSysex: applying extraction rule: byte=94, byteValue=0, extractedValue=0 to parameterNumber=148, type=nrpn resulting in parameterValue=0
21:39:54.774 ElectraMidi::processSysex: applying extraction rule: byte=95, byteValue=0, extractedValue=0 to parameterNumber=149, type=nrpn resulting in parameterValue=0
21:40:16.132 displayPage: page shown: page=0, controlSetId=1
21:40:18.576 displayPage: page shown: page=0, controlSetId=2
21:40:20.182 displayPage: page shown: page=0, controlSetId=1
21:40:21.918 sendMessage: port=0, channel=5, type=nrpn, parameterNumber=45, midiValue=1

```

Steps to reproduce:

1. Load the E1 preset
2. Set the MIDI channel accordingly
3. Request the patch from the synth
4. Try to use a control

**Metadata**  
E1 version info:

- revision 2.40
- firmware v2.2

I’m using USB MIDI host.

---

<div class="post-metadata">

**Author:** ![klaustrophil](https://avatars.discourse-cdn.com/v4/letter/k/e19adc/32.png) [@klaustrophil](https://forum.electra.one/u/klaustrophil)\
**Post date:** [May 31, 2022, 8:45pm UTC](https://forum.electra.one/t/device-freezes-when-editing-a-parameter-after-receiving-a-syx-program-dump-of-the-pioneer-as-1/1526/2 "2022-05-31T20:45:10Z")

</div>

Here’s one of the AS-1 presets in question.  
[as1\_thinwirearp.syx](https://forum.electra.one/uploads/short-url/o36FmF42Q0TFBzSV1Iqk44HfBET.syx) (1.2 KB)

---

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [June 1, 2022, 12:31pm UTC](https://forum.electra.one/t/device-freezes-when-editing-a-parameter-after-receiving-a-syx-program-dump-of-the-pioneer-as-1/1526/3 "2022-06-01T12:31:15Z")

</div>

Marvelous report! I will reproduce it tonight and will take a look at what is happening there. Thanks!

---

<div class="post-metadata">

**Author:** ![klaustrophil](https://avatars.discourse-cdn.com/v4/letter/k/e19adc/32.png) [@klaustrophil](https://forum.electra.one/u/klaustrophil)\
**Post date:** [June 18, 2022, 3:46pm UTC](https://forum.electra.one/t/device-freezes-when-editing-a-parameter-after-receiving-a-syx-program-dump-of-the-pioneer-as-1/1526/4 "2022-06-18T15:46:10Z")

</div>

Are you able to reproduce the issue?

---

<div class="post-metadata">

**Author:** ![martin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/martin/32/145_2.png) [@martin](https://forum.electra.one/u/martin)\
**Post date:** [June 21, 2022, 6:44am UTC](https://forum.electra.one/t/device-freezes-when-editing-a-parameter-after-receiving-a-syx-program-dump-of-the-pioneer-as-1/1526/5 "2022-06-21T06:44:32Z")

</div>

I am sorry for not responding. Yes, the issue has been replicated. It is caused by the length of the sysex message. It is not handled in v2.2 properly and under certain circumstances may result in the device freeze. The issue will be resolved in the upcoming 3.0 where longer sysex messages will be supported by default.

---

<div class="post-metadata">

**Author:** ![Flyweight](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.electra.one/flyweight/32/342_2.png) [@Flyweight](https://forum.electra.one/u/Flyweight)\
**Post date:** [November 30, 2022, 4:34pm UTC](https://forum.electra.one/t/device-freezes-when-editing-a-parameter-after-receiving-a-syx-program-dump-of-the-pioneer-as-1/1526/6 "2022-11-30T16:34:26Z")

</div>

looking forward to this fix as I have several templates that crash. Also the Ensoniq Mirage template and I guess also the Ableton control script.
