пт, 10 мар. 2023 г., 02:02 Phyllis Smith <phylsmith2017@gmail.com>:
Andrew,
Can now reproduce the "auto fit" crash reliably on Fedora 37 when add to CFLAGS in cinelerra/Makefile "-flto -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1" and on Fedora 36 under different circumstances, which is CFLAGS addition of "-O2 -flto".  Not sure why different CFLAGS are required on different O/S versions.

Anyway I get the same crash backtrace of:
(gdb) bt
#0  0x0000000000a0cad0 in Autos::get_next_auto(long, int, Auto*&, int) ()
#1  0x0000000000b04dde in FloatAutos::get_value(long, int, FloatAuto*&, FloatAuto*&) ()
#2  0x0000000000b0530e in FloatAutos::get_extents(float*, float*, int*, long, long) ()
#3  0x0000000000a0ae14 in Automation::get_extents(float*, float*, int*, long, long, int) ()
#4  0x0000000000c5d092 in Tracks::get_automation_extents(float*, float*, double, double, int) ()
#5  0x0000000000b6a30d in MWindow::fit_autos(int) ()
#6  0x0000000000a9f8c9 in EditFitAutos::handle_event() ()
#7  0x0000000000cebbf4 in BC_Button::button_release_event() ()
#8  0x0000000000d310fb in BC_WindowBase::dispatch_button_release() ()
#9  0x0000000000d310fb in BC_WindowBase::dispatch_button_release() ()
#10 0x0000000000d399ff in BC_WindowBase::dispatch_event() ()
#11 0x0000000000d3a288 in BC_WindowBase::run_window() ()
#12 0x0000000000b751bf in MWindow::run() ()
#13 0x00000000007f41be in main ()

But the PROBLEM is when I add a printf statement, it no longer crashes.
And when I compile to add a symbol table to use with GDB, it no longer crashes.
Applying the patch:  0011-EXPERIMENTAL-try-to-init-two-variables-to-0-in-gloat.patch, still crashes too.
Any advice of how I can debug further? How can I view the value of variables in GDB without a symbol table?


:( worst type of bug - probably some thread synchronization issue, timing-sensitive :/

but at least we know now that my patch is no cure :|
Thanks anyway ....

I have no idea if gdb  can print something it has no idea how to name. try tip from

https://sourceware.org/gdb/onlinedocs/gdb/Variables.html

====

If you try to examine or use the value of a (global) variable for which GDB has no type information, e.g., because the program includes no debug information, GDB displays an error message. See unknown type, for more about unknown types. If you cast the variable to its declared type, GDB gets the variable’s value using the cast-to type as the variable’s type. For example, in a C program:

  (gdb) p var
  'var' has unknown type; cast it to its declared type
  (gdb) p (float) var
  $1 = 3.14

=====

On Wed, Feb 15, 2023 at 6:29 PM Phyllis Smith <phylsmith2017@gmail.com> wrote:
                                 
09feb2022/0010-TMP-add-flto-to-cinelerra-Makefile.patch     

localhack, trying to make it crash on "fit all autos" like in Fedora, no luck so far!
Working again on trying to reproduce this on Fedora 37 with default installed gcc.  Patched file with this + added LINKER = ld +flto  to the cinelerra/Makefile because read onlinethat flto has to be added to the compiler AND the linker.  But still no crash with "fit all autos".

According to the RPM Fusion bug comment as quoted below, when they removed the lto, the crash was fixed.
I saw the https://www.cinelerra-gg.org/bugtracker/view.php?id=632 mentioned
lto, so I've tested and disabled lto on the build and now I'm not reproducing
the issue. But it would be fine if a dedicated issue can be created so that
cinelerra can work with lto...
So I still have to find a way to make it crash, so a fix can be created.  Will update when I succeed.