Bug 261195 - astro/sunclock: Image creation failed (memory alloc. problem?) !!
Summary: astro/sunclock: Image creation failed (memory alloc. problem?) !!
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords: crash, needs-qa
Depends on:
Blocks:
 
Reported: 2022-01-14 11:53 UTC by Graham Perrin
Modified: 2022-12-23 08:40 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Graham Perrin freebsd_committer freebsd_triage 2022-01-14 11:53:07 UTC
% uname -aKU
FreeBSD mowa219-gjp4-8570p-freebsd 14.0-CURRENT FreeBSD 14.0-CURRENT #15 main-n252381-75d20a5e386: Wed Jan 12 04:39:40 GMT 2022     root@mowa219-gjp4-8570p-freebsd:/usr/obj/usr/src/amd64.amd64/sys/GENERIC  amd64 1400047 1400047
% sunclock
Image creation failed (memory alloc. problem?) !!
%
Comment 1 Fernando Apesteguía freebsd_committer freebsd_triage 2022-01-26 13:09:44 UTC
(In reply to Graham Perrin from comment #0)
And do you have enough memory? :-P

It runs OK in my 13.0-RELEASE-p4. I'll try to build it in a -CURRENT, but in the meantime, would you be able to get a backtrace? The error could come from one of 5 functions:


 if (strstr(path, ".gif"))
      code = readGIF(path, Context);
   else
   if (strstr(path, ".jpg"))
      code = readJPEG(path, Context);
   else
   if (strstr(path, ".png"))
      code = readPNG(path, Context);
   else
   if (strstr(path, ".vmf"))
      code = readVMF(path, Context);
   else
   if (strstr(path, ".xpm"))
      code = readXPM(path, Context);

   if (code) {
      report_failure(path, code);

It would also help to know which file is failing to load. Also, what do you get when you run:

ldd /usr/local/bin/sunclock

Cheers
Comment 2 Fernando Apesteguía freebsd_committer freebsd_triage 2022-01-27 11:15:10 UTC
I know my current is 2 weeks older than yours, but it works fine here:

$ uname -a
FreeBSD hammer 14.0-CURRENT FreeBSD 14.0-CURRENT #27 main-n251960-2c733b50c5a9: Tue Dec 28 09:32:59 CET 2021     root@hammer:/usr/obj/usr/src/amd64.amd64/sys/GENERIC  amd64
Comment 3 Graham Perrin freebsd_committer freebsd_triage 2022-12-23 08:40:55 UTC
(In reply to Fernando Apesteguía from comment #1)

How might I get a backtrace? 

% top d1 | more
last pid: 43528;  load averages:  2.79,  1.71,  1.53; battery: 99%  up 1+09:17:16    08:39:35
196 processes: 3 running, 193 sleeping
CPU: 10.7% user,  0.2% nice,  6.2% system,  0.1% interrupt, 82.8% idle
Mem: 8823M Active, 2919M Inact, 1249M Laundry, 2471M Wired, 347M Free
ARC: 597M Total, 206M MFU, 68M MRU, 3076K Anon, 51M Header, 268M Other
     57M Compressed, 230M Uncompressed, 4.07:1 Ratio
Swap: 16G Total, 6927M Used, 9457M Free, 42% Inuse


--More--(END)
% swapinfo
Device          1M-blocks     Used    Avail Capacity
/dev/ada0p2.eli     16384     6932     9451    42%
% pkg query -x '%o %n %v %R' '^png|sunclock' | sort
astro/sunclock sunclock 3.57_2 poudriere
graphics/png png 1.6.39 poudriere
% sunclock
Image creation failed (memory alloc. problem?) !!
% uname -aKU
FreeBSD mowa219-gjp4-8570p-freebsd 14.0-CURRENT FreeBSD 14.0-CURRENT #27 main-n259662-ebdf27b6f367-dirty: Sun Dec 11 11:31:52 GMT 2022     grahamperrin@mowa219-gjp4-8570p-freebsd:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG amd64 1400074 1400074
% ldd /usr/local/bin/sunclock
/usr/local/bin/sunclock:
        libXpm.so.4 => /usr/local/lib/libXpm.so.4 (0x35aac443e000)
        libjpeg.so.8 => /usr/local/lib/libjpeg.so.8 (0x35aac2db1000)
        libpng16.so.16 => /usr/local/lib/libpng16.so.16 (0x35aac2ec2000)
        libz.so.6 => /lib/libz.so.6 (0x35aac3ec6000)
        libX11.so.6 => /usr/local/lib/libX11.so.6 (0x35aac5765000)
        libm.so.5 => /lib/libm.so.5 (0x35aac498e000)
        libc.so.7 => /lib/libc.so.7 (0x35aac6c67000)
        libintl.so.8 => /usr/local/lib/libintl.so.8 (0x35aac5ae6000)
        libthr.so.3 => /lib/libthr.so.3 (0x35aac67f2000)
        libxcb.so.1 => /usr/local/lib/libxcb.so.1 (0x35aac78a5000)
        libXau.so.6 => /usr/local/lib/libXau.so.6 (0x35aac8747000)
        libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x35aac94a4000)
        [vdso] (0x35aac1d01000)
%