[Cin] tried to make giflist, got segfault
Phyllis Smith
phylsmith2017 at gmail.com
Sat Dec 11 21:46:49 CET 2021
Andrew,
Probably should log a BT for this, but the good news (from my perspective!)
is that it has always crashed when the W and H are not the same in all of
the listed GIFs. But, for example, if you reduce the giflist to include
only info.gif and note.gif which both have dimensions of 32x32, it does not
crash. Same problem occurs with jpegs, which is the only other one I
tested.
*Keep in mind what this capability is for:*
Case 1: A Sony camera creates single pictures with the names of
DSC0001.JPG, DSC0002.JPG, ... DSC0058.JPG. If you create a sequence list
using mkframelist or example script in the manual, it is so easy to quickly
load these into Cinelerra -- ALL OF THE PHOTOS HAVE THE SAME WIDTH AND
HEIGHT.
Case 2: When rendering -- ALL OF THE FRAMES HAVE THE SAME WIDTH AND HEIGHT
-- you will get as many still images as there are frames in the project,
plus a file-list (or TOC) that indexes the images. Later on you can load
this sequence easily using the file-list that had been generated.
In February of 2019, is when the GIF list/sequence capability was
added/changed:
> Gif native capability has been completely upgraded to allow for reading
> and writing the gif format in singles, sequences or lists. As a side effect
> of this effort all of the other sequences have had the letter “s” added at
> the end of the extension filename automatically generated on a render.
>
On Fri, Dec 10, 2021 at 11:51 PM Andrew Randrianasulu via Cin <
cin at lists.cinelerra-gg.org> wrote:
> using imagelist created by mkfranelist
>
> attaching gifs, two lists and script I modified to output comments more
> like our own..
>
>
>
>
> Thread 16 "cin" received signal SIGSEGV, Segmentation fault.
> [Switching to LWP 13000]
> 0x010a99c4 in FileGIF::read_next_image (this=this at entry=0xef6f6b98,
> output=output at entry=0xeff838c0) at filegif.C:343
> 343 *out_ptr++ = color_map_entry->Red;
> (gdb) bt full
> #0 0x010a99c4 in FileGIF::read_next_image (
> this=this at entry=0xef6f6b98, output=output at entry=0xeff838c0)
> at filegif.C:343
> color_map_entry = <optimized out>
> j = <optimized out>
> row = <optimized out>
> out_ptr = 0x15 <error: Cannot access memory at address 0x15>
> i = 20
> screen_width = 159
> screen_height = 203
> InterlacedOffset = {<optimized out>, <optimized out>,
> <optimized out>, <optimized out>}
> InterlacedJumps = {<optimized out>, <optimized out>,
> <optimized out>, <optimized out>}
> ret = 1
> record_type = <optimized out>
> color_map = 0xf0025960
> #1 0x010aa0ac in FileGIF::read_frame (this=0xef6f6b98,
> output=0xeff838c0) at filegif.C:258
> ret = <optimized out>
> i = <optimized out>
> #2 FileGIFList::read_frame (this=<optimized out>, output=0xeff838c0,
> path=<optimized out>) at filegif.C:475
> gif = {<FileBase> = {
> _vptr$FileBase = 0x2dff5e4 <vtable for FileGIF+8>,
> asset = 0xed973000, rd = 0, wr = 0, float_buffer = 0x0,
> row_pointers_in = 0x0, row_pointers_out = 0x0,
> prev_buffer_position = -1, prev_frame_position = -1,
> prev_bytes = 0, prev_len = 0, prev_track = -1,
> prev_layer = -1, dither = 0, internal_byte_order = 1,
> file = 0xefff6780, pcm_history = 0x0,
> --Type <RET> for more, q to quit, c to continue without paging--
> history_allocated = 0, history_size = 0,
> history_start = 0, history_channels = 0,
> decode_start = 641440480755712, decode_len = 4295000448,
> decode_end = 0, ulawtofloat_table = 0x0,
> ulawtofloat_ptr = 0x0, floattoulaw_table = 0x0,
> floattoulaw_ptr = 0x0}, offset = 13136, err = 0, eof = 0,
> fd = -1, depth = 8, writes = -1, rows = 203,
> row_size = 159, fp = 0xf6b040b4, gif_file = 0xf1c9dd60,
> bg = 0xefff6820 "", buffer = 0xeff91380, file_pos = {
> avail = 16, dtype = 1, total = 1, values = 0xf002e080},
> output = 0x0}
> asset = 0xed973000
> ret = <optimized out>
> #3 0x010ac158 in FileList::read_frame (this=0xf0025960,
> frame=0xeff838c0) at filelist.C:349
> string = "/data/data/com.termux/files/home/images/cramps.gif",
> '\000' <repeats 246 times>...
> path = 0xefff31d8
> "/data/data/com.termux/files/home/images/cramps.gif"
> in = <optimized out>
> result = 0
> #4 0x010af16c in File::read_frame (this=0xefff6780,
> frame=0xeff838c0, is_thread=<optimized out>) at file.C:1213
> vframe = 0xeff838c0
> debug = 0
> result = 0
> supported_colormodel = 9
> do_read = <optimized out>
> cache_position = 2
> cache_active = 0
> #5 0x011b43a8 in ResourceVideoThread::do_video (this=0xf146a250,
> --Type <RET> for more, q to quit, c to continue without paging--
> item=0xf1c9dd10) at resourcethread.C:421
> source = 0xf0025960
> normalized_position = <optimized out>
> source_cmodel = <optimized out>
> source_id = <optimized out>
> source_h = <optimized out>
> source_w = <optimized out>
> asset = 0xf6111000
> nested_edl = 0x0
> need_conversion = 0
> picon_frame = <optimized out>
> mwindow = <optimized out>
> gui = <optimized out>
> #6 0x011b40b8 in ResourceThreadBase::run (this=0xf146a250)
> at resourcethread.C:303
> item = 0xf1c9dd10
> mwindow = 0xfffeef18
> #7 0x012fea58 in Thread::entrypoint (parameters=0xf146a250)
> at thread.C:68
> thread = 0xf146a250
> #8 0xf71a4544 in __pthread_start(void*) ()
> from /apex/com.android.runtime/lib/bionic/libc.so
> No symbol table info available.
> #9 0xf715ec44 in __start_thread ()
> from /apex/com.android.runtime/lib/bionic/libc.so
> No symbol table info available.
> #10 0x00000000 in ?? ()
> No symbol table info available.
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
> (gdb)
>
>
> --
> Cin mailing list
> Cin at lists.cinelerra-gg.org
> https://lists.cinelerra-gg.org/mailman/listinfo/cin
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20211211/65dc5e11/attachment.htm>
More information about the Cin
mailing list