Date: Wed, 27 Oct 2021 20:24:37 -0300 From: Érico Nogueira <ericonr@...root.org> To: <musl@...ts.openwall.com> Subject: Re: freeswitch and musl 1.2.x (time64 most likely) On Wed Oct 27, 2021 at 7:16 PM -03, Sebastian Kemper wrote: > Hi all, > > I put OpenWrt with musl 1.2.x on my router. freeswitch was updated a bit > in preparation for time64 libc. This snippet was added: > > #if __USE_TIME_BITS64 > #define TIME_T_FMT SWITCH_INT64_T_FMT > #else > #define TIME_T_FMT "ld" > #endif > > And the few places where during compilation there were new warnings > (time_t related) I replaced some '%ld' with TIME_T_FMT and they > disappeared. What they should be doing is always defining TIME_T_FMT to "lld" and casting the values to be formatted to (long long). Hardcoding platform details like that is broken and just generally a terrible idea. I started working on a patch, you can find it here .  https://github.com/signalwire/freeswitch/pull/1409 However, the code does seem to be correct, so there's probably something wrong in a place where they aren't using TIME_T_FMT. > > But now I try to start freeswitch on the router and it doesn't work. It > either just exits somehow or it segfaults. The logs on the router show > that freeswitch puts the wrong time stamps. So there must still be some > time64 problem hidden somewhere. > > Wed Oct 27 23:44:35 2021 daemon.info freeswitch: 1970-01-01 > 00:24:12.-055227 0.00% [NOTICE] switch_loadable_module.c:223 Adding > Codec SPEEX 99 Speex 8000hz 20ms 1ch 24600bps > Wed Oct 27 23:44:35 2021 daemon.info freeswitch: 1970-01-01 > 00:24:12.-066240 0.00% [CONSOLE] switch_loadable_module.c:2191 open of > pre_load_modules.conf failed > Wed Oct 27 23:44:35 2021 daemon.info freeswitch: 1970-01-01 > 00:24:12.-066240 0.00% [INFO] switch_core_sqldb.c:3593 Opening DB > Wed Oct 27 23:44:35 2021 daemon.info freeswitch: 1970-01-01 > 00:24:12.-054973 0.00% [INFO] switch_core_sqldb.c:1842 CORE Starting SQL > thread. > Wed Oct 27 23:44:35 2021 daemon.info freeswitch: 1970-01-01 > 00:24:12.-062042 0.00% [CONSOLE] switch_loadable_module.c:1768 > Successfully Loaded [mod_logfile] > > This is the end of the log. And then freeswitch just disappeared. > > I'm not a programmer, so looking at the code is a bit of a hurdle :D I > think that the time basics are set up in src/switch_time.c () and > src/include/switch_apr.h (). I'm wondering if anybody could maybe > give these files a look and check if you see something obvious? * > (pretty please) * Or maybe give me a hint how to narrow it down? I guess > I should do a backtrace? Please do obtain a backtrace. A line number to look at helps plenty! > > Kind regards, > Sebastian > >  > https://github.com/signalwire/freeswitch/blob/master/src/switch_time.c >  > https://github.com/signalwire/freeswitch/blob/master/src/include/switch_apr.h
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.