Problems suspected to be related to _output() rework

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Pablo Neira Ayuso pablo at gnumonks.org
Thu May 19 00:16:03 UTC 2011


On 19/05/11 01:12, Harald Welte wrote:
> Hi all,
> 
> On Wed, May 18, 2011 at 04:10:20PM +0200, Holger Freyther wrote:
> 
>> The easiest guess is that we either need the va_start/va_end inside the loop
>> of _output, or need to copy the arguments again. to reproduce we should
>> probably use the same arch and GCC/(E)GLIBC version that harald is using.
> 
> My testing is on Debian unstable on x86_64 (libc6-2.13-4).  As
> indicated, reverting the commit Pablo indicated has fixed the problem.
> 
> I have not seen the problem manifset itself on Ubuntu 11.04 on i386.

While reading the manpages, I noticed this:

"The functions vprintf(), vfprintf(), vsprintf(), vsnprintf() are
equivalent to the functions printf(), fprintf(), sprintf(), snprintf(),
respectively, except that they are called with a va_list instead of a
variable number of arguments. These functions do not call the va_end
macro. Consequently, the value of ap is undefined after the call. The
application should call va_end(ap) itself afterwards."

I have attached a patch, it basically restores:
http://cgit.osmocom.org/cgit/libosmocore/commit/?id=81e9636454294ae10ef9bc8bf149dd0248afce76

But it includes a better notice.

Please, apply.
Thanks!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-logging.patch
Type: text/x-patch
Size: 1792 bytes
Desc: not available
URL: <http://lists.osmocom.org/pipermail/openbsc/attachments/20110519/38c3d9ef/attachment.bin>


More information about the OpenBSC mailing list