View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000610 | Cinelerra-GG | Bug | public | 2022-04-07 11:30 | 2026-01-03 21:29 |
| Reporter | Andrew-R | Assigned To | PhyllisSmith | ||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Platform | ppc32 | OS | debian | OS Version | 8.11 |
| Summary | 0000610: Segfault at startup | ||||
| Description | I compiled cinelerra twice for ppc (once on void linux for ppc and second time for Debian 8.11 ppc) unfortunately, both times she segfaulted at Initializing gui.. I captured gdb log from Debian | ||||
| Steps To Reproduce | compile for ppc (I used emulated mac99 via qemu 5.0) i need some patches on top of git, and I reordered libav* libs order so my separately compiled static ffmpeg-4.4 can be accepted w/o errors - like libavfilters, then libavfornat then libavcodecs and the rest..) a lot of everything need to be disabled, but it compiles. try to launch | ||||
| Additional Information | valgrind does not work on both systems | ||||
| Tags | No tags attached. | ||||
| Attached Files | cingg.log.txt (1,336 bytes)
Starting program: /mnt/cinelerra/cinelerra-5.1/bin/cin
Failed to read a valid object file image from memory.
warning: Could not load shared library symbols for linux-vdso32.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/powerpc-linux-gnu/libthread_db.so.1".
[New Thread 0xa7727410 (LWP 6946)]
Program received signal SIGSEGV, Segmentation fault.
0x107bfa54 in VFramePng::VFramePng (this=0x12cd25c8,
png_data=0x94ce0853 <error: Cannot access memory at address 0x94ce0853>,
s=0) at vframe.C:82
82 ((long)png_data[0] << 24) | ((long)png_data[1] << 16) |
#0 0x107bfa54 in VFramePng::VFramePng (this=0x12cd25c8,
png_data=0x94ce0853 <error: Cannot access memory at address 0x94ce0853>,
s=0) at vframe.C:82
image_size = 0
#1 0x107950c8 in BC_Theme::new_image (this=0x12cd2730, title=<optimized out>,
path=<optimized out>) at bctheme.C:72
existing_image = <optimized out>
result = 0x12cd2590
#2 0x1066e4c4 in Theme::initialize() ()
No symbol table info available.
#3 0x105674f0 in MWindow::init_theme() ()
No symbol table info available.
#4 0x1056ec94 in MWindow::create_objects(int, int, char*) ()
No symbol table info available.
#5 0x10515a00 in main ()
No symbol table info available.
| ||||
|
|
configure switches I used ppc.bld (417 bytes)
#!/bin/bash CFLAGS="-I/root/ffmpeg-4.4/" ./configure --with-single-user --without-libdpx --without-dvb --without-dv --without-firewire --without-video4linux2 --without-libzmpeg --without-ogg --without-vdpau --without-vaapi --disable-libaom --disable-dav1d --without-shuttle_usb --without-openexr --without-thirdparty --without-lv2 --without-x10tv --without-wintv CFLAGS=-I/root/ffmpeg-4.4/ --no-create --no-recursion |
|
|
ppc hacks relative to git state just before giflib disabling went in pcc_hacks2_eb92703b.diff (4,835 bytes)
diff --git a/cinelerra-5.1/cinelerra/Makefile b/cinelerra-5.1/cinelerra/Makefile
index 30f5e2c..1c9241b 100644
--- a/cinelerra-5.1/cinelerra/Makefile
+++ b/cinelerra-5.1/cinelerra/Makefile
@@ -434,10 +434,14 @@ endif
LIBS := $(LIBRARIES)
ifeq ($(WANT_CIN_3RDPARTY),no)
-LIBS += -lavcodec -lavdevice -lavfilter -lavformat -lavutil
+LIBS += -L/root/ffmpeg-4.4/
+LIBS += -lavfilter -lavformat -lavcodec -lavdevice -lavutil
LIBS += -lswresample -lswscale
-LIBS += -lintl -liconv
-LIBS += -lexecinfo
+LIBS += -latomic -ljpeg -ltiff -lFLAC -luuid -lsndfile
+LIBS += -l:libtheoraenc.a -l:libtheoradec.a
+LIBS += -lmp3lame -ltwolame
+#LIBS += -lintl -liconv
+#LIBS += -lexecinfo
LIBS += $(shared_libs)
LIBS += $(system_libs)
@@ -518,7 +522,7 @@ all: $(OUTPUT) $(CUTADS) $(BDWRITE) $(LV2UI)
$(OUTPUT): $(OBJS) $(THEME_DATA) $(DCRAW) $(LIBRARIES)
$(LINKER) `cat $(OBJDIR)/objs`
$(if $(findstring -g,$(CFLAGS)),objcopy --only-keep-debug $(OUTPUT) $(OUTPUT_G))
- $(if $(findstring -ggdb,$(CFLAGS)),,strip $(OUTPUT))
+ # $(if $(findstring -ggdb,$(CFLAGS)),,strip $(OUTPUT))
ln -f -s ../bin/$(WANT_CIN) ci
ifneq ($(WANT_COMMERCIAL),no)
diff --git a/cinelerra-5.1/cinelerra/ci b/cinelerra-5.1/cinelerra/ci
index bc98783..2285898 120000
--- a/cinelerra-5.1/cinelerra/ci
+++ b/cinelerra-5.1/cinelerra/ci
@@ -1 +1 @@
-../bin/cinelerra
\ No newline at end of file
+../bin/cin
\ No newline at end of file
diff --git a/cinelerra-5.1/cinelerra/file.C b/cinelerra-5.1/cinelerra/file.C
index 07cddec..1b18c3a 100644
--- a/cinelerra-5.1/cinelerra/file.C
+++ b/cinelerra-5.1/cinelerra/file.C
@@ -387,7 +387,9 @@ const char *File::default_probes[] = {
"PNG",
"PPM",
"JPEG",
+#if 0
"GIF",
+#endif
"DPX",
#ifdef HAVE_OPENEXR
"EXR",
@@ -465,6 +467,7 @@ int File::probe()
file = new FileJPEG(this->asset, this);
return FILE_OK;
}
+#if 0
if( !strcmp(pref->name,"GIF") ) { // GIF file
if( FileGIFList::check_sig(this->asset) )
file = new FileGIFList(this->asset, this);
@@ -473,6 +476,7 @@ int File::probe()
else continue;
return FILE_OK;
}
+#endif
#ifdef HAVE_LIBDPX
if( !strcmp(pref->name,"DPX") ) { // DPX file
if( !FileDPX::check_sig(this->asset, data) ) continue;
@@ -599,13 +603,14 @@ int File::open_file(Preferences *preferences,
case FILE_JPEG_LIST:
file = new FileJPEG(this->asset, this);
break;
-
+#if 0
case FILE_GIF:
file = new FileGIF(this->asset, this);
break;
case FILE_GIF_LIST:
file = new FileGIFList(this->asset, this);
break;
+#endif
#ifdef HAVE_LIBDPX
case FILE_DPX:
case FILE_DPX_LIST:
@@ -1640,7 +1645,7 @@ const char* File::get_prefix(int format)
case FILE_FFMPEG: return "FFMPEG";
case FILE_SCENE: return "SCENE";
case FILE_CR2_LIST: return "CR2_LIST";
- case FILE_GIF_LIST: return "GIF_LIST";
+ case FILE_GIF_LIST: return "ODGIF_LIST";
case FILE_DB: return "DB";
case FILE_REF: return "REF";
}
diff --git a/cinelerra-5.1/cinelerra/filegif.C b/cinelerra-5.1/cinelerra/filegif.C
index b80f741..3060219 100644
--- a/cinelerra-5.1/cinelerra/filegif.C
+++ b/cinelerra-5.1/cinelerra/filegif.C
@@ -1,4 +1,4 @@
-
+#if 0
/*
* CINELERRA
* Copyright (C) 2014 Adam Williams <broadcast at earthling dot net>
@@ -572,3 +572,4 @@ GIFUnit::~GIFUnit()
delete temp_frame;
}
+#endif
\ No newline at end of file
diff --git a/cinelerra-5.1/guicast/Makefile b/cinelerra-5.1/guicast/Makefile
index 57cfb21..1ad9c34 100644
--- a/cinelerra-5.1/guicast/Makefile
+++ b/cinelerra-5.1/guicast/Makefile
@@ -20,6 +20,17 @@ ifeq ($(OBJDIR), aarch64)
BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B aarch64 -I binary -O elf64-littleaarch64\""
endif
+ifeq ($(OBJDIR), ppc64)
+BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B powerpc -I binary -O elf64-powerpc\""
+endif
+
+ifeq ($(OBJDIR), ppc)
+BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B powerpc -I binary -O elf32-powerpc\""
+endif
+
+
+
+
$(shell mkdir -p $(OBJDIR) )
OBJS = \
@@ -96,7 +107,7 @@ OUTPUT = $(OBJDIR)/libguicast.a
UTILS = $(OBJDIR)/bootstrap $(OBJDIR)/pngtoh $(OBJDIR)/pngtoraw
BCXFER = xfer/$(OBJDIR)/xfer.stamp
-CFLAGS += $(static_incs)
+CFLAGS += $(static_incs) -g -fno-strict-aliasing -Wcast-align
$(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
$(shell echo $(OBJS) > $(OBJDIR)/objs)
diff --git a/cinelerra-5.1/guicast/vframe.C b/cinelerra-5.1/guicast/vframe.C
index 8e90cca..19f9cab 100644
--- a/cinelerra-5.1/guicast/vframe.C
+++ b/cinelerra-5.1/guicast/vframe.C
@@ -82,6 +82,9 @@ VFramePng::VFramePng(unsigned char *png_data, double s)
((long)png_data[0] << 24) | ((long)png_data[1] << 16) |
((long)png_data[2] << 8) | (long)png_data[3];
if( !s ) s = BC_WindowBase::get_resources()->icon_scale;
+printf("image size in vframe_png %d \n", image_size);
+// if (image_size !=0)
+ printf("png_data %s\n", png_data+4);
read_png(png_data+4, image_size, s, s);
}
|
|
|
here is my test hdd image for qemu-system-ppc (1.6 gb) https://cloud.mail.ru/public/3FFj/p2Zn2DhGt sha256sum 5gb_ppc_debian8.qcow.xz 90af1c6479375fcdc3da8962a507d170283d9ad86cf0cf9d47ab27b3ad716c81 5gb_ppc_debian8.qcow.xz |
|
|
I think this one is fixed at least for Debian PPC 8.11 Will re-try with Void PPC (since then discontinued) and close if it works there too. |
|
|
Fixed in Void-ppc, too Closing, hopefully |
|
|
@Andrew-R Reported this fixed. |
|
|
So Closing! |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2022-04-07 11:30 | Andrew-R | New Issue | |
| 2022-04-07 11:30 | Andrew-R | File Added: cingg.log.txt | |
| 2022-04-07 11:35 | Andrew-R | File Added: ppc.bld | |
| 2022-04-07 11:35 | Andrew-R | Note Added: 0005258 | |
| 2022-04-07 11:43 | Andrew-R | File Added: pcc_hacks2_eb92703b.diff | |
| 2022-04-07 11:43 | Andrew-R | Note Added: 0005259 | |
| 2022-04-11 11:13 | Andrew-R | Note Added: 0005260 | |
| 2026-01-01 15:42 | Andrew-R | Note Added: 0005803 | |
| 2026-01-03 20:05 | Andrew-R | Note Added: 0005804 | |
| 2026-01-03 21:27 | PhyllisSmith | Note Added: 0005805 | |
| 2026-01-03 21:28 | PhyllisSmith | Note Added: 0005806 | |
| 2026-01-03 21:29 | PhyllisSmith | Assigned To | => PhyllisSmith |
| 2026-01-03 21:29 | PhyllisSmith | Status | new => closed |
| 2026-01-03 21:29 | PhyllisSmith | Resolution | open => fixed |