<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">пт, 2 дек. 2022 г., 01:16 Phyllis Smith <<a href="mailto:phylsmith2017@gmail.com" target="_blank" rel="noreferrer">phylsmith2017@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-size:small">ANDREW, Perhaps I duplicated this incorrectly, but when I add after the line    CFLAGS += $(static_incs)  the line <br><div>CFLAGS += -Wall -fsanitize=alignment   in guicast/Makefile to demonstrate the problem, I just get compiler errors. I also set the environment variable LDFLAGS and when I do    echo $LDFLAGS    it shows    -fsanitize=alignment   .<br></div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">I set LDFLAGS for this case before make command like (from bash history)</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">LDFLAGS=-fsanitize=alignment make -j 8<br></div><div dir="auto"><br></div><div dir="auto">and this make was called in cinelerra directory (and before this in guicast directory), not from top level where autogen.sh and configure lives.</div><div dir="auto"><br></div><div dir="auto">but you can add LDFLAGS directly to cinelerra/Makefile too, I think.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-size:small"><div></div><div>Did I make a mistake?  Did I miss a step?  The only steps I read in your email was:</div><div>   (1) modify guicast/Makefile to add another CFLAGS line<br></div><div dir="auto"></div></div></div></blockquote></div></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-size:small"><div dir="auto"><br></div><div dir="auto"></div></div></div></blockquote></div></div><div dir="auto">I also added it to cinelerra/Makefile lately just to see if main program had additional problems, thankfully (?) I saw no more errors during playback</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-size:small"><div dir="auto"><br></div><div>   (2) set environment variable for LDFLAGS   (before LDFLAGS had no value)<br></div><div><br></div><div></div><div>See below for the end of my log file.</div><div><br></div></div><div class="gmail_default" style="font-size:small"></div><div class="gmail_default" style="font-size:small"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">/usr/bin/ld: /tmp/cinelerra-5.1/cinelerra/../guicast/x86_64/libguicast.a(bclistboxitem.o): in function `BC_ListBoxItem::compare_item_text(void const*, void const*)':<br>/tmp/cinelerra-5.1/guicast/bclistboxitem.C:162: undefined reference to `__ubsan_handle_type_mismatch_v1'<br>/usr/bin/ld: /tmp/cinelerra-5.1/guicast/bclistboxitem.C:163: undefined reference to `__ubsan_handle_type_mismatch_v1'<br>/usr/bin/ld: /tmp/cinelerra-5.1/guicast/bclistboxitem.C:163: undefined reference to `__ubsan_handle_type_mismatch_v1'<br>/usr/bin/ld: /tmp/cinelerra-5.1/guicast/bclistboxitem.C:162: undefined reference to `__ubsan_handle_type_mismatch_v1'<br>/usr/bin/ld: /tmp/cinelerra-5.1/cinelerra/../guicast/x86_64/libguicast.a(bclistboxitem.o): in function `ArrayList<BC_ListBoxItem*>::del(BC_ListBoxItem*&)':<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">/tmp/cinelerra-5.1/guicast/arraylist.h:14: undefined reference to `__ubsan_handle_type_mismatch_v1'<br>/usr/bin/ld: /tmp/cinelerra-5.1/cinelerra/../guicast/x86_64/libguicast.a(bclistboxitem.o):/tmp/cinelerra-5.1/guicast/arraylist.h:14: more undefined references to `__ubsan_handle_type_mismatch_v1' follow<br>collect2: error: ld returned 1 exit status<br>make[2]: *** [Makefile:607: x86_64/lv2ui] Error 1<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">make[2]: *** Waiting for unfinished jobs....<br>make[2]: Leaving directory '/tmp/cinelerra-5.1/cinelerra'<br>make[1]: *** [Makefile:582: all-recursive] Error 1<br>make[1]: Leaving directory '/tmp/cinelerra-5.1'<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">make: *** [Makefile:529: all] Error 2<br></blockquote></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 23, 2022 at 11:37 PM Andrew Randrianasulu <<a href="mailto:randrianasulu@gmail.com" rel="noreferrer noreferrer" target="_blank">randrianasulu@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">---------- Forwarded message ---------<br>От: <strong class="gmail_sendername" dir="auto">Андрей Рандрианасулу</strong> <span dir="auto"><<a href="mailto:randrik@mail.ru" rel="noreferrer noreferrer" target="_blank">randrik@mail.ru</a>></span><br>Date: чт, 24 нояб. 2022 г., 09:33<br>Subject: unaligned load in bctheme<br>To: randrianasulu <<a href="mailto:randrianasulu@gmail.com" rel="noreferrer noreferrer" target="_blank">randrianasulu@gmail.com</a>><br></div><br><br>
<div><div>so i tried to instrument cingg to see if  she does any unaligned access</div><div> </div><div> </div><div>I added</div><div> </div><div> </div><div><div><div>diff --git a/cinelerra-5.1/guicast/Makefile b/cinelerra-5.1/guicast/Makefile</div><div>index 04d5a2e5..b724c668 100644</div><div>--- a/cinelerra-5.1/guicast/Makefile</div><div>+++ b/cinelerra-5.1/guicast/Makefile</div><div>@@ -116,6 +116,7 @@ UTILS = $(OBJDIR)/bootstrap $(OBJDIR)/pngtoh $(OBJDIR)/pngto</div><div>raw</div><div> BCXFER = xfer/$(OBJDIR)/xfer.stamp</div></div><div> </div><div><div> CFLAGS += $(static_incs)</div><div>+CFLAGS += -Wall -fsanitize=alignment</div></div><div> </div><div><div> $(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)</div><div> $(shell echo $(OBJS) > $(OBJDIR)/objs)</div><div> </div><div> </div><div>and same -fsanitize=alignment to LDFLAGS env. variable before make.</div><div> </div><div> </div><div>I got this:</div><div> </div><div><div><div>bash-5.1$  /dev/shm/cinelerra/cinelerra-5.1/bin/cin</div><div>Cinelerra Infinity - built: Nov 24 2022 08:52:45</div><div>git://<a href="http://git.cinelerra-gg.org/goodguy/cinelerra.git" rel="noreferrer noreferrer noreferrer" target="_blank">git.cinelerra-gg.org/goodguy/cinelerra.git</a></div><div>(c) 2006-2019 Heroine Virtual Ltd. by Adam Williams</div><div>2007-2020 mods for Cinelerra-GG by W.P.Morrow aka goodguy</div><div>Cinelerra is free software, covered by the GNU General Public License,</div><div>and you are welcome to change it and/or distribute copies of it under</div><div>certain conditions. There is absolutely no warranty for Cinelerra.</div></div><div> </div><div><div>build plugin index for: /dev/shm/cinelerra/cinelerra-5.1/bin/plugins</div><div>PluginFFilter::new_ffilter(overlay_opencl)</div><div>  err: Input/output error</div><div>PluginFFilter::new_ffilter(xfade_opencl)</div><div>  err: Input/output error</div><div>[openclsrc_814 @ 0xb78f400] OpenCL source requires output dimensions to be specified.</div><div>PluginFFilter::new_ffilter(openclsrc)</div><div>  err: Invalid argument</div><div>bctheme.C:458:15: runtime error: load of misaligned address 0x098a364d for type 'int', which requires 4 byte alignment</div><div>0x098a364d: note: pointer points here</div><div> 45 47 27 00 48 21 00  00 31 30 38 30 74 6f 34  38 30 2e 70 6e 67 00 00  00 00 00 31 30 38 30 74  6f</div><div>             ^</div><div>Total excess of backups: -50</div><div>Session time: 0:00:07</div><div>Cpu time: user: 0:00:03.699 sys: 0:00:00.480</div><div> </div><div>so patch below fixes this error.</div><div> </div><div>Can you please test it on various arches and distros?</div></div></div><div> </div></div></div><div> </div><div><div><div>diff --git a/cinelerra-5.1/guicast/bctheme.C b/cinelerra-5.1/guicast/bctheme.C</div><div>index 1ec64c7f..9addf9f7 100644</div><div>--- a/cinelerra-5.1/guicast/bctheme.C</div><div>+++ b/cinelerra-5.1/guicast/bctheme.C</div><div>@@ -455,7 +455,10 @@ void BC_Theme::overlay(VFrame *dst, VFrame *src, int in_x1, int in_x2, int shift</div></div><div> </div><div><div> void BC_Theme::set_data(unsigned char *ptr)</div><div> {</div><div>-       int hdr_sz = *(int*)ptr - sizeof(int);</div><div>+       //int hdr_sz = *(int*)ptr - sizeof(int);</div><div>+       int hdr_sz = 0;</div><div>+       memcpy(&hdr_sz, ptr, sizeof(int));</div><div>+       hdr_sz -= sizeof(int);</div><div>        unsigned char *cp = ptr + sizeof(int);</div><div>        unsigned char *dp = cp + hdr_sz;</div><div>        int start_item = images.size();</div><div>lines 7-28/28 (END)</div></div></div><div> </div><div><div><div>--<br>Андрей  Рандрианасулу</div></div></div></div>
</div>
</blockquote></div>
</blockquote></div></div></div>