[Cin] tried to make giflist, got segfault

Andrew Randrianasulu randrianasulu at gmail.com
Sat Dec 11 23:06:51 CET 2021


On Saturday, December 11, 2021, Phyllis Smith via Cin <
cin at lists.cinelerra-gg.org> wrote:

> 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.
>


yeah, i tend to do unexpected from time to time. Still, some safeguard
against this might be nice to have (and for now - note/warning in
documentation? yes, this is not that advanced users will do - but new users
tend to experiment!  or so I think....)

I'll look into this problem too...


> *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/20211212/93ceefcb/attachment.htm>


More information about the Cin mailing list