xLightsSequencer / xLights

xLights is a sequencer for Lights. xLights has usb and E1.31 drivers. You can create sequences in this object oriented program. You can create playlists, schedule them, test your hardware, convert between different sequencers.
GNU General Public License v3.0
530 stars 197 forks source link

.11 Crash on Update All Aliases Using Mapping during the Sequence Import #4624

Open derwin12 opened 2 weeks ago

derwin12 commented 2 weeks ago

I will try and track it down but here are the logs. I was importing the BFL sequence from the Xlights Gems, mapped them over, saved the mapping then clicked the update alias mapping.

Walking from an exception.
[01]    ADDR:0x00007ff7eb4a2881 HMODULE:0x00007ff7eac30000  0000000000872840    Model.obj   ?IsAlias@Model@@QEBA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z@61E971 
[02]    ADDR:0x00007ff7eb4a2e3e HMODULE:0x00007ff7eac30000  0000000000872df0    Model.obj   ?AddAlias@Model@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z@61EF2E 
[03]    ADDR:0x00007ff7eb8d3ba0 HMODULE:0x00007ff7eac30000  0000000000ca38b0    xLightsImportChannelMapDialog.obj   ?OnButton_UpdateAliasesClick@xLightsImportChannelMapDialog@@AEAAXAEAVwxCommandEvent@@@Z@A4FC90 
[04]    ADDR:0x00007ff7eb985ef4 HMODULE:0x00007ff7eac30000  0000000000d55ea0    wxbase33u:appbase.obj   ?CallEventHandler@wxAppConsoleBase@@UEBAXPEAVwxEvtHandler@@AEAVwxEventFunctor@@AEAVwxEvent@@@Z@B01FE4 
[05]    ADDR:0x00007ff7eb97af4f HMODULE:0x00007ff7eac30000  0000000000d4af00    wxbase33u:event.obj ?ProcessEventIfMatchesId@wxEvtHandler@@SA_NAEBUwxEventTableEntryBase@@PEAV1@AEAVwxEvent@@@Z@AF703F 
[06]    ADDR:0x00007ff7eb97ba9b HMODULE:0x00007ff7eac30000  0000000000d4ba20    wxbase33u:event.obj ?SearchDynamicEventTable@wxEvtHandler@@QEAA_NAEAVwxEvent@@@Z@AF7B8B 
[07]    ADDR:0x00007ff7eb97bda1 HMODULE:0x00007ff7eac30000  0000000000d4bd70    wxbase33u:event.obj ?TryBeforeAndHere@wxEvtHandler@@IEAA_NAEAVwxEvent@@@Z@AF7E91 

image xLights_dbgrpt-22544-20240619T125821.zip

derwin12 commented 2 weeks ago

Fails when it tries to add an alias for "MH Dimmers/Strand 1" - Probably dont need/want an alias in this scenario.

Should it even be going here for a strand? ModelXml is not defined here..

bool Model::IsAlias(const std::string& alias, bool oldnameOnly) const
{
    for (auto x = ModelXml->GetChildren(); x != nullptr; x = x->GetNext()) {
cybercop23 commented 2 weeks ago

Yeah.. the original one did go down to strand... thought it was odd, but left it in. If you skip strand, does it still fail?

blun23 commented 2 weeks ago

Just came here to report this. Started happening after todays update on TestFlight

xLights_dbgrpt-2803-20240619T164438.zip xLights_dbgrpt-2288-20240619T162532.zip xLights_dbgrpt-845-20240619T142630.zip

blun23 commented 2 weeks ago

There is also something else going on with submodels using the load mapping feature. The mapping file shows that the effects are mapping, but in the sequence there is no effects on those submodels. When I can get some pics I'll upload it as a separate issue.

derwin12 commented 2 weeks ago

Yeah.. the original one did go down to strand... thought it was odd, but left it in. If you skip strand, does it still fail?

MH Dimmers isnt really a model - it is a shadow model type thing .. so that might be the issue. I got around it with this first line in the isalias() method if (this == nullptr) return true;