so second attempt at fixing hang - declare both variables volatile... I wonder if anyone can reproduce this hang ...
On Sat, Sep 16, 2023 at 9:35 AM Andrew Randrianasulu <[email protected]> wrote: > > so with debug it sits here when I ctrl-c it: > > SigHandler::signal_handler total files=0 > > Thread 1 "cin" received signal SIGINT, Interrupt. > 0x08624b9c in get_edit_regions (edits=0xffffb3d0, regions=...) at edl.C:911 > 911 if( pos >= range.end ) continue; > (gdb) p range_end > No symbol "range_end" in current context. > (gdb) bt full > #0 0x08624b9c in get_edit_regions (edits=0xffffb3d0, regions=...) at > edl.C:911 > range = @0xcdbe240: {start = 48.43333333333333, > end = 70.428333333333327} > expand = <optimized out> > edit = <optimized out> > end = <optimized out> > k = 0 > pos = 48.43333333333333 > n = 1 > i = 1 > #1 0x08626474 in EDL::delete_edit_labels (this=0xcdb2c30, edits=0xffffb3d0, > collapse=0) at edl.C:930 > regions = {avail = 16, dtype = 1, total = 1, values = 0xcdbe240} > n = <optimized out> > k = <optimized out> > #2 0x086cbcaf in MWindow::move_group (this=0xffffc66c, group=0xc6f8ab0, > first_track=0xcdaf5c0, position=290.10000000000002, overwrite=1) > at mwindowedit.C:1125 > edits = {avail = 16, dtype = 1, total = 2, values = 0xc663170} > #3 0x087a77ef in TrackCanvas::drag_stop (this=0xd730340, redraw=0xffffb48c) > at trackcanvas.C:1188 > cur_pos = 48.43333333333333 > new_pos = 290.10000000000002 > --Type <RET> for more, q to quit, c to continue without paging-- > drop_position = 290.10000000000002 > ret = <optimized out> > drop_track = <optimized out> > drag_track = <optimized out> > drag_edit = <optimized out> > edit_track = <optimized out> > drag_group = 0xc6f8ab0 > select = <optimized out> > result = 0 > insertion = 0 > over_window = <optimized out> > cursor_x = <optimized out> > cursor_y = <optimized out> > #4 0x086d33eb in MWindowGUI::drag_stop (this=0xd4e9280) at mwindowgui.C:953 > i = 0 > result = 0 > redraw = 0 > #5 0x0879a7c6 in TrackCanvas::drag_stop_event (this=0xd730340) > at trackcanvas.C:940 > result = <optimized out> > #6 0x088844bc in BC_WindowBase::dispatch_drag_stop (this=0xd730340) > at bcwindowbase.C:1881 > result = <optimized out> > --Type <RET> for more, q to quit, c to continue without paging-- > result = <optimized out> > i = <optimized out> > #7 BC_WindowBase::dispatch_drag_stop (this=0xd730340) at bcwindowbase.C:1870 > result = <optimized out> > #8 0x08884484 in BC_WindowBase::dispatch_drag_stop (this=0xd4e9280) > at bcwindowbase.C:1876 > i = 6 > result = 0 > #9 0x088845a1 in BC_WindowBase::dispatch_button_release (this=0xd4e9280) > at bcwindowbase.C:1640 > result = <optimized out> > #10 0x0888ce39 in BC_WindowBase::dispatch_event (this=0xd4e9280) > at bcwindowbase.C:1079 > tempwin = 18955947 > result = <optimized out> > ptr = <optimized out> > cancel_resize = <optimized out> > cancel_translation = <optimized out> > debug = 0 > event = 0xe12b8430 > #11 0x0888d711 in BC_WindowBase::run_window (this=0xd4e9280) > at bcwindowbase.C:744 > No locals. > --Type <RET> for more, q to quit, c to continue without paging-- > #12 0x086e7128 in MWindow::run (this=0xffffc66c) at mwindow.C:3083 > No locals. > #13 0x0841b46a in main (argc=1, argv=0xffffd364) at main.C:410 > mwindow = {<Thread> = { > _vptr.Thread = 0xa7a09bc <vtable for MWindow+8>, > synchronous = true, realtime = false, autodelete = false, > finished = false, cancel_enabled = false, cancelled = false, > owner = 808333344, tid = 4294967295}, redraw_tracks = 0x0, > beeper = 0x0, convert_render = 0x0, playback_3d = 0xc4adcf0, > splash_window = 0x0, undo = 0xd9cb640, undo_command = 0, > stack = {<ArrayList<StackItem>> = {avail = 16, dtype = 1, total = 0, > values = 0xc581ff0}, <No data fields>}, defaults = 0xc588200, > assets = 0x0, audio_cache = 0xcda87d0, video_cache = 0xcd9d900, > frame_cache = 0xc5ddc50, wave_cache = 0xc5de050, > preferences = 0xc59f080, preferences_thread = 0xd6d0320, > session = 0xc5a48a0, theme = 0xc7fd090, mainindexes = 0xd8108e0, > mainprogress = 0xd984610, brender = 0xda28350, cin_lang = "en\000ч", > brender_active = 0, default_standard = 0xa7bffc6 "PAL", > static commercials = 0x0, commercial_active = 0, speed_edl = 0x0, > colormodels = {avail = 16, dtype = 1, total = 6, > values = 0xc582240}, interlace_project_modes = {avail = 16, > dtype = 1, total = 3, values = 0xc582290}, > interlace_asset_modes = {avail = 16, dtype = 1, total = 4, > --Type <RET> for more, q to quit, c to continue without paging-- > values = 0xc5822e0}, channeldb_buz = 0xc4fdc80, > channeldb_v4l2jpeg = 0xc4d97c0, static plugindb = 0xc6f9ca0, > plugin_visibility = 8101816626871009282, plugin_guis = 0xda12d60, > dead_plugins = 0xda196b0, keyframe_threads = 0xda0c450, create_bd = > 0xda26650, create_dvd = 0xda273b0, batch_render = 0xda27d60, render = > 0xda1fbb0, exportedl = 0xda28bc0, edl = 0xcdb2c30, gui = 0xd4e9280, > cwindow = 0xd0d6720, vwindows_lock = 0xc5824c0, vwindows = { > avail = 16, dtype = 1, total = 0, values = 0xc582330}, > zwindows_lock = 0xc582510, zwindows = {avail = 16, dtype = 1, > total = 0, values = 0xc582380}, mixers_align = 0xc4facf0, > awindow = 0xcda9090, gwindow = 0xd8dd1b0, twindow = 0xda291a0, > wwindow = 0x0, lwindow = 0xd7daa10, run_lock = 0xc5823d0, > plugin_gui_lock = 0xc582420, dead_plugin_lock = 0xc582470, > keyframe_gui_lock = 0xc5825b0, brender_lock = 0xc582560, > sighandler = 0xc4f6a20, restart_status = 0, screens = 1, > in_destructor = 0, shuttle = 0x0, wintv = 0x0, x10tv = 0x0} > thread = 0x0 > restart = 0 > done = 0 > filenames = {avail = 16, dtype = 2, total = 0, values = 0xc4a8850} > fs = {_vptr.FileSystem = 0xa7de404 <vtable for FileSystem+8>, > dir_list = {avail = 16, dtype = 1, total = 0, values = 0xc4a88a0}, > filter = > "\000ЛяяаєэчшЛяя\000Ряч\001\000\000\000Ђ1ьчpКяяmВэчмЛяяаєэчшЛ--Type > <RET> for more, q to quit, c to continue without paging-- > яя\000Ряч\001\000\000\000°.ьчђКяяmВэчмЛяяаєэчшЛяя\000Ряч\001\000\000\000а+ьч°КяяmВэчмЛяяаєэчшЛяя\000Ряч\001\000\000\000\020)ьчРКяяmВэчмЛяяаєэчшЛяя\000Ряч\001\000\000\000@&ьчрКяяmВэчмЛяяаєэчшЛяя\000Ряч\001\000\000\000p#ьч\020ЛяяmВэчмЛяяаєэч"..., > want_directory = 0, show_all_files = 0, > current_dir = > "/dev/shm/cinelerra/cinelerra-5.1\000\000\000\000\001\000\000\000\060.Bч\022\022\000\000\000ЉBчр=mч\024Пяя\020ПяяZ\000\000\000\003\000\000\000я\a\000\000`Пяя”Ряя > Э\034ч”Ряя`Пяя\000\000\000\000$Ѓ\000\000f\000\000\000\000\000\000\000\000\020", > '\000' <repeats 15 times>, "\060 > \000\000\000\000\000З\t\000e\000\000\000\000-\035М/", '\000' <repeats > 20 times>, > "З\t\000e\000\000\000\000-\035М/\000\000\000\000З\t\000e\000\000\000\000-\035М/", > '\000' <repeats 16 times>..., sort_order = 0, sort_field = 0} > st = 1694845868 > ltm = {tm_sec = 8, tm_min = 31, tm_hour = 9, tm_mday = 16, tm_mon = 8, > tm_year = 123, tm_wday = 6, tm_yday = 258, tm_isdst = 0, > tm_gmtoff = 10800, tm_zone = 0xc4a78a8 "MSK"} > gtm = {tm_sec = 8, tm_min = 31, tm_hour = 6, tm_mday = 16, tm_mon = 8, > tm_year = 123, tm_wday = 6, tm_yday = 258, tm_isdst = 0, > tm_gmtoff = 0, tm_zone = 0xf725decd "GMT"} > tzofs = <optimized out> > operation = <optimized out> > deamon_port = <optimized out> > deamon_path = '\000' <repeats 656 times>... > config_path = "\000\000\000\000\027", '\000' <repeats 72 > times>, "РячL»я--Type <RET> for more, q to quit, c to continue without > paging-- > я\004\000\000\000\000P\\цИјяя…@эч\000 \\ц\000 > \000\000\003\000\000\000\022\b\000\000\003\000\000\000\000@\000\000·\005яч\024»яяу3nц\034ЅяяИјяя;шюч\024»яя\000\000\000\000\000 > \000\000Ш\022\000\000Ш\022\000\000\000\000\000\000\001\000\000\000\000 > \000\000\000@\000\000P6\000\000P6\000\000\000 > \000\000\005\000\000\000\000"... > batch_path = > "\000\000\000\000Ђѕяя\000\004\000\000\002\000\000\000яяяя2\000\000\000\000\000\000\000Њяяя", > '\000' <repeats 20 times>, > "\020\020\000\000\001\000\000\000\001\000\000\000\001\000 > \000\000\000\000\000\064;)ч`3)ч\001\000\000\000\b\000\000\000\000\000\000\000№™\025чхozч0Дяя\000\000\000\000\000P)ч–д\023ч0Дяяхozч\000\000\000\000\000\000\000\000\002\001\000\000q\000\000\000c\000\000\000D\034\025ч\000\000\000\000\000\020\000\000\071\020\026чЊшmч\022\000\000\000хozч\000\000\000\000\000P~ч\000{J\f,Еяявozч\000\000\000\000ад\023ч"... > nice_value = <optimized out> > load_perpetual = <optimized out> > lang = 0x0 > locale_path = <optimized out> > cin = <optimized out> > loc = <optimized out> > load_backup = 0 > start_remote_control = 0 > scale = <optimized out> > et = 1836017711 > dt = <optimized out> > --Type <RET> for more, q to quit, c to continue without paging-- > ru = {ru_utime = {tv_sec = 175770044, tv_usec = 1}, ru_stime = { > tv_sec = 1162608640, tv_usec = 808333344}, {ru_maxrss = -1, > __ru_maxrss_word = -1}, {ru_ixrss = 0, __ru_ixrss_word = 0}, { > ru_idrss = 0, __ru_idrss_word = 0}, {ru_isrss = 0, > __ru_isrss_word = 0}, {ru_minflt = 206232816, > __ru_minflt_word = 206232816}, {ru_majflt = 0, > __ru_majflt_word = 0}, {ru_nswap = 228374080, > __ru_nswap_word = 228374080}, {ru_inblock = 0, > __ru_inblock_word = 0}, {ru_oublock = 16, __ru_oublock_word = 16}, > {ru_msgsnd = 1, __ru_msgsnd_word = 1}, {ru_msgrcv = 0, > __ru_msgrcv_word = 0}, {ru_nsignals = 207101936, > __ru_nsignals_word = 207101936}, {ru_nvcsw = 207127040, > __ru_nvcsw_word = 207127040}, {ru_nivcsw = 0, > __ru_nivcsw_word = 0}} > usr_ms = <optimized out> > us = <optimized out> > ums = <optimized out> > sys_ms = <optimized out> > ss = <optimized out> > sms = <optimized out> > (gdb) > > > > On Sat, Sep 16, 2023 at 7:24 AM Andrew Randrianasulu > <[email protected]> wrote: > > > > I retested and sadly even with my patch hang still here (probably > > depend on something else) .... > > > > On Thu, Sep 14, 2023 at 9:37 AM Igor BEGHETTO via Cin > > <[email protected]> wrote: > > > > > > Andrew, I am sorry. Maybe I wasn't clear. > > > I followed your steps/video and tested as I could on a my project. I > > > did't use your patch, I used the monthly version of Cinelerra-GG. > > > No freeze/hang here. > > > > > > IgorBeg > > > > > > > > > Il 13/09/2023 08:35, Andrew Randrianasulu ha scritto: > > > > > > > > > > > > ср, 13 сент. 2023 г., 09:32 Igor BEGHETTO via Cin > > > > <[email protected] <mailto:[email protected]>>: > > > > > > > > I tested it on "UbuntuStudio16.04_LTS_64bit" using > > > > "CinGG-20230831-x86_64-older_distros.AppImage". > > > > I followed your steps and your demo video, more other things (e.g. > > > > using > > > > Proxy, applying an Efffect and some keyframes): never a crash, here. > > > > > > > > > > > > Thanks! While it was freeze/hang I did not know how to interrupt, so > > > > "crash" was due to me ctrl-C cin instance from terminal (still it > > > > pointed at function where it was spinning, so I come up with my patch) > > > -- > > > Cin mailing list > > > [email protected] > > > https://lists.cinelerra-gg.org/mailman/listinfo/cin
From 0ce97ef23c04fcd7d5370d8f6ef8b9509c7a29c7 Mon Sep 17 00:00:00 2001 From: Andrew Randrianasulu <[email protected]> Date: Sat, 16 Sep 2023 10:11:10 +0300 Subject: [PATCH 4/4] Fix for group move hang, v2 ? --- cinelerra-5.1/cinelerra/edl.C | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cinelerra-5.1/cinelerra/edl.C b/cinelerra-5.1/cinelerra/edl.C index f1886dde..107fada4 100644 --- a/cinelerra-5.1/cinelerra/edl.C +++ b/cinelerra-5.1/cinelerra/edl.C @@ -903,9 +903,11 @@ static void get_edit_regions(ArrayList<Edit*> *edits, ArrayList<Range> ®ions) // move edit inclusive labels by regions for( int i=0; i<edits->size(); ++i ) { Edit *edit = edits->get(i); - double pos = edit->track->from_units(edit->startproject); - double end = edit->track->from_units(edit->startproject + edit->length); + volatile double pos = edit->track->from_units(edit->startproject); + volatile double end = edit->track->from_units(edit->startproject + edit->length); int n = regions.size(), k = n; + //printf("get_edit_region k= %i \n", k); + while( --k >= 0 ) { Range &range = regions[k]; if( pos >= range.end ) continue; -- 2.35.7
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin

