OSSP CVS Repository |
![]() |
|
Key: | Active | Review | Fixed | Tested | Deferred | Closed |
# | Type | Status | Created | By | Subsys | Changed | Assigned | Svr | Pri | Title | |
---|---|---|---|---|---|---|---|---|---|---|---|
Description | |||||||||||
Remarks | |||||||||||
209 | event | new | 2024 Sep | anonymous | 2024 Sep | 5 | 5 | Notice of new upstream: https://sr.ht/~nabijaczleweli/ossp | edit | ||
Please see ¤https://sr.ht/~nabijaczleweli/ossp
For anyone reporting, please direct new bugs there (¤https://todo.sr.ht/~nabijaczleweli/ossp), you can report without an account by mail at <~nabijaczleweli/ossp@todo.sr.ht>. For any thawed-out programs, please see if there's any new versions, too (¤https://lists.sr.ht/~nabijaczleweli/ossp). | |||||||||||
208 | code | new | 2023 Nov | anonymous | uuid | 2023 Nov | rse | 1 | 1 | IP | edit |
D9:2B:67:4C:AF:65:0F:58:3C:BF:50:7E:59:71:B2:AF | |||||||||||
207 | code | new | 2023 Oct | anonymous | uuid | 2023 Oct | rse | 1 | 1 | Build error with MinGW cross-compilation | edit |
A MinGW build fails with
libtool: install: ./shtool install -c -m 755 -s .libs/uuid /nix/store/r8clhx2d35c4iy3y299ifx1i8lpaphcx-libossp-uuid-x86_64-w64-mingw32-1.6.2/bin/uuid cp: cannot stat '.libs/uuid': No such file or directory The problem is that the built executable file has a .exe suffix which needs to be accounted for. The following patch fixes this in a cross-platform way: diff --git a/Makefile.in b/Makefile.in --- a/Makefile.in +++ b/Makefile.in @@ -56,6 +56,7 @@ CP = cp RMDIR = rmdir SHTOOL = $(S)/shtool LIBTOOL = $(C)/libtool +EXEEXT = @EXEEXT@ TRUE = true POD2MAN = pod2man PERL = @PERL@ @@ -253,7 +254,7 @@ install: -@if [ ".$(WITH_CXX)" = .yes ]; then \ $(LIBTOOL) --mode=install $(SHTOOL) install -c -m 644 $(CXX_NAME) $(DESTDIR)$(libdir)/; \ fi - @$(LIBTOOL) --mode=install $(SHTOOL) install -c -s -m 755 uuid $(DESTDIR)$(bindir)/ + @$(LIBTOOL) --mode=install $(SHTOOL) install -c -s -m 755 $(PRG_NAME)$(EXEEXT) $(DESTDIR)$(bindir)/ $(SHTOOL) install -c -m 644 $(S)/uuid.1 $(DESTDIR)$(mandir)/man1/ -@if [ ".$(WITH_PERL)" = .yes ]; then \ (cd $(S)/perl && $(MAKE) $(MFLAGS) install DESTDIR=$(DESTDIR)); \ | |||||||||||
206 | code | new | 2022 May | anonymous | uuid | 2022 May | rse | 3 | 4 | Data::UUID compat create_from_name() is broken | edit |
Hi,
the create_from_namespace() method actually never uses the provided namespace (parameter $nsid).
--- a/Data/UUID.pm +++ b/Data/UUID.pm @@ -61,7 +61,7 @@ my ($self, $nsid, $name) = @_; my $uuid = OSSP::uuid->new; my $nsiduuid = OSSP::uuid->new; - $nsiduuid->import('bin', $nsiduuid); + $nsiduuid->import('bin', $nsid); $uuid = OSSP::uuid->new; $uuid->make('v3', $nsiduuid, $name); return $uuid->export('bin'); Not sure if fixing this is actually a good idea. Doing so would mean the code would start generating different UUIDs for the same input. OTOH the current state makes this non-interoperable with other implementations. | |||||||||||
205 | code | new | 2021 Feb | anonymous | uuid | 2021 Feb | rse | 5 | 2 | typo in uuid.so | edit |
There is a typo "contant" in uuid.so. It should probably read "constant"? Like: $ perl -MOSSP::uuid -le 'print OSSP::uuid->new->typo' unknown contant OSSP::uuid::typo at -e line 1. TIA && Cheers | |||||||||||
5 | code | new | 2002 Nov | setup | mm | 2020 Aug | anonymous | 1 | 2 | This module cause a problem with Apache and PHP4 | edit |
Hi,
I'm trying to use Apache 1.3.26 with php4: 4.2.2-82 and libmm 1.2.1 When trying to start Apache with this combination, following error message is created: PHP Fatal error: Unable to start session mm module in Unknown on line 0 I have checked for the error on google and this seems to be a very widely seen problem. Some people have traced it down to libmm. See here a very usefull url, describing the potential problem cause: ¤http://garbo.uwasa.fi/pub/linux/SuSE_update/8.0/patches/mm-1118 And here is a quote of the problem from the above link: --start of quote (At initialization, the PHP interpreter tries to get an as large shared memory segment as possible, and MM would try to allocate more than by default is available via /proc/sys/kernel/shmmax. "PHP Fatal error: Unable to start session mm module in Unknown on line 0". In this package the MM internal maximum value is set according to the system default shmmax value again (32MB) --end of quote Can you fix this problem in the next build of libmm, so that it will be included in new distributions (like SuSE, which I'm using myself)? It will safe a lot of people a lot of time, trying to find some patch for their current distribution. Thanks and kind regards, Alex Wulms | |||||||||||
204 | event | new | 2019 Aug | anonymous | uuid | 2019 Aug | 1 | 1 | Unable to connect to ftp | edit | |
When clicking on any link leading to uuid software (not just v 1.6.2), the connection to the ftp cannot be established. | |||||||||||
203 | code | new | 2017 Nov | anonymous | uuid | 2017 Nov | rse | 1 | 2 | Trouble configuring with clang++ on android platform, arch-arm64 | edit |
I am configuring with CC environment variable pointing to clang++, specifically from the android-ndk-r15c release. Also I am running the configure script with --host aarch64-none-linux-android although I also tried the triplet x86_64-linux-android with no success.
The configure script is stopping with checking host system type... Invalid configuration `x86_64-linux-android`: system `android` not recognized Is there a workaround for this? I would be OK with using a regular C compiler however I chose clang++ because the ndk examples on android are all using it, and I need to gain more experience before attempting to build examples and existing code with regular C. Thank you. | |||||||||||
202 | doc | new | 2016 Jun | anonymous | uuid | 2016 Jun | rse | 3 | 1 | export uuid | edit |
Existe a possibildiade de usar a biblioteca uuid em aplicativos em pascal/delphi? | |||||||||||
201 | doc | new | 2016 Jun | anonymous | uuid | 2016 Jun | rse | 3 | 1 | export uuid | edit |
Existe a possibildiade de usar a biblioteca uuid em aplicativos em pascal/delphi? | |||||||||||
200 | code | new | 2015 Sep | anonymous | uuid | 2015 Sep | rse | 3 | 3 | uuid.pc.in does not use the right autoconf variables for paths | edit |
uuid.pc.in does not use the correct variables to define exec_prefix, includedir and libdir. As a result, if a build system overrides the default, the exported location hints are wrong. Eg: ¤https://github.com/Homebrew/homebrew/issues/43843 OSX's HomeBrew passes "--includedir=#{include}/ossp", but the generated uuid.pc does NOT use it, so the header location is wrong.
This simple patch fixes it: --- uuid.pc.in 2015-09-12 04:03:34.921192349 +0100 +++ uuid.pc.in 2015-09-12 04:13:53.226386329 +0100 @@ -30,5 +30,5 @@ prefix=@prefix@ -exec_prefix=${prefix} -includedir=${prefix}/include -libdir=${exec_prefix}/lib +exec_prefix=@exec_prefix@ +includedir=@includedir@ +libdir=@libdir@ | |||||||||||
199 | code | new | 2015 Apr | anonymous | uuid | 2015 Apr | rse | 1 | 1 | aggregate 'uuid_t uu' has incomplete type and cannot be defined | edit |
I try to install libdap 3.14.0 on CentOS 7. The system is fresh new meaning no 'libuuid-devel' is installed. I want to manually install uuid, and it is built successfuly. But when I built libdap, I encountered the following error:
DODSFilter.cc: In member function 'virtual void libdap::DODSFilter::dataset_constraint_ddx(libdap::DDS&, libdap::ConstraintEvaluator&, std::ostream&, const string&, const string&, bool) const': DODSFilter.cc:895:12: error: aggregate 'uuid_t uu' has incomplete type and cannot be defined uuid_t uu; ^ DODSFilter.cc:896:21: error: 'uuid_generate' was not declared in this scope uuid_generate(uu); ^ DODSFilter.cc:898:30: error: 'uuid_unparse' was not declared in this scope uuid_unparse(uu, &uuid[0]); | |||||||||||
198 | code | new | 2015 Mar | anonymous | uuid | 2015 Mar | rse | 2 | 2 | Cannot cross compile for ARM architecture | edit |
Executing:
./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++
Generate error from configure: ... checking for accept in -lsocket... no checking for va_copy() function... configure: error: cannot run test program while cross compiling See `config.log' for more details. The problem is AC_CHECK_VA_COPY() from uuid.ac file. Workaround: ac_cv_va_copy=C99 ./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ | |||||||||||
197 | code | new | 2014 Oct | anonymous | lmtp2nntp | 2014 Oct | thl | 1 | 1 | 550 5.1.1 Recipient did not transform into group. | edit |
I have a problem to bring this gateway to a new server.
we have used this Software for many years on an old SuSe System. without problems.
after porting this Gateway to the actual Opensuse this program should not working as expected. Both Systems using an MTA with Postfix. So the Konfiguration of the Gateway could leave as is. I dont understand what is going wrong. when I will send a Mail to the Gateway in the same manner as the old system I keep following Message:
<mcc.fn.test@lmtp2nntp.invalid> (expanded from <mcc.fn.test@mail2news.mobilcom.de>): host 127.0.0.1[127.0.0.1] said: 550 5.1.1 Recipient did not transform into group. (in reply to RCPT TO command) Reporting-MTA: dns; hermes.mobilcom.de X-Postfix-Queue-ID: B04F836041 X-Postfix-Sender: rfc822; jim.panse@mailhost-new.mobilcom.de Arrival-Date: Mon, 20 Oct 2014 18:24:43 +0200 (CEST) Final-Recipient: rfc822; mcc.fn.test@lmtp2nntp.invalid Original-Recipient: rfc822;mcc.fn.test@mail2news.mobilcom.de Action: failed Status: 5.1.1 Remote-MTA: dns; 127.0.0.1 Diagnostic-Code: smtp; 550 5.1.1 Recipient did not transform into group. At this time the gateway does not contact the news system and does not check for the existence of this newsgroup. I know this piece of code is very old, but there is no alternativ at the market to do the same. Kind Regards Bernd | |||||||||||
196 | code | new | 2013 Dec | anonymous | uuid | 2013 Dec | rse | 1 | 1 | Unable to cross compile due to AC_TRY_RUN | edit |
When trying to cross compile uuid for arm configure stops with following error:
checking for va_copy() function... configure: error: cannot run test program while cross compiling
This is due to AC_TRY_RUN(__va_copy_test($2), [ac_cv_va_copy="$1"]) in aclocal.m4. I worked around this problem by defining ac_cv_va_copy=C99 as an environment variable before configure. It would be nice to have cross compilation working out of the box | |||||||||||
195 | code | new | 2013 Nov | anonymous | pth | 2013 Nov | rse | 2 | 3 | Correctly detect FD_SETSIZE even on AIX. | edit |
Hi Ralf!
On AIX I do encounter this compilation error: ./libtool --mode=compile --quiet powerpc-ibm-aix7.1.0.0-gcc -c -I. -O2 -pipe pth_debug.c In file included from pth_p.h.in:54, from pth_debug.c:29: pth.h:93:2: error: #error "FD_SETSIZE is larger than what GNU Pth can handle." Makefile:154: recipe for target 'pth_debug.lo' failed make: *** [pth_debug.lo] Error 1 Ok, AIX defines this one: $ grep 'define *FD_SETSIZE' /usr/include/sys/*.h /usr/include/sys/time.h:#define FD_SETSIZE 65534 Wondering what the relevant configure part was: checking for default value of FD_SETSIZE... 1024 And in config.log: configure:19255: checking for default value of FD_SETSIZE configure:19286: powerpc-ibm-aix7.1.0.0-gcc -o conftest -O2 -pipe conftest.c >&5 conftest.c: In function 'main': conftest.c:53: error: 'fd_set' undeclared (first use in this function) conftest.c:53: error: (Each undeclared identifier is reported only once conftest.c:53: error: for each function it appears in.) conftest.c:56: warning: incompatible implicit declaration of built-in function 'exit' configure:19286: $? = 1 configure: program exited with status 1 Ok, fixing these both problems (error and warning) with this diff: --- pth-2.0.7/aclocal.m4 +++ pth-2.0.7/aclocal.m4 @@ -1185,7 +1185,9 @@ changequote(<<, >>)dnl << #include <stdio.h> +#include <stdlib.h> #include <sys/types.h> +#include <sys/time.h> #include <unistd.h> int main(int argc, char *argv[]) { After promoting this patch to configure, the relevant line reads: checking for default value of FD_SETSIZE... 65534 and the compilation succeeds. Also, 'make test' tells this result now: Pth: OK: powerpc-ibm-aix7.1.0.0 | mcsc/sc/mc | down | 2.0.7 Thank you! /haubi/ | |||||||||||
194 | code | new | 2013 Jul | anonymous | 2013 Jul | rse | 1 | 1 | Errors while compiling: libuuid.a could not read symbols: Bad value. | edit | |
Compiling on x86_64 Arch Linux results in the following error: /usr/bin/ld: src/perlDeps/uuid-1.6.2/perl/../build/.libs/libuuid.a(uuid.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC src/perlDeps/uuid-1.6.2/perl/../build/.libs/libuuid.a: could not read symbols: Bad value collect2: error: ld returned 1 exit status make[1]: *** [blib/arch/auto/OSSP/uuid/uuid.so] Error 1 make[1]: Leaving directory `src/perlDeps/uuid-1.6.2/perl' make: *** [all] Error 2 | |||||||||||
190 | code | new | 2012 Jun | anonymous | uuid | 2013 May | rse | 1 | 1 | v1 uuids not working on Linux or with MAC addrs with high-bit set | edit |
I can't get a v1 uuid on CentOS 6.2 or Fedora 16 with 1.6.2.
[philipp@builder ~]$ uuid -v1
Also, note that when using NetworkManager, eth0 gets renamed as p6p1, so the Linux code won't find "eth0". Looking at uuid.c:970: /* * GENERATE NODE */ if ((mode & UUID_MAKE_MC) || (uuid->mac[0] & BM_OCTET(1,0,0,0,0,0,0,0))) { what is this code testing for in the right-hand side? Is it testing whether the MAC address was undiscovered? If so, you need to test all 6 octets, i.e. !memcmp(uuid->mac, "\200\0\0\0\0\0", MAC_LEN) instead. If you're testing for a Multicast address, you want: (uuid->mac[0] & IEEE_MAC_MCBIT) instead. | |||||||||||
2012-Jun-07 09:04:13 by anonymous: Applied a fix here: bugzilla.redhat.com/show_bug.cgi?id=829532 please note that configure (or configure.ac or one of its include files) needs to detect /usr/include/netpacket/packet.h on linux. 2013-Apr-12 19:25:19 by anonymous: This is a trivial fix. Can we please get some movement on this? Thanks. 2013-May-30 21:16:49 by anonymous: If there's a problem with the fix, can you please add a comment saying so that I may rework the patch? | |||||||||||
193 | code | new | 2013 May | anonymous | uuid | 2013 May | rse | 4 | 3 | libossp-uuid should not use install -s; cross-compilation issue | edit |
It's more challenging than one would like to cross-compile libossp-uuid. This is in part because it uses 'install -s' in its makefile. This whitepaper has some information about why this is a problem: ¤https://www.kernel.org/doc/ols/2004/ols2004v2-pages-163-174.pdf‎
In a nutshell, the strip binary doesn't work when it encounters a file from a different architecture. So when 'install' invokes '/usr/bin/strip' it gets the wrong version of strip when cross-compiling. A cleaner solution is to define STRIP in the makefile and invoke it directly. That way, a cross-compile environment can just override $STRIP. Thanks! | |||||||||||
192 | code | new | 2012 Nov | anonymous | cfg | 2012 Nov | rse | 1 | 3 | cfg_export dumps core on FreeBSD, Darwin | edit |
When attempting to evaluate libcfg for a project I'm starting, I ran the test on my FreeBSD 9 and OS X which dumped core. It looks like there's some incorrect usage of va_list variables given that the va_arg() call that initializes s on line 908 of cfg_fmt.c returns invalid memory. I put a va_copy() at the top of cfg_fmt_format(), making a copy of ap, and changed cfg_fmt_format() to operate on that copy. The test then passes. I'm not sure if this is the right solution, but at least the code runs and passes its test. | |||||||||||
2012-Nov-03 02:12:26 by anonymous: I should mention that the test runs and passes on Linux and and Solaris. | |||||||||||
191 | code | new | 2012 Oct | anonymous | mm | 2012 Oct | rse | 1 | 1 | two process don't map the same address with same parameter of file | edit |
I have two process, write and read. The two process build the shared memory with mm_create, and parameter of file point the same file. but the return point MM point the different address. | |||||||||||
189 | new | new | 2012 Feb | anonymous | mm | 2012 Feb | rse | 5 | 3 | SIZE_T is preferred than INT for pointer-sized math / printf functions | edit |
Substitute "int" type usage with "size_t" as needed. Possible bugs on ia64/x86-64 platforms (no exploit, however). Contact me for slightly patched version. | |||||||||||
188 | todo | new | 2011 Jul | anonymous | mm | 2011 Jul | rse | 1 | 1 | FTP crashed | edit |
Error 324 (net::ERR_EMPTY_RESPONSE) | |||||||||||
187 | event | new | 2011 Jun | anonymous | uuid | 2011 Jun | rse | 4 | 4 | Unable to make install from build directory other than source director | edit |
Host OS:
OS X 10.6.8 Configure (OK): Golan-Trevize:ossp-uuid-1.6.2 grahamreitz$ ../../source-dir/ossp-uuid/uuid-1.6.2/configure --prefix=/Users/grahamreitz/Development/root/usr/local --without-perl --without-php --without-pgsql Configuring OSSP uuid (Universally Unique Identifier), version 0.1.0 (24-Jun-2011) ... configure: creating ./config.status config.status: creating Makefile config.status: creating uuid-config config.status: creating uuid.pc config.status: creating uuid.h config.status: creating config.h config.status: executing libtool commands config.status: executing adjustment commands Make (OK): Golan-Trevize:ossp-uuid-1.6.2 grahamreitz$ make ... gcc -I. -I../../source-dir/ossp-uuid/uuid-1.6.2 -DHAVE_CONFIG_H -O2 -pipe -c ../../source-dir/ossp-uuid/uuid-1.6.2/uuid_cli.c libtool: link: gcc -o .libs/uuid uuid_cli.o ./.libs/libuuid.dylib Make check (OK): Make Install (ERROR): Golan-Trevize:ossp-uuid-1.6.2 grahamreitz$ make install ../../source-dir/ossp-uuid/uuid-1.6.2/shtool mkdir -f -p -m 755 /Users/grahamreitz/Development/root/usr/local ../../source-dir/ossp-uuid/uuid-1.6.2/shtool mkdir -f -p -m 755 /Users/grahamreitz/Development/root/usr/local/bin ../../source-dir/ossp-uuid/uuid-1.6.2/shtool mkdir -f -p -m 755 /Users/grahamreitz/Development/root/usr/local/include ../../source-dir/ossp-uuid/uuid-1.6.2/shtool mkdir -f -p -m 755 /Users/grahamreitz/Development/root/usr/local/lib/pkgconfig ../../source-dir/ossp-uuid/uuid-1.6.2/shtool mkdir -f -p -m 755 /Users/grahamreitz/Development/root/usr/local/share/man/man3 ../../source-dir/ossp-uuid/uuid-1.6.2/shtool mkdir -f -p -m 755 /Users/grahamreitz/Development/root/usr/local/share/man/man1 ../../source-dir/ossp-uuid/uuid-1.6.2/shtool install -c -m 755 uuid-config /Users/grahamreitz/Development/root/usr/local/bin/ ../../source-dir/ossp-uuid/uuid-1.6.2/shtool install -c -m 644 ../../source-dir/ossp-uuid/uuid-1.6.2/uuid-config.1 /Users/grahamreitz/Development/root/usr/local/share/man/man1/ ../../source-dir/ossp-uuid/uuid-1.6.2/shtool install -c -m 644 ../../source-dir/ossp-uuid/uuid-1.6.2/uuid.pc /Users/grahamreitz/Development/root/usr/local/lib/pkgconfig/ cp: ../../source-dir/ossp-uuid/uuid-1.6.2/uuid.pc: No such file or directory make: *** [install] Error 1 | |||||||||||
186 | code | new | 2011 May | anonymous | uuid | 2011 May | rse | 4 | 3 | 'make install' fails on OS X 10.6.7 from a sub build directory | edit |
1) mkdir build (inside ossp-uuid package root)
2) cd build
3) ../configure (Ok)
4) make (Ok)
5) make check (Ok)
6) make install (See below)
Installs without error when installed from the package root directory. Golan-Trevize:build grahamreitz$ sudo make install ../shtool mkdir -f -p -m 755 /usr/local ../shtool mkdir -f -p -m 755 /usr/local/bin ../shtool mkdir -f -p -m 755 /usr/local/include ../shtool mkdir -f -p -m 755 /usr/local/lib/pkgconfig ../shtool mkdir -f -p -m 755 /usr/local/share/man/man3 ../shtool mkdir -f -p -m 755 /usr/local/share/man/man1 ../shtool install -c -m 755 uuid-config /usr/local/bin/ ../shtool install -c -m 644 ../uuid-config.1 /usr/local/share/man/man1/ ../shtool install -c -m 644 ../uuid.pc /usr/local/lib/pkgconfig/ cp: ../uuid.pc: No such file or directory make: *** [install] Error 1 | |||||||||||
185 | code | new | 2011 Mar | anonymous | uuid | 2011 Mar | rse | 3 | 2 | uuid_to_string (uuid_dce_to_string) does not work | edit |
From this function, calling uuid_export incorrectly which means this function never works. A patch is included ...
*** uuid_dce.c Fri Mar 18 13:44:57 2011 --- uuid_dce.c.new Fri Mar 18 13:56:35 2011 *************** *** 248,254 **** LEAVE; vp = str; len = UUID_LEN_STR; ! if (uuid_export(uuid, UUID_FMT_STR, &vp, &len) != UUID_RC_OK) LEAVE; /* indicate successful operation */ --- 248,254 ---- LEAVE; vp = str; len = UUID_LEN_STR; ! if (uuid_export(uuid, UUID_FMT_STR, vp, &len) != UUID_RC_OK) LEAVE; /* indicate successful operation */ | |||||||||||
184 | doc | new | 2010 Dec | anonymous | uuid | 2010 Dec | rse | 3 | 4 | Broken links for Documentation on the page for "OSSP uuid" | edit |
This page for UUID:
¤http://www.ossp.org/pkg/lib/uuid/
Has broken links under the Documentation heading. The report: --- man.cgi: ERROR Can't use an undefined value as filehandle reference (line 104). --- For example, the first broken link is: ¤http://www.ossp.org/man/man.cgi/pkg/lib/uuid/uuid.pod --Basil Bourque | |||||||||||
183 | code | new | 2010 Oct | anonymous | uuid | 2010 Oct | rse | 4 | 4 | uuid.pc fails to install when building outside source tree | edit |
Trying to build the uuid library from outside the source tree, I get an error at the "make install" stage:
~/build/uuid-1.6.2$ ~/src/uuid-1.6.2/configure --prefix=$HOME/local ... [success] ~/build/uuid-1.6.2$ make ... [success] ~/build/uuid-1.6.2$ make install ... ~/src/uuid-1.6.2/shtool install -c -m 644 ~/src/uuid-1.6.2/uuid.pc ~/local/lib/pkgconfig/ cp: cannot stat `~/src/uuid-1.6.2/uuid.pc': No such file or directory make: *** [install] Error 1 (I've replaced my $HOME with ~ in the output for brevity.) The problem appears to be that the install rule is trying to copy uuid.pc from the source tree rather than the build tree (where it can actually be found). Other than that, everything seems to work fine. | |||||||||||
182 | new | new | 2010 Sep | anonymous | uuid | 2010 Sep | rse | 3 | 3 | UUID: Please Support Win64 | edit |
According to David Page of EnterpriseDB, ossp-uuid doesn't work on Win64, and thus the uuid-ossp contrib module of PostgreSQL cannot be included on the Windows x64 builds.
If he is correct, please add support for Win64 to ossp-uuid. If he is incorrect, feel free to close this bug and I'll shoot this back to the PostgreSQL/EnterpriseDB folks. See: ¤http://archives.postgresql.org/pgsql-general/2010-09/msg01088.php | |||||||||||
181 | new | new | 2010 Sep | anonymous | uuid | 2010 Sep | rse | 2 | 3 | Please provide a namespaced header/pkg-config file | edit |
On a given system, it's anyone's guess whether the result of #include <uuid.h> comes from OSSP uuid, or from e2fsprogs libuuid (¤https://sourceforge.net/projects/e2fsprogs/). Debian currently patches OSSP uuid to rename it to ossp-uuid, to avoid this, but that doesn't solve the problem for non-Debian OSs.
Compounding this problem, both projects install uuid.pc, so if you do a pkg-config check for "uuid", it's anyone's guess which API you'll end up with. ¤https://bugs.freedesktop.org/show_bug.cgi?id=22972 has more on this. It would be very useful if you could add a header with a namespaced name (/usr/include/ossp-uuid.h would work, for instance), move the uuid declarations there, and make your uuid.h just #include "ossp-uuid.h" for backwards compatibility. Similarly, it'd be great if you could provide ossp-uuid.pc (which is what the Debian package calls it already) in addition to uuid.pc. I've filed a very similar feature request on e2fsprogs. | |||||||||||
180 | doc | new | 2010 Jan | anonymous | mm | 2010 Feb | rse | 4 | 3 | MM manual pages broken on ossp.org | edit |
hi,
At ¤http://www.ossp.org/pkg/lib/mm/ the manuals are not available, the server reports an error. | |||||||||||
2010-Feb-26 04:02:26 by anonymous: Feb 26, and the man pages are still borked! 2010-Feb-26 04:04:20 by anonymous: /man/man.cgi/pkg/lib/shtool/shtool.pod man.cgi: ERROR Can't use an undefined value as filehandle reference (line 104). | |||||||||||
179 | code | new | 2010 Jan | anonymous | uuid | 2010 Jan | rse | 2 | 1 | unable to call uuid_compare on OS X | edit |
on OS X, vendor uuid_compare is contained in a runtime library, which you cannot avoid linking to (see ¤http://developer.apple.com/mac/library/DOCUMENTATION/Darwin/Reference/ManPages/man3/uuid_compare.3.html).
My hacky solution to this problem was to add the following code to uuid.h.in, before compiling and installing ossp-uuid. /* OS X ships with 'int uuid_compare(uuid_t uu1, uuid_t uu2)' in the c library. This will always be picked up when linking. So use a non conflicting name. */ #ifdef __APPLE__ #define uuid_compare ossp_uuid_compare #endif Maybe there's a better way to solve this? | |||||||||||
178 | code | new | 2009 Oct | anonymous | 2009 Oct | rse | 2 | 1 | Problem compiling uuid-1.6.2 | edit | |
# make make[1]: Entering directory `/tmp/uuid-1.6.2/php' ./configure: line 1623: PHP_INIT_BUILD_SYSTEM: command not found ./configure: line 1629: syntax error near unexpected token `config.nice' ./configure: line 1629: `PHP_CONFIG_NICE(config.nice)' make[1]: *** [config] Error 2 make[1]: Leaving directory `/tmp/uuid-1.6.2/php' make: *** [php/modules/uuid.so] Error 2 | |||||||||||
177 | new | new | 2009 Oct | anonymous | uuid | 2009 Oct | rse | 3 | 3 | Makefile does not use LDFLAGS | edit |
There are link problems when building multi arch binaries on Mac OS X
Mac ports work around it with this patch: ¤http://trac.macports.org/browser/trunk/dports/devel/ossp-uuid/files/patch-Makefile.in.diff This is probably the same issue as ticket | |||||||||||
176 | code | new | 2009 Sep | anonymous | mm | 2009 Sep | rse | 2 | 3 | CFLAGS not passed to libtool on linkage preventing 64 bit build | edit |
When building a 64 bit library an error is produced on linkage:
... ./libtool --quiet --mode=compile /opt/studio/SOS11/SUNWspro/bin/cc -c -xO3 -xarch=v9 -I/opt/csw/include mm_vers.c ./libtool --quiet --mode=link /opt/studio/SOS11/SUNWspro/bin/cc -o libmm.la mm_global.lo mm_alloc.lo mm_core.lo mm_lib.lo mm_vers.lo \ -rpath /opt/csw/lib/64 -version-info `./shtool version -l c -d libtool mm_vers.c` ./libtool --quiet --mode=compile /opt/studio/SOS11/SUNWspro/bin/cc -c -xO3 -xarch=v9 -I/opt/csw/include mm_test.c ./libtool --quiet --mode=link /opt/studio/SOS11/SUNWspro/bin/cc -o mm_test mm_test.lo libmm.la ld: fatal: file .libs/mm_test.o: wrong ELF class: ELFCLASS64 ld: fatal: File processing errors. No output written to .libs/mm_test gmake[2]: *** [mm_test] Error 1 This is because the CFLAGS turning on 64 bit are not passed to libtool. | |||||||||||
2009-Sep-09 16:45:33 by anonymous: This patch solves the problem: diff -Naur mm-1.4.2.orig/Makefile.in mm-1.4.2.patched/Makefile.in --- mm-1.4.2.orig/Makefile.in 2006-08-10 21:05:55.000000000 +0200 +++ mm-1.4.2.patched/Makefile.in 2009-09-09 16:25:45.161331795 +0200 @@ -75,14 +75,14 @@ all: $(LIBS) $(MANS) $(TSTS) libmm.la: $(OBJS) - $(LIBTOOL) --quiet --mode=link $(CC) -o $@ $(OBJS) \ + $(LIBTOOL) --quiet --mode=link $(CC) $(CFLAGS) -o $@ $(OBJS) \ -rpath $(libdir) -version-info `$(SHTOOL) version -l c -d libtool mm_vers.c` mm_alloc.c mm_core.c mm_global.c: mm.h mm_vers.c mm.h: config.h mm_test: mm_test.lo libmm.la - $(LIBTOOL) --quiet --mode=link $(CC) -o $@ mm_test.lo libmm.la + $(LIBTOOL) --quiet --mode=link $(CC) $(CFLAGS) -o $@ mm_test.lo libmm.la mm.3: mm.pod V1=`$(SHTOOL) version -l c -d short mm_vers.c`; \ | |||||||||||
6 | code | new | 2002 Dec | anonymous | str | 2009 Jun | rse | 3 | 3 | str_vformat with %.10s specifier can read invalid memory | edit |
str_vformat() with a format string of '%.10s' can read undefined memory if the string is not NUL terminated.
I fixed this by changing the following code from around line 857 of str_format.c: case 's': s = va_arg(ap, char *); if (s != NULL) { s_len = str_len(s); if (adjust_precision && precision < s_len) s_len = precision; } else { s = S_NULL; s_len = S_NULL_LEN; } pad_char = ' '; break; to: case 's': s = va_arg(ap, char *); if (s != NULL) { const char *p = s; int maxlen = adjust_precision ? precision : INT_MAX; s_len = 0; while (*p++ != 0 && maxlen-- > 0) s_len++; if (adjust_precision && precision < s_len) s_len = precision; } else { s = (char *) S_NULL; s_len = S_NULL_LEN; } pad_char = ' '; break; (There are probably better fixes.) Hope that's helpful, Joseph Heenan | |||||||||||
2009-Jun-15 13:34:58 by anonymous: the above code can still give a warning in valgrind; it's best to change the: while (*p++ != 0 && maxlen-- > 0) to: while (maxlen-- > 0 && *p++ != 0) | |||||||||||
173 | code | new | 2009 Jun | anonymous | str | 2009 Jun | rse | 3 | 3 | bug in OSSP str_format.c %x handling? | edit |
One of my colleagues found that %x sometimes doesn't output the '0x', particularily "%d : %x", a, b doesn't print the 0x when a == 0.
It appears this code could be at fault: /* Unsigned Hexadecimal Integer */ case 'x': case 'X': if (var_type == IS_QUAD) { ui_quad = va_arg(ap, u_quad_int); s = conv_p2_quad(ui_quad, 4, *fmt, &num_buf[NUM_BUF_SIZE], &s_len); } else { if (var_type == IS_LONG) ui_num = (u_long_int)va_arg(ap, u_long_int); else if (var_type == IS_SHORT) ui_num = (u_long_int)(unsigned short)va_arg(ap, unsigned int); else ui_num = (u_long_int)va_arg(ap, unsigned int); s = conv_p2(ui_num, 4, *fmt, &num_buf[NUM_BUF_SIZE], &s_len); } FIX_PRECISION(adjust_precision, precision, s, s_len); if (alternate_form && i_num != 0) { *--s = *fmt; /* 'x' or 'X' */ *--s = '0'; s_len += 2; } break; I think the: if (alternate_form && i_num != 0) { should be: if (alternate_form && ui_num != 0) { | |||||||||||
172 | new | new | 2009 Apr | anonymous | uuid | 2009 Apr | rse | 4 | 4 | uuid changes behaviour under Linux when the ethernet device is'nt eth0 | edit |
When uuid is run under Linux, and the ethernet device is not eth0, it silently falls back to using random multicast MAC addresses for v1 uuids. While v1 UUIDs may be conseidered insecure because they allow the generating machine to be identified, they are often useful for the same reason.
udev Linux distros link the MAC addresses with the device names, so that removable devices don't randomly change configuration, and fixed hardware doesn't depend on driver load order. This can result in a machine that has eth2, but not eth[01], for example. This appears to affect programs that use the library as well, and not just the CLI, but that's where I discovered it so I'm reporting it as such. Steps to reproduce: Set up a udev Linux distro (Ubuntu, Debian, etc.), then change the ethernet hardware, and run uuid. Expected behaviour: uuid should use the new MAC address. Actual behaviour: uuid does not identify the new ethernet address and silently used random multicast MAC addresses. Workaround: Reconfigure udev to make the new device eth0. Suggested fixes: 1. Discover device names, or iterate through potential ones. 2. Emit a warning if uuid expected to use a hardware address but couldn't. 3. Allow a MAC address to be specified. 4. Allow an ethernet device to be specified, either on the command line or through an environment variable. | |||||||||||
170 | code | new | 2009 Feb | anonymous | ex | 2009 Feb | rse | 1 | 1 | [OSX] make install fails to install package with abstract message | edit |
system: iMactel OSX10.5.6, xcode 3.0, gcc 4.0.1
When installing the package, a message is generated and no files are installed. The message is "make: `install' is up to date." A. | |||||||||||
164 | code | new | 2008 Jan | anonymous | uuid | 2009 Feb | rse | 2 | 2 | Header doesn't work if <unistd.h> is included first | edit |
PostgreSQL 8.3's --with-ossp-uuid looks for uuid.h but, in the process, first loads unistd.h, and on Mac OS X at least, this include is not compatible with UUID. Details here:
Details here: http://archives.postgresql.org/pgsql-bugs/2008-01/msg00255.php Thanks, David | |||||||||||
2009-Feb-04 09:01:28 by anonymous: Hi! I was wondering if there were some news on this issue (which seems to be the same issue as ticket #81). I'm facing the same problem on OS X 10.5.6 when I use AC_CHECK_HEADERS(uuid.h) in my configure.ac. Any solutions? - Jan | |||||||||||
169 | code | new | 2008 Jul | anonymous | uuid | 2008 Jul | rse | 3 | 3 | return representation too 'C' for string(). | edit |
For string() and such, the return format is a char * ... this means the caller has to free() some allocated memory (kind of ugly).
A better solution would be to return an std::string. Though this may break some existing user's compatibility, it will make uuid much nicer to use, rather than: char *sid = id.string(); printf("%s\n", sid); free(sid); I could just do: printf("%s\n", id.string().c_str()); | |||||||||||
166 | code | new | 2008 Mar | anonymous | pth | 2008 Mar | rse | 1 | 1 | pth does not compile | edit |
I'm trying to compile pth for arm on openmoko using open embedded.
( ¤http://bugs.openembedded.org/show_bug.cgi?id=3988 ) I noticed someone having the same problem on collie too ( ¤http://www.oesf.org/forum/index.php?s=52d73b73f22aeb6eff52436e04055954&showtopic=23905 )
I'm trying to build with gcc-4.1.2 and glibc-2.5. Any hint on how to get it to compile would be appreciated. It fails on: ./libtool --mode=compile --quiet arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t -c -isystem/home/moko/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/include -I. -isystem/home/moko/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -I/home/moko/build/tmp/work/armv4t-angstrom-linux-gnueabi/pth-2.0.7-r0/pth-2.0.7 -pipe pth_mctx.c pth_mctx.c:480:2: error: #error "Unsupported Linux (g)libc version and/or platform" make: *** [pth_mctx.lo] Error 1 | |||||||||||
165 | doc | new | 2008 Mar | anonymous | uuid | 2008 Mar | setup | 1 | 1 | Windows/Postgres install | edit |
It's not clear how I can use the UUID in postgres with a Windows OS. What directory do I put the 1.6.1 build into? | |||||||||||
163 | code | new | 2007 Nov | anonymous | uuid | 2007 Nov | rse | 1 | 1 | pgsql unable to insert NULL into uuid colums as DEFAULT values | edit |
Hi,
trying to insert a new row into a table that has a uuid column that is allowed to be NULL without an explicit value for the NULL column (as in using DEFAULT), fails.
An example that first shows the table definition, then the failing statement followed by the explicit insert statement that tries the same with DEFAULT and finally the explicit insert that works: simon=# \d bar Table "public.bar" Column | Type | Modifiers --------+------+----------- foo | uuid | data | text | not null Foreign-key constraints: "bar_foo_fkey" FOREIGN KEY (foo) REFERENCES foo(id) simon=# insert into bar (data) values ('bla'); ERROR: invalid UUID string length 7 (expected 36) simon=# insert into bar (foo, data) values (DEFAULT, 'bar'); ERROR: invalid UUID string length 7 (expected 36) simon=# insert into bar (foo, data) values (NULL, 'bla'); INSERT 0 1 No idea or patch on how to solve it yet, but at least i wanted to file a ticket so others have a chance to come up with a possible fix. | |||||||||||
162 | code | new | 2007 Nov | anonymous | uuid | 2007 Nov | rse | 1 | 3 | ossp-uuid 1.6.0 w/ bindings for PostgreSQL 8.3beta2 fails in 'make' | edit |
Building ossp-uuid 1.6.0 w/ bindings for PostgreSQL 8.3 beta 2 fails in 'make' w/ the following error:
uuid.c: In function 'pg_uuid_send': uuid.c:203: error: 'struct varlena' has no member named 'vl_len' make[1]: *** [uuid.o] Error 1 make: *** [pgsql/libuuid.so] Error 2 See the attached log for additional details. Thanks, Jörg Beyer | |||||||||||
160 | code | new | 2007 Oct | anonymous | uuid | 2007 Oct | rse | 3 | 2 | ossp uuid 1.6.0 fails in 'make check' on OS X 10.4.10 | edit |
Hi.
I tried to install ossp uuid 1.6.0 on my OS X-machine. 'make check' failed when checking the Perl bindings. See the attached log for additional details. Any help is highly appreciated -- I need uuid for beta testing the upcoming PostgreSQL 8.3 release... Thanks, Jörg Beyer | |||||||||||
2007-Oct-13 14:32:08 by anonymous: 'make check' broke with error 2/test_dynamic_error, due to a missing dynamic library, '/usr/local/lib/libuuid.16.dylib'. Further investigation (especially a close look at the log and the build directory) brought to light that ossp-uuid's 'make check' tried to load a library that couldn't be in place at first pass -- simply because it didn't exist and had yet to be installed. By ossp-uuid itself. That's what I'd call a circular reference ;-) (Nothing wrong with OS X or its DynaLoader, btw.) Bottom line: run [sudo] make install, then run make check again, and you will see that everything is fine, at least so far. Hope this helps, cheers Jörg Beyer | |||||||||||
159 | code | new | 2007 Sep | anonymous | js | 2007 Sep | rse | 3 | 1 | js portability issues for Windows | edit |
I'm embedding OSSP js in a project and I found the following problems:
1. There's a bug in the function js_FreeRuntimeScriptState at jsscript.c:994. If you create a runtime and then destroy it before creating any contexts, the statement: JS_REMOVE_LINK(&sfp->links); causes a segfault because sfp is NULL. I didn't have the time or inclination to investigate this, but adding: if(! sfp) break; before that statement eliminated the crash. According to the SpiderMonkey team: "I don't know what version OSSP is using, but this sounds like bug 345350 (¤https://bugzilla.mozilla.org/show_bug.cgi?id=345350). Your patch just detects this in the loop, but that adds an if test to every iteration that runs when the table has not been finished. The patch in bug 345350 tests before the loop." 2. I had to build a Visual Studio solution for js since I need to deploy on Windows as well as UNIX (and mingw/cygwin were not an option). I ran into the following portability problems: a. prjmtime.c fails to compile because the two #include statements at line 61 are not sufficient; I got lots of errors about LPCONTEXT and such being undefined. I replaced these with a single "#include <windows.h >" to solve the problem. b. I copied config.h.in to config.h and added the following at the bottom: #define __VA_COPY_USE __VA_COPY_USE_CPP But this caused compiler errors because the #define of that macro has a typo: one of the close parens is in the wrong place. It should be: #define __VA_COPY_USE_CPP(d, s) memcpy((void *)(d), (void *)(s), sizeof(*(s))) It looks like __VA_COPY_USE_CPS has the same problem. c. The following macros have to be defined globally for the project to eliminate the hundreds of VC++ compiler warnings I got. This should be documented in a README or somewhere: XP_WIN OSSP EXPORT_JS_API _CRT_SECURE_NO_DEPRECATE _USE_32BIT_TIME_T Also I had to turn off the "Detect 64-bit Portability Issues" option (no /Wp64 switch to the compiler). I will happily contribute my Visual Studio 2005 Solution and Project files if you're willing to add them to the OSSP js distro (it's just 3 small XML files). | |||||||||||
157 | code | new | 2007 Jun | anonymous | ex | 2007 Aug | rse | 2 | 1 | pthread library from ex(3) manpage causes segmentation fault | edit |
The wrapper of type pthread_create_ex_t which saves the thread-function's address and its argument's address is allocated locally (on the stack) in pthread_create_ex() so in pthread_create_wrapper() this memory is not valid anymore.
The applied patch fixes this. Greetings, Frank *** pthread_ex.c.manPage 2007-06-15 14:56:55.000000000 +0200 --- pthread_ex.c 2007-06-15 14:57:45.000000000 +0200 *************** *** 1,5 **** --- 1,6 ---- #include <stdlib.h> #include <pthread.h> + #include <errno.h> #define PTHREAD_EX_INTERNAL #include "pthread_ex.h" *************** static void *pthread_create_wrapper(void *** 62,69 **** EX_CTX_INITIALIZE(ex_ctx); pthread_setspecific(pthread_ex_ctx_key, ex_ctx); ! /* perform original operation */ ! return wrapper->entry(wrapper->arg); } /* pthread_create() wrapper */ --- 63,73 ---- EX_CTX_INITIALIZE(ex_ctx); pthread_setspecific(pthread_ex_ctx_key, ex_ctx); ! /* perform original operation, but free wrapper first */ ! void *(*wentry)(void *) = wrapper->entry; ! void *warg = wrapper->arg; ! free(wrapper); ! return wentry(warg); } /* pthread_create() wrapper */ *************** int pthread_create_ex(pthread_t *thread, *** 71,81 **** const pthread_attr_t *attr, void *(*entry)(void *), void *arg) { ! pthread_create_ex_t wrapper; /* spawn thread but execute start function through wrapper */ ! wrapper.entry = entry; ! wrapper.arg = arg; ! return pthread_create(thread, attr, pthread_create_wrapper, &wrapper); } --- 75,86 ---- const pthread_attr_t *attr, void *(*entry)(void *), void *arg) { ! pthread_create_ex_t* wrapper = (pthread_create_ex_t*)malloc(sizeof(pthread_create_ex_t)); ! if (wrapper == NULL) return ENOMEM; /* spawn thread but execute start function through wrapper */ ! wrapper->entry = entry; ! wrapper->arg = arg; ! return pthread_create(thread, attr, pthread_create_wrapper, wrapper); } | |||||||||||
156 | code | new | 2007 Jun | anonymous | uuid | 2007 Jun | rse | 3 | 1 | Also install documentation | edit |
Porting uuid/pgsql, i noticed the lack of installed documentation when building the package.
Here's a trivial patch that installs and also deinstalles in the same manner as done right now. I've just made it use PostgreSQLs $(docdir) variable so it should fit everywhere. Regards, Simon --- pgsql/Makefile.orig Mon Nov 20 20:26:27 2006 +++ pgsql/Makefile Fri Jun 8 16:38:50 2007 @@ -42,10 +42,12 @@ install: all $(mkinstalldirs) $(DESTDIR)$(datadir) $(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(pkglibdir)/uuid$(DLSUFFIX) $(INSTALL_DATA) uuid.sql $(DESTDIR)$(datadir)/uuid.sql + $(INSTALL_DATA) uuid.txt $(DESTDIR)$(docdir)/uuid.txt uninstall: -rm -f $(DESTDIR)$(pkglibdir)/uuid$(DLSUFFIX) -rm -f $(DESTDIR)$(datadir)/uuid.sql + -rm -f $(DESTDIR)$(docdir)/uuid.txt clean distclean: clean-lib rm -f $(OBJS) | |||||||||||
155 | code | new | 2007 Jun | anonymous | uuid | 2007 Jun | rse | 4 | 2 | Fix for broken Perl test | edit |
I'm extending the uuid Port for OpenBSD and found a broken test for Perl.
The Problem and thus the solution look simple to me: string vs. integer comparison.
Very simple patch to fix it... Regards, Simon --- uuid.ts Mon Jan 1 19:13:20 2007 +++ /tmp/uuid.ts Fri Jun 8 16:13:59 2007 @@ -89,7 +89,7 @@ and $len == UUID_LEN_STR), "uuid_export (5)"); $rc = uuid_export($uuid_ns, UUID_FMT_SIV, $ptr, $len); ok(( $rc == UUID_RC_OK - and $ptr eq "3789866285607910888100818383505376205" + and $ptr == "3789866285607910888100818383505376205" and $len <= UUID_LEN_SIV), "uuid_export (6)"); $rc = uuid_destroy($uuid_ns); | |||||||||||
154 | code | new | 2007 Mar | anonymous | pth | 2007 Mar | rse | 1 | 1 | pth_scheduler_load in uninterruptible loop if time is adjusted forward | edit |
On my embedded system without a realtime clock, my application would stop responding when NTP adjusts the time from the initial time of Jan 1, 2000 to the current time Mar 27, 2007. Neither Ctrl+C nor kill could stop the application. I have traced the problem to the load average updating loop in the pth_scheduler_load() macro in pth_sched.c. When the system time is adjusted forwards, the loop is iterated once for every second. In my case, 7 years translates roughly into 220 million loops.
The following patch allows the pth_scheduler_load() macro to detect a discontinuity in the time, either backwards, or forwards by more than 10 seconds. Upon detection of the discontinuity, the load average value is reset to the current load. --- pth-2.0.7.orig/pth_sched.c 2006-06-08 10:54:03.000000000 -0700 +++ pth-2.0.7/pth_sched.c 2007-03-27 15:55:23.000000000 -0700 @@ -137,20 +137,31 @@ * been occurred and we would have been given more chances to operate). * The actual average load is calculated through an exponential average * formula. + * + * If the system clock is adjusted forward by more than 10 seconds, + * or if the system clock is adjusted backwards, the load average is + * reset to the current load. */ -#define pth_scheduler_load(now) \ - if (pth_time_cmp((now), &pth_loadticknext) >= 0) { \ - pth_time_t ttmp; \ - int numready; \ - numready = pth_pqueue_elements(&pth_RQ); \ + +#define pth_scheduler_load(now) { \ + pth_time_t ttmp; \ + pth_time_t ten_sec = PTH_TIME(10,0); \ + int numready; \ + numready = pth_pqueue_elements(&pth_RQ); \ + pth_time_set(&ttmp, (now)); \ + pth_time_sub(&ttmp, &pth_loadticknext); \ + if ((pth_time_cmp(&ttmp, &ten_sec) >= 0) || !pth_time_pos(&ttmp)) { \ + pth_loadval = numready; \ + } else { \ pth_time_set(&ttmp, (now)); \ do { \ pth_loadval = (numready*0.25) + (pth_loadval*0.75); \ pth_time_sub(&ttmp, &pth_loadtickgap); \ } while (pth_time_cmp(&ttmp, &pth_loadticknext) >= 0); \ - pth_time_set(&pth_loadticknext, (now)); \ - pth_time_add(&pth_loadticknext, &pth_loadtickgap); \ - } + } \ + pth_time_set(&pth_loadticknext, (now)); \ + pth_time_add(&pth_loadticknext, &pth_loadtickgap); \ +} /* the heart of this library: the thread scheduler */ intern void *pth_scheduler(void *dummy) } | |||||||||||
I noticed a logic flaw in the patch for detecting backwards discontinuity in time. Here is an updated patch:
--- pth-2.0.7.orig/pth_sched.c 2006-06-08 10:54:03.000000000 -0700 +++ pth-2.0.7/pth_sched.c 2007-03-28 10:43:30.000000000 -0700 @@ -137,12 +137,25 @@ * been occurred and we would have been given more chances to operate). * The actual average load is calculated through an exponential average * formula. + * + * If the system clock is adjusted forward by more than 10 seconds, + * or if the system clock is adjusted backwards, the load average is + * reset to the current load. */ -#define pth_scheduler_load(now) \ - if (pth_time_cmp((now), &pth_loadticknext) >= 0) { \ - pth_time_t ttmp; \ - int numready; \ - numready = pth_pqueue_elements(&pth_RQ); \ + +#define pth_scheduler_load(now) { \ + pth_time_t ttmp; \ + pth_time_t ten_sec = PTH_TIME(10,0); \ + int numready; \ + numready = pth_pqueue_elements(&pth_RQ); \ + pth_time_set(&ttmp, (now)); \ + pth_time_add(&ttmp, &pth_loadtickgap); \ + pth_time_sub(&ttmp, &pth_loadticknext); \ + if ((pth_time_cmp(&ttmp, &ten_sec) >= 0) || !pth_time_pos(&ttmp)) { \ + pth_loadval = numready; \ + pth_time_set(&pth_loadticknext, (now)); \ + pth_time_add(&pth_loadticknext, &pth_loadtickgap); \ + } else if (pth_time_cmp((now), &pth_loadticknext) >= 0) { \ pth_time_set(&ttmp, (now)); \ do { \ pth_loadval = (numready*0.25) + (pth_loadval*0.75); \ @@ -150,7 +163,8 @@ } while (pth_time_cmp(&ttmp, &pth_loadticknext) >= 0); \ pth_time_set(&pth_loadticknext, (now)); \ pth_time_add(&pth_loadticknext, &pth_loadtickgap); \ - } + } \ +} /* the heart of this library: the thread scheduler */ intern void *pth_scheduler(void *dummy) - Edwin | |||||||||||
151 | new | new | 2007 Feb | anonymous | lmtp2nntp | 2007 Feb | rse | 4 | 4 | postfix lmtp: enhanced "RCPT TO" | edit |
Hi .*,
postfix (I assume beginning with 2.3.x) generates "RCPT TO" envelope addresses extended by the "ORCPT" original recipient component. E.g. RCPT TO:<newsgroup@lmtp2nntp.invalid> ORCPT=rfc822;newsgroup@lmtp2nntp.invalid The additional component might lead to problems if lmtp2nntp runs in groupmode envelope since the parsing of the envelope address will give an unexpected result. For me, the following patch (lmtp2nntp-1.4.1) works, but this is not a thorough parsing at all: --- lmtp2nntp_main.c 2004-05-07 16:52:03.000000000 +0200 +++ lmtp2nntp_main.c 2007-02-07 20:05:00.000000000 +0100 @@ -1315,7 +1315,7 @@ * RFC1893 3.5 Network and Routing Status X.5.2 Syntax error */ logbook(ctx->l2, L2_LEVEL_TRACE, "checking parameter syntax"); - if (str_parse(req->msg, "m/^RCPT To:\\s*(.+)$/i", &cp) <= 0) { + if (str_parse(req->msg, "m/^RCPT To:\\s*(\\S+)/i", &cp) <= 0) { res.statuscode = "501"; res.dsncode = "5.5.2"; res.statusmsg = "Syntax error in parameters.";= | |||||||||||
150 | code | new | 2007 Feb | anonymous | uuid | 2007 Feb | anonymous | 1 | 1 | uuid_dce_to_string doesn't work | edit |
When using the DCE 1.1 backwards compatibility interface, the function uuid_to_string (which is actually uuid_dce_to_string) doesn't work properly. I debugged through it and there are two problems.
1. On line 250: len = UUID_LEN_STR should be: len = UUID_LEN_STR + 1 as this is later checked in the function below uuid_export(). 2. On line 251: third parameter to uuid_export should be 'vp' and not '&vp'. The uuid_to_string function already receives a pointer to a char array in 'str'. The functions below uuid_export() do not expect another level of indirection. | |||||||||||
146 | code | new | 2006 Nov | anonymous | uuid | 2006 Nov | setup | 1 | 1 | Can't install ossp-uuid-1.5.1 | edit |
#cd /usr/ports/misc/ossp-uuid/
#make WITH_PERL=yes ..... configure: creating ./config.status config.status: creating Makefile config.status: WARNING: Makefile.in seems to ignore the --datarootdir setting config.status: creating uuid-config config.status: WARNING: uuid-config.in seems to ignore the --datarootdir setting config.status: creating uuid.pc config.status: creating uuid.h config.status: creating config.h config.status: executing adjustment commands ===> Building for ossp-uuid-1.5.1 cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid.c -o uuid.o cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid_md5.c -o uuid_md5.o cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid_sha1.c -o uuid_sha1.o cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid_prng.c -o uuid_prng.o cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid_mac.c -o uuid_mac.o cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid_ui64.c -o uuid_ui64.o cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c uuid_ui128.c -o uuid_ui128.o cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid_str.c -o uuid_str.o mkdir .libs libtool: link: warning: `-rpath' is ignored for archives libtool: link: warning: `-version-info/-version-number' is ignored for archives ar cru libuuid.a uuid.o uuid_md5.o uuid_sha1.o uuid_prng.o uuid_mac.o uuid_ui64.o uuid_ui128.o uuid_str.o ranlib libuuid.a cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid_cli.c cc -o uuid uuid_cli.o libuuid.a no source directory found (where libuuid.la is located) at Makefile.PL line 37. *** Error code 2 Stop in /usr/ports/misc/ossp-uuid/work/uuid-1.5.1. *** Error code 1 Stop in /usr/ports/misc/ossp-uuid. #perl -v This is perl, v5.8.8 built for i386-freebsd-64int #uname -a FreeBSD dst10 6.1-RELEASE-p6 FreeBSD 6.1-RELEASE-p6 | |||||||||||
145 | code | new | 2006 Nov | anonymous | uuid | 2006 Nov | setup | 1 | 1 | Can't install perl module OSSP:UUID | edit |
#./configure --with-perl
Configuring ESC[1mOSSP uuidESC[m (Universally Unique Identifier), version ESC[1m1.5.1 (31-Jul-2006)ESC[m
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether compiler option(s) -pipe work... yes
checking for compilation debug mode... disabled
checking build system type... i386-unknown-freebsd6.1
checking host system type... i386-unknown-freebsd6.1
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for f77... f77
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether f77 accepts -g... yes
checking the maximum length of command line arguments... 196608
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... freebsd6.1 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
checking for gethostname in -lnsl... no
checking for gethostbyname in -lnsl... no
checking for accept in -lsocket... no
checking for va_copy() function... yes
checking for sys/types.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/sockio.h usability... yes
checking sys/sockio.h presence... yes
checking for sys/sockio.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking for netdb.h... yes
checking for ifaddrs.h... yes
checking for net/if.h... yes
checking for net/if_dl.h... yes
checking for net/if_arp.h... yes
checking for netinet/in.h... yes
checking for arpa/inet.h... yes
checking for getifaddrs... yes
checking for nanosleep... yes
checking for long long... yes
checking for long double... yes
checking for char... yes
checking size of char... 1
checking for unsigned char... yes
checking size of unsigned char... 1
checking for short... yes
checking size of short... 2
checking for unsigned short... yes
checking size of unsigned short... 2
checking for int... yes
checking size of int... 4
checking for unsigned int... yes
checking size of unsigned int... 4
checking for long... yes
checking size of long... 4
checking for unsigned long... yes
checking size of unsigned long... 4
checking for long long... (cached) yes
checking size of long long... 8
checking for unsigned long long... yes
checking size of unsigned long long... 8
checking whether to build DCE 1.1 backward compatibility API... (cached) no
checking whether to build C++ bindings to C API... (cached) no
checking whether to build Perl bindings to C API... (cached) yes
checking whether to build Perl compatibility API... (cached) no
checking for perl... /usr/bin/perl
checking whether to build PHP bindings to C API... (cached) no
checking for php5... no
checking for php... no
checking whether to build PostgreSQL bindings to C API... (cached) no
checking for pg_config... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating uuid-config
config.status: creating uuid.pc
config.status: creating uuid.h
config.status: creating config.h
config.status: executing adjustment commands
config.status: WARNING: Makefile.in seems to ignore the --datarootdir setting
config.status: WARNING: uuid-config.in seems to ignore the --datarootdir setting
#make mkdir .libs gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid.c -fPIC -DPIC -o .libs/uuid.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid.c -o uuid.o >/dev/null 2>&1 gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_md5.c -fPIC -DPIC -o .libs/uuid_md5.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_md5.c -o uuid_md5.o >/dev/null 2>&1 gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_sha1.c -fPIC -DPIC -o .libs/uuid_sha1.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_sha1.c -o uuid_sha1.o >/dev/null 2>&1 gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_prng.c -fPIC -DPIC -o .libs/uuid_prng.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_prng.c -o uuid_prng.o >/dev/null 2>&1 gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_mac.c -fPIC -DPIC -o .libs/uuid_mac.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_mac.c -o uuid_mac.o >/dev/null 2>&1 gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_ui64.c -fPIC -DPIC -o .libs/uuid_ui64.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_ui64.c -o uuid_ui64.o >/dev/null 2>&1 gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c uuid_ui128.c -fPIC -DPIC -o .libs/uuid_ui128.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c uuid_ui128.c -o uuid_ui128.o >/dev/null 2>&1 gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_str.c -fPIC -DPIC -o .libs/uuid_str.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_str.c -o uuid_str.o >/dev/null 2>&1 gcc -shared .libs/uuid.o .libs/uuid_md5.o .libs/uuid_sha1.o .libs/uuid_prng.o .libs/uuid_mac.o .libs/uuid_ui64.o .libs/uuid_u i128.o .libs/uuid_str.o -Wl,-soname -Wl,libuuid.so.15 -o .libs/libuuid.so.15 (cd .libs && rm -f libuuid.so && ln -s libuuid.so.15 libuuid.so) (cd .libs && rm -f libuuid.so && ln -s libuuid.so.15 libuuid.so) ar cru .libs/libuuid.a uuid.o uuid_md5.o uuid_sha1.o uuid_prng.o uuid_mac.o uuid_ui64.o uuid_ui128.o uuid_str.o ranlib .libs/libuuid.a creating libuuid.la (cd .libs && rm -f libuuid.la && ln -s ../libuuid.la libuuid.la) gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_cli.c gcc -o .libs/uuid uuid_cli.o ./.libs/libuuid.so -Wl,--rpath -Wl,/usr/local/lib creating uuid Checking if your kit is complete... Looks good Writing Makefile for OSSP::uuid cp uuid.pod blib/lib/OSSP/uuid.pod cp uuid.pm blib/lib/OSSP/uuid.pm /usr/bin/perl /usr/local/lib/perl5/5.8.8/ExtUtils/xsubpp -typemap /usr/local/lib/perl5/5.8.8/ExtUtils/typemap -typemap uuid.t m uuid.xs > uuid.xsc && mv uuid.xsc uuid.c cc -c -I. -I.. -DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN" -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O2 -pipe -march=pentium4 -DVERSION=\"1.0501\" -DXS_VERSION=\"1.0 501\" -DPIC -fPIC "-I/usr/local/lib/perl5/5.8.8/mach/CORE" uuid.c Running Mkbootstrap for OSSP::uuid () chmod 644 uuid.bs rm -f blib/arch/auto/OSSP/uuid/uuid.so LD_RUN_PATH="/usr/home/alexvs/uuid-1.5.1/perl/../.libs" cc -shared -L/usr/local/lib -Wl,-Bsymbolic uuid.o -o blib/arch/auto /OSSP/uuid/uuid.so -L/usr/home/alexvs/uuid-1.5.1/perl/../.libs -L/usr/home/alexvs/uuid-1.5.1/perl/.. -luuid chmod 755 blib/arch/auto/OSSP/uuid/uuid.so cp uuid.bs blib/arch/auto/OSSP/uuid/uuid.bs chmod 644 blib/arch/auto/OSSP/uuid/uuid.bs Manifying blib/man3/OSSP::uuid.3 Warning: -L../.libs changed to -L/usr/home/alexvs/uuid-1.5.1/perl/../.libs Warning: -L.. changed to -L/usr/home/alexvs/uuid-1.5.1/perl/.. #make check ==== UUID version 1 (time and node based): 4 single iterations 4717f0ee-7240-11db-b1bf-00167647fabf 4717f440-7240-11db-add1-00167647fabf 4717f530-7240-11db-aa32-00167647fabf 4717f60c-7240-11db-aad3-00167647fabf ==== UUID version 1 (time and node based): 4 subsequent iterations 47210d82-7240-11db-9367-00167647fabf 472110d4-7240-11db-9368-00167647fabf 4721119c-7240-11db-9369-00167647fabf 47211246-7240-11db-936a-00167647fabf ==== UUID version 3 (name based, MD5): 2 times repeated 02d9e6d5-9467-382e-8f9b-9300a64ac3cd 02d9e6d5-9467-382e-8f9b-9300a64ac3cd ==== UUID version 5 (name based, SHA-1): 2 times repeated 8f4ca4fd-154e-5063-b6db-aa91af137037 8f4ca4fd-154e-5063-b6db-aa91af137037 ==== UUID version 4 (random data based): 4 single iterations 2be24da0-ee73-4bc5-b5ba-c26f0bbbdb95 cc0a2811-835d-4b65-ba67-e00bedf0f75b 10fecc0a-0cea-41ed-a16b-112616ea99b1 0e00ae23-7766-42dd-babd-c6e9cb5b3799 ==== UUID version 4 (random data based): 4 subsequent iterations 3d3224bb-c8ed-42d9-9814-890f7239f219 3e19ea08-8925-4bf0-a45f-29caa0ef56e2 255d6d9c-c9fd-4506-a880-ef0e09776c80 2c65f7a7-e314-4563-8bd8-86d3aea4f9f9 ==== UUID version 1 generation and decoding encode: STR: 4751335e-7240-11db-be68-00167647fabf SIV: 94796805631966157295996677974942808767 decode: variant: DCE 1.1, ISO/IEC 11578:1996 version: 1 (time and node based) content: time: 2006-11-12 11:23:53.753891.0 UTC clock: 15976 (usually random) node: 00:16:76:47:fa:bf (global unicast) encode: STR: 475ff290-7240-11db-b92a-47c26816a9a9 SIV: 94873375689628068064686297910821169577 decode: variant: DCE 1.1, ISO/IEC 11578:1996 version: 1 (time and node based) content: time: 2006-11-12 11:23:53.850536.0 UTC clock: 14634 (usually random) node: 47:c2:68:16:a9:a9 (local multicast) ==== UUID version 3 generation and decoding encode: STR: 02d9e6d5-9467-382e-8f9b-9300a64ac3cd SIV: 3789866285607910888100818383505376205 decode: variant: DCE 1.1, ISO/IEC 11578:1996 version: 3 (name based, MD5) content: 02:D9:E6:D5:94:67:08:2E:0F:9B:93:00:A6:4A:C3:CD (not decipherable: MD5 message digest only) ==== UUID version 5 generation and decoding encode: STR: 8f4ca4fd-154e-5063-b6db-aa91af137037 SIV: 190477564324985592756740458922137317431 decode: variant: DCE 1.1, ISO/IEC 11578:1996 version: 5 (name based, SHA-1) content: 8F:4C:A4:FD:15:4E:00:63:36:DB:AA:91:AF:13:70:37 (not decipherable: truncated SHA-1 message digest only) ==== UUID version 3 generation and decoding encode: STR: 95693357-fc2b-4b95-af6a-d871748ef5e5 SIV: 198601203915881110163765567909717276133 decode: variant: DCE 1.1, ISO/IEC 11578:1996 version: 4 (random data based) content: 95:69:33:57:FC:2B:0B:95:2F:6A:D8:71:74:8E:F5:E5 (no semantics: random data only) ==== Perl bindings to C API PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" uuid.ts uuid....dubious Test returned status 0 (wstat 139, 0x8b) DIED. FAILED tests 4-36 Failed 33/36 tests, 8.33% okay Failed Test Stat Wstat Total Fail Failed List of Failed uuid.ts 0 139 36 66 183.33% 4-36 Failed 1/1 test scripts, 0.00% okay. 33/36 subtests failed, 8.33% okay. *** Error code 255 Stop in /usr/home/alexvs/uuid-1.5.1/perl. *** Error code 1 (ignored) #perl -v This is perl, v5.8.8 built for i386-freebsd-64int #uname -a FreeBSD dst10 6.1-RELEASE-p6 FreeBSD 6.1-RELEASE-p6 | |||||||||||
121 | code | new | 2006 Aug | anonymous | js | 2006 Aug | rse | 1 | 2 | random segfaults in multithreaded application | edit |
we are experiencing random segfaults in our multithreaded application. i traced this back to the fact that JS is not compiled against NSPR. since we use glib/gthread for threading, JS native (asm) locks segfault too and only NSPR locks work correctly. the patch below implements a configure option to compile against a (std) installed "mozilla-devel/mozilla-nspr-devel" via mozilla-config or a custom install location. it also propagates the required changes to js.pc and js-config. --- js-1.6.20060820/configure.ac 2006-08-20 17:45:13.000000000 +0200 +++ js-1.6.20060820.nspr/configure.ac 2006-08-29 16:40:27.000000000 +0200 @@ -26,7 +26,7 @@ dnl ## configure.ac: GNU Autoconf source script dnl ## -AC_PREREQ(2.60) +AC_PREREQ(2.59) AC_INIT JS_VERSION=`./shtool version -l txt -d short VERSION` $ac_confdir/shtool echo -e \ @@ -55,6 +55,9 @@ *mingw* | *windows* | *winnt* ) CPPFLAGS="$CPPFLAGS -DXP_WIN" ;; * ) CPPFLAGS="$CPPFLAGS -DXP_UNIX" ;; esac + +CFG_CFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -DEXPORT_JS_API" dnl # configure option --with-version @@ -160,11 +163,36 @@ CPPFLAGS="$CPPFLAGS -DJS_C_STRINGS_ARE_UTF8" fi +dnl # configure option --with-nspr[=path] +AC_ARG_WITH([nspr], + AC_HELP_STRING([--with-nspr], [build threadsafe library with nspr]), + [ac_cv_with_nspr=$withval], [ac_cv_with_nspr=no]) +AC_CACHE_CHECK([whether to build threadsafe with nspr], + [ac_cv_with_nspr], [ac_cv_with_nspr=no]) +if test ".$ac_cv_with_nspr" != ".no"; then + case "$ac_cv_with_nspr" in + /* ) + CPPFLAGS="$CPPFLAGS -DJS_THREADSAFE -DJS_USE_ONLY_NSPR_LOCKS -I$ac_cv_with_nspr/include" + LDFLAGS="$LDFLAGS -L$ac_cv_with_nspr/lib " + LIBS="$LIBS -lplc4 -lplds4 -lnspr4" + ;; + * ) + AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no) + if test "$MOZILLA_CONFIG" != "no" ; then + CPPFLAGS="$CPPFLAGS -DJS_THREADSAFE -DJS_USE_ONLY_NSPR_LOCKS `$MOZILLA_CONFIG --cflags nspr`" + LIBS="$LIBS `$MOZILLA_CONFIG --libs nspr`" + fi + ;; + esac + CFG_CFLAGS="$CFG_CFLAGS -DJS_THREADSAFE" +fi + AC_SUBST(CLI_CFLAGS) AC_SUBST(CLI_CPPFLAGS) AC_SUBST(CLI_LDFLAGS) AC_SUBST(CLI_LIBS) AC_SUBST(CLI_OBJS) +AC_SUBST(CFG_CFLAGS) with_tags="" sinclude(libtool.m4) --- js-1.6.20060820/js.pc.in 2006-07-24 21:53:01.000000000 +0200 +++ js-1.6.20060820.nspr/js.pc.in 2006-08-29 16:41:02.000000000 +0200 @@ -7,4 +7,4 @@ Description: Mozilla JavaScript Engine Version: @JS_VERSION@ Libs: -L${libdir} -ljs @LIBS@ -Cflags: -DOSSP -DXP_UNIX -I${includedir}/js +Cflags: @CFG_CFLAGS@ -I${includedir}/js --- js-1.6.20060820/js-config.sh.in 2006-08-10 21:55:51.000000000 +0200 +++ js-1.6.20060820.nspr/js-config.sh.in 2006-08-29 16:41:44.000000000 +0200 @@ -109,7 +109,7 @@ output="$output $js_acdir" ;; --cppflags) - output="$output -DOSSP -DXP_UNIX -I$js_includedir/js" + output="$output @CFG_CFLAGS@ -I$js_includedir/js" ;; --cflags) : # none | |||||||||||
120 | code | new | 2006 Aug | anonymous | uuid | 2006 Aug | setup | 1 | 1 | make check (faild) | edit |
Hello.
Sorry for troubling.
I have problem:
fetch ¤ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.5.1.tar.gz gzip -d uuid-1.5.1.tar.gz tar -xjf uuid-1.5.1.tar cd uuid-1.5.1 ./configure --with-perl make make check ......... ==== Perl bindings to C API PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" uuid.ts uuid....dubious Test returned status 0 (wstat 139, 0x8b) DIED. FAILED tests 4-36 Failed 33/36 tests, 8.33% okay Failed Test Stat Wstat Total Fail Failed List of Failed uuid.ts 0 139 36 66 183.33% 4-36 Failed 1/1 test scripts, 0.00% okay. 33/36 subtests failed, 8.33% okay. *** Error code 255 Stop in /usr/ports/misc/ossp-uuid/uuid-1.5.1/perl. *** Error code 1 (ignored) perl -V Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=freebsd, osvers=6.1-release, archname=i386-freebsd-64int | |||||||||||
87 | code | new | 2006 Jan | anonymous | uuid | 2006 Jan | rse | 1 | 2 | Code does not compile because of missing struct definition. | edit |
The code has been compiled on AIX 5.2 on ibm 590. After running the configuring script, compilation is started. Compiling produces the following error messages
In uuid_md5.h on line 57 the struct md5_st is defined. But only the name is defined the struct itself is missing. Most probably causing the error messages. cc -I. -I. -DHAVE_CONFIG_H -c uuid.c -DPIC -o .libs/uuid.o "uuid_md5.h", line 57.16: 1506-166 (S) Definition of function md5_st requires parentheses. "uuid_md5.h", line 57.23: 1506-276 (S) Syntax error: possible missing '{'? "uuid_md5.h", line 63.5: 1506-045 (S) Undeclared identifier MD5_RC_OK. "uuid_md5.h", line 64.5: 1506-045 (S) Undeclared identifier MD5_RC_ARG. "uuid_md5.h", line 65.5: 1506-045 (S) Undeclared identifier MD5_RC_MEM. "uuid_md5.h", line 66.1: 1506-277 (S) Syntax error: possible missing ';' or ','? "uuid_md5.h", line 66.3: 1506-273 (E) Missing type in declaration of md5_rc_t. "uuid_md5.h", line 68.8: 1506-166 (S) Definition of function md5_rc_t requires parentheses. "uuid_sha1.h", line 63.5: 1506-045 (S) Undeclared identifier SHA1_RC_OK. "uuid_sha1.h", line 64.5: 1506-045 (S) Undeclared identifier SHA1_RC_ARG. "uuid_sha1.h", line 65.5: 1506-045 (S) Undeclared identifier SHA1_RC_MEM. "uuid_sha1.h", line 66.1: 1506-277 (S) Syntax error: possible missing ';' or ','? "uuid_sha1.h", line 66.3: 1506-273 (E) Missing type in declaration of sha1_rc_t. "uuid_sha1.h", line 68.8: 1506-166 (S) Definition of function sha1_rc_t requires parentheses. "uuid_prng.h", line 57.5: 1506-045 (S) Undeclared identifier PRNG_RC_OK. "uuid_prng.h", line 58.5: 1506-045 (S) Undeclared identifier PRNG_RC_ARG. "uuid_prng.h", line 59.5: 1506-045 (S) Undeclared identifier PRNG_RC_MEM. "uuid_prng.h", line 60.5: 1506-045 (S) Undeclared identifier PRNG_RC_INT. "uuid_prng.h", line 61.1: 1506-277 (S) Syntax error: possible missing ';' or ','? "uuid_prng.h", line 61.3: 1506-273 (E) Missing type in declaration of prng_rc_t. "uuid_prng.h", line 63.8: 1506-166 (S) Definition of function prng_rc_t requires parentheses. "uuid_ui64.h", line 73.3: 1506-166 (S) Definition of function uuid_ requires parentheses. "uuid_ui64.h", line 73.3: 1506-276 (S) Syntax error: possible missing '{'? "uuid.c", line 73.5: 1506-045 (S) Undeclared identifier uuid_uint32_t. "uuid.c", line 74.5: 1506-045 (S) Undeclared identifier uuid_uint16_t. "uuid.c", line 76.5: 1506-045 (S) Undeclared identifier uuid_uint8_t. "uuid.c", line 79.3: 1506-273 (E) Missing type in declaration of uuid_obj_t. "uuid.c", line 83.5: 1506-046 (S) Syntax error. "uuid.c", line 106.9: 1506-277 (S) Syntax error: possible missing ')' or ','? "uuid.c", line 106.9: 1506-045 (S) Undeclared identifier uuid_. "uuid.c", line 108.9: 1506-277 (S) Syntax error: possible missing ')' or ','? make: 1254-004 The error code from the last command is 1. | |||||||||||
82 | event | new | 2005 Dec | anonymous | uuid | 2005 Dec | rse | 4 | 4 | Move or Remove INSTALL | edit |
The install target doesn't work on Mac OS X:
geertz# make install make: `install' is up to date. The problem is Mac OS X's case-insensitive file system. It thinks that the INSTALL file fulfills the "install" target. Ick. The workaround is to either a: Rename INSTALL to INSTALL.txt; or b: Put the contents of INSTALL into README and just remove INSTALL from the distribution. Thanks! | |||||||||||
2005-Dec-31 17:44:27 by anonymous: Or use this well-known idiom: install: .ALWAYS <normal stuff> .ALWAYS: | |||||||||||
81 | todo | new | 2005 Dec | anonymous | uuid | 2005 Dec | rse | 1 | 1 | Compiliation Problems on Mac OS X 10.4 | edit |
Mac OS X Tiger (10.4.x) ships with its own UUID library. This seems to create a conflict for OSSP-UUID:
geertz# make gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c uuid.c -fno-common -DPIC -o .libs/uuid.o In file included from uuid.c:44: uuid.h:82: error: conflicting types for 'uuid_t' /usr/include/unistd.h:121: error: previous declaration of 'uuid_t' was here make: *** [uuid.lo] Error 1 The closest post I found to a solution was here: http://forums.macosxhints.com/archive/index.php/t-38443.html But that's ugly. I think that Data::UUID had a similar issue; the solution there was to rename the function: https://rt.cpan.org/NoAuth/Bug.html?id=12389 And...yes, that does indeed seem to do the trick. Here's what I did to make it compile: rgrep -l uuid_t | grep -v ChangeLog | xargs perl -i -pe 's/uuid_t/ossp_uuid_t/g' I imagine that other systems will have UUID functions (Red Hat comes to mind), so it might be worth it to make this change in order to prevent more conflicts in the future. | |||||||||||
2005-Dec-31 17:24:07 by anonymous: A sufficient solution is to define _POSIX_SOURCE=1 Apple's unistd.h has the following: #ifndef _POSIX_C_SOURCE #ifndef _UUID_T #define _UUID_T typedef __darwin_uuid_t uuid_t; #endif /* _UUID_T */ #endif /* _POSIX_C_SOURCE */ -- mefisk@gmail.com 2006-Jan-20 23:15:53 by anonymous: I got the C library to compile by setting _POSIX_C_SOURCE, but not the Perl library. It seems that perl.h loads unistd.h, but if I define _POSIX_C_SOURCE before uuid.xs includes perl.h, I get all kinds of errors. Unfortunately, I think that the only solution is to give uuid_t another name. Maybe it can just be done where uuid_t is already defined elsewhere, and then dependent libraries would have to make the same test? —Theory | |||||||||||
71 | new | new | 2005 Nov | anonymous | mm | 2005 Nov | rse | 1 | 1 | Enhancement request - Make test results parsable using a parser. | edit |
I was trying to automate the mm test cases.
For this I need to parse the test results. Right now only one message is displayed at the end of 'make test' command.
Since there are 5 different test cases available for mm, Instead of single message, if we can display either success or fail message after each test completion it would be very easy to parse the test results automatically. I have made changes in mm_test.c file to implement the above change. I am sending the changed file as a seperate email . Please consider incorporating this change to mm_test.c . Thanks & Regards, | |||||||||||
70 | code | new | 2005 Oct | anonymous | l2 | 2005 Oct | anonymous | 2 | 1 | "incorrect" usage of va_list objects causes segfault on amd64 | edit |
va_list objects has different internals on i386 and amd64. See the attachment. | |||||||||||
66 | code | new | 2005 Sep | anonymous | pth | 2005 Sep | rse | 2 | 1 | unused condition variable can be to be signaled (PTH) | edit |
If pth_cond_awaits waits, it reaquries the mutex and then decrements the waiter count after pth_wait returns. pth_mutex_aquire can cause a switch to an other task, if the mutex is blocked. If this task issues an other pth_cond_notify on the condition variable, it gets the signaled flag, as a waiter count is not zero. If now the mutex is released, the first task aquires the mutext and then decrements the waiter count to zero. The signal flag is left, so that a contition variable without any waiters is signaled.
If the waiter count is decremented immediatly after the call to pth_wait, this race condition can not happen. --- pthsem-2.0.4/pth_sync.c.old 2005-09-22 16:54:36.910273040 +0200 +++ pthsem-2.0.4/pth_sync.c 2005-09-22 16:56:10.173094936 +0200 @@ -240,12 +240,13 @@ pth_mutex_t *mutex = (pth_mutex_t *)(((void **)_cleanvec)[0]); pth_cond_t *cond = (pth_cond_t *)(((void **)_cleanvec)[1]); + /* fix number of waiters */ + cond->cn_waiters--; + /* re-acquire mutex when pth_cond_await() is cancelled in order to restore the condition variable semantics */ pth_mutex_acquire(mutex, FALSE, NULL); - /* fix number of waiters */ - cond->cn_waiters--; return; } @@ -284,6 +285,10 @@ cleanvec[1] = cond; pth_cleanup_push(pth_cond_cleanup_handler, cleanvec); pth_wait(ev); + + /* remove us from the number of waiters */ + cond->cn_waiters--; + pth_cleanup_pop(FALSE); if (ev_extra != NULL) pth_event_isolate(ev); @@ -291,9 +296,6 @@ /* reacquire mutex */ pth_mutex_acquire(mutex, FALSE, NULL); - /* remove us from the number of waiters */ - cond->cn_waiters--; - /* release mutex (caller had to acquire it first) */ return TRUE; } mfg Martin Koegler mkoegler@auto.tuwien.ac.at | |||||||||||
65 | code | new | 2005 Sep | anonymous | mm | 2005 Sep | rse | 4 | 3 | mm_display_info shows wrong memory limits | edit |
In mm_display_info the following casting is needed to show correct memory limits:
fprintf(stderr, " memory area.......(unsigned long)((unsigned long)mm+mm->mp_size)... instead of: fprintf(stderr, " memory area.......(unsigned long)(mm+mm->mp_size)... and: fprintf(stderr, " chunk.....(unsigned long)((unsigned long)mc+mc->mc_size... instead of: fprintf(stderr, " chunk.....(unsigned long)(mc+mc->mc_size).. | |||||||||||
62 | code | new | 2005 Jun | anonymous | shtool | 2005 Jun | rse | 1 | 1 | GNU SHTool Insecure Temporary File Deletion Vulnerability | edit |
shtool contains a security flaw which could allow a malicious local user to delete arbitrary files with the rights of the user who use shtool. | |||||||||||
60 | code | new | 2005 Mar | anonymous | pth | 2005 Mar | rse | 1 | 1 | is it worked on hp unix B.11.00 U 9000/800 | edit |
I write a programm on Lniux OS machine, it work safely .But now ,I got a HP machine ,the prog. not work yet. So I used the test_httpd and test_mp ,sadly, all of them not give any answer after the startup .Include the CTRL-C .:( The cc version is HP C/HP-UX Version 11.11.04 OS is HP-UX unknown B.11.00 U 9000/800 10714536 unlimited-user license. I am not sure ,it enought? | |||||||||||
58 | new | new | 2005 Jan | anonymous | pth | 2005 Feb | rse | 4 | 4 | [PATCH] Add semaphore support to PTH | edit |
I have writte a patch, which adds support for semaphores to pth, which support a wide range of usage possibilties.
The interface provides functions to set/get the value of a semaphore, increment it with arbitrary values, wait, until the value becomes bigger than a given value (without or with decrementing, if the condition becomes true. Some documentation and the patch is published at ¤http://www.auto.tuwien.ac.at/~mkoegler/index.php/pth I am using the patch for a while without any problems. Maybe the names of Flags should be changed and it would be possible to reuse bits. By the way, the content of the HACKING file seems to be a little bit outdated, eg. the anonymouse CVS server works not any more. mfg Martin Koegler e9925248@stud4.tuwien.ac.at | |||||||||||
59 | code | new | 2005 Feb | anonymous | mm | 2005 Feb | rse | 2 | 3 | Problem Linking 64-Bit Version | edit |
Hello,
I've found an little bug in the Makefile. The Linker-Flags don't effect the libtool, because they are not used.
here is a little patch:
--- Makefile.in 2002-12-19 10:19:38.000000000 +0100 +++ ../../PESlibmm/Makefile.in.linkerpatch 2005-02-15 13:20:26.615497000 +0100 @@ -74,14 +74,14 @@ all: $(LIBS) $(MANS) $(TSTS) libmm.la: $(OBJS) - $(LIBTOOL) --quiet --mode=link $(CC) -o $@ $(OBJS) \ + $(LIBTOOL) --quiet --mode=link $(CC) $(LDFLAGS) -o $@ $(OBJS) \ -rpath $(libdir) -version-info `$(SHTOOL) version -l c -d libtool mm_vers.c` mm_alloc.c mm_core.c mm_global.c: mm.h mm_vers.c mm.h: config.h mm_test: mm_test.lo libmm.la - $(LIBTOOL) --quiet --mode=link $(CC) -o $@ mm_test.lo libmm.la + $(LIBTOOL) --quiet --mode=link $(CC) $(LDFLAGS) -o $@ mm_test.lo libmm.la mm.3: mm.pod V1=`$(SHTOOL) version -l c -d short mm_vers.c`; \ Greetings Ralf | |||||||||||
57 | code | new | 2005 Jan | anonymous | mm | 2005 Jan | rse | 1 | 1 | Bad interpreter Error message when installing | edit |
[root@BASLIN2 mm-1.3.1]# ./configure
: bad interpreter: No such file or directory
What can I do? | |||||||||||
2006-Mar-03 15:15:42 by anonymous: you most probably had a CR at the end of the #! line | |||||||||||
56 | code | new | 2005 Jan | anonymous | shtool | 2005 Jan | rse | 2 | 3 | mkln hard links with absolute paths are broken | edit |
shtool mkln -t -f /usr/local/bin/foo /usr/local/bin/bar
fails when run from anywhere besides /usr/local/bin See also ¤http://www.openldap.org/its/index.cgi/Build?id=3415 | |||||||||||
55 | code | new | 2004 Nov | anonymous | al | 2004 Nov | mlelstv | 1 | 3 | SIGSEGV at end of make check | edit |
$ uname -a Linux bongo 2.4.27 #1 Fri Oct 29 18:20:52 CEST 2004 i686 AMD_Athlon(tm)_XP_1700+ unknown PLD Linux $ rpm -q gcc gcc-3.3.5-1 (gdb) run Starting program: /home/users/radek/rpm/BUILD/al-0.9.1/al_test Test Suite: OSSP al (Assembly Line) __________________________________________________________________ Test: assembly line data copying .............................. OK Test: assembly line splicing .................................. OK Test: assembly line labelling ................................. OK Test: assembly line buffer attach ............................. OK __________________________________________________________________ Test Summary: 4 tests (4 ok, 0 failed), 531 checks (531 ok, 0 failed) Test Suite: OK Program received signal SIGSEGV, Segmentation fault. 0x4f9ee587 in free () from /lib/libc.so.6 (gdb) bt #0 0x4f9ee587 in free () from /lib/libc.so.6 #1 0x0804afad in ts_suite_free (ts=0x804e8f8) at ts.c:379 #2 0x0804a72f in main (argc=1, argv=0xb41a2984) at al_test.c:412 | |||||||||||
54 | code | new | 2004 Nov | anonymous | sio | 2004 Nov | mlelstv | 3 | 3 | Build process: linking, installation of *.so files, too "smart" ac/am | edit |
Hello,
Patch for 1. and 2.: ¤http://cvs.pld-linux.org/SOURCES/sio-libs.patch | |||||||||||
53 | code | new | 2004 Nov | anonymous | xds | 2004 Nov | rse | 2 | 1 | on certain architectures assignment va_list a = b; fails | edit |
As in the summary: on some architectures (ppc for example) the code: va_list a; va_list b; b = a; will fail. After a quick googling I've found a solution: __va_copy(b,a); is the proper code - on some architectures va_list is defined differently and the simple substitution will fail. On such architectures the xds build fails with: xds.c: In function `xds_vencode': xds.c:386: error: incompatible types in assignment xds.c:391: warning: passing arg 6 of pointer to function from incompatible pointer type xds.c: In function `xds_vdecode': xds.c:486: warning: passing arg 6 of pointer to function from incompatible pointer type make: *** [xds.lo] Error 1 the warnings are fixed with (va_list *) in front of the argument in question - I checked and it seems that the argument is proper anyways... | |||||||||||
51 | code | new | 2004 Sep | anonymous | pth | 2004 Sep | rse | 3 | 3 | AC_CHECK_PTH macro from pth.m4 file causes an error in autoconf | edit |
The error occurs when using the macro AC_CHECK_PTH macro from pth.m4 file in autoconf when that file is copied onto aclocal.m4.
The following bellow is copied from the same error report I sent to Debian maintainers of the pth package, but it seems they are not active now. ¤http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=249328 The error message is: configure.in:25: error: undefine: undefined macro: "+------------------------------------------------------------------------+" aclocal.m4:8836: _AC_PTH_ERROR is expanded from... aclocal.m4:9184: AC_CHECK_PTH is expanded from... configure.in:25: the top level This error is produced by the macro definitions copied by aclocal (command in automake package) from the file /usr/share/aclocal/pth.m4 (which is included in libpth-dev) to the file aclocal.m4 The error is generated from the "undefine" in line 52 of the file pth.m4 (the name of the macro "_ac_pth_line" is sustituted by its content inside the undefine command, hence the error). I found that commenting that line (with "dnl ##") solves the problem but i'm no expert in m4 (probably the way of definition is wrong). I found also similar problems reported in first part of the message: ¤http://www.mail-archive.com/pth-users@gnu.org/msg00304.html (there the solution proposed is to remove the macro and substitute the string directly in the two places used). | |||||||||||
50 | code | new | 2004 Jul | anonymous | uuid | 2004 Jul | 4 | 3 | default installation breaks linux boot | edit | |
Doing a default "configure; make; make install" will break
linux on startup (experienced on SuSE 9.0) as the ext2
fsck tool is now dynamicly linked against the newly
installed libuuid.so from /usr/local instead of the ext2
related system library of the same name.
This makes fsck fail although the filesystem is ok ... | |||||||||||
47 | code | new | 2004 Apr | anonymous | str | 2004 Apr | rse | 1 | 1 | make check str_format %12qd broken on Solaris 2.6 | edit |
While testing for OSSP 0.9.9 this bug was detected. Please note the bug was not introduced with 0.9.8->9.9.9 changes. It was not resolved so 0.9.9 will still has this problem. | |||||||||||
46 | code | new | 2004 Apr | anonymous | mm | 2004 Apr | rse | 1 | 1 | Cannot find peer certificate chain | edit |
I'm using the following components:
I've configured: SSLSessionCache shmcb:/opt/slt/ses/apache/run/ssl_scache(512000) The problem only occures if we use client certs. If we do multiple requests on the same ssl session then I get an error the first time the request is handled by the same apache child that has stored the SSL session ID in the cache. All other childs can acces the cache without problems. trace output in ssl_engine_log (debug level does not provide better info): [21/Apr/2004 09:48:18 01201] [trace] OpenSSL: Handshake: start I wonder about the "Cannot find peer certificate chain" and then the "SSL negotiation finished successfully". hmmm. If we use dbm instead of shmcb then this problem does not occure. Thanks for your help | |||||||||||
45 | code | new | 2004 Apr | anonymous | mm | 2004 Apr | rse | 1 | 1 | how do you install mm-1.3.0.tar.gz | edit |
I am having problem under standing the install instructions. | |||||||||||
44 | code | new | 2004 Apr | anonymous | uuid | 2004 Apr | 1 | 1 | uuid-1.0.0 unable to be used with GCC option --enable-fatal-warnings | edit | |
I am attempting to incorporate the use of your lib ( for use on FreeBSD and Solaris ) for the project ¤http://www.linux-ha.org/ . On FreeBSD the --enable-fatal-warnings flag is used to ensure the code is working properly.
When attempting to include uuid.h I get errors because uuid_st and uuid_t are not fully defined. The compiler is unable to determine the size of the objects at compile time and therefor they are not able to be used. I have created a patch file to split out the definition from in uuid.c to be in uuid.h.in and modified the Makefile.in to install the needed header files for using uuid. | |||||||||||
43 | code | new | 2004 Apr | anonymous | al | 2004 Apr | rse | 3 | 3 | al does not compile on powerpc and amd64 | edit |
In ts.c line 205 va_list pointers are assigned to each other. This does not work on powerpc and amd64. One should use va_copy from C99 for this. | |||||||||||
33 | code | new | 2004 Feb | anonymous | sa | 2004 Feb | rse | 3 | 3 | sa.h includes config.h which is not there | edit |
See below. Perhaps config.h should be installed as sa_config.h.
/* include optional Autoconf header */ #ifdef HAVE_CONFIG_H #include "config.h" #endif /* fallback for POSIX socklen_t */ #if defined(HAVE_CONFIG_H) && !defined(HAVE_SOCKLEN_T) typedef int socklen_t; #endif | |||||||||||
28 | code | new | 2004 Jan | anonymous | cfg | 2004 Jan | rse | 1 | 1 | SIGSEGV received while parsing config file | edit |
When using fsl, logging configuration is read from a file with a well-known format using libcfg. If this config file has a block (see used config file..block starts at "ident (.+)/local7 q{" and ends in "};") that is longer than 1035, a segfault is caused. Attached you can find the file I used as a config file and a very simple test program, as well as the modified section of code from libcfg that helped me pinpooint the source. If you run this program with this config (compiilng with libfsl of course) you should get the same results.
I traced the problem with gdb and managed to pin-point it to line 1233 in cfg_syn_scan.c (same as line 255 of cfg_syn_scan.l). This line is: yylval->cpString = strdup(caStr); I inserted some print statments to test and discovered that the cause is that yylval in this case is a NULL pointer or an invalid address.Whenever I delete a single character from my config file (in any config line of the section) the segfault goes away. That's how I deduced the limit to be 1035 chars in the section before the segfault (ie. 1036 causes a segfault). Strangely enough, if I add a couple of more chars.. my debug line doesn't even show! Any prompt help regarding a workaround or a fix would be most appreciated. | |||||||||||
27 | code | new | 2004 Jan | anonymous | pth | 2004 Jan | rse | 1 | 1 | pth does not work on ia64 platform | edit |
pth does not work at all on the ia64 platform. 'make test' fails both in the release and the snapshot version.
Regards, Torsten | |||||||||||
26 | code | new | 2003 Nov | anonymous | pth | 2003 Nov | setup | 1 | 1 | configure script hangs on Solaris 8 | edit |
break out pth-2.0.0.tar.gz
cd pth-2.0.0
env CFLAGS=-O2 ./configure --prefix=$HOME/.usr --enable-pthread \
--enable-optimize
"hangs" forever check cpu stats: % prstat -s cpu -n 10 1 1 PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP 7771 nelsonhe 936K 464K run 10 0 0:04.35 58% tr/1 OS is Solaris 8 | |||||||||||
25 | code | new | 2003 Nov | anonymous | ex | 2003 Nov | rse | 1 | 1 | `make check' segmentation fault | edit |
Linux spspare 2.4.22 #2 SMP Mon Sep 29 18:13:12 CST 2003 i686 GNU/Linux
Debian GNU/Linux testing
after ./configure and make make-check prints # make check Test Suite: OSSP ex (Exception Handling) __________________________________________________________________ Test: basic nested control flow ............................... OK Test: exception value passing ................................. OK Test: variable value preservation ............................. OK Test: exception deferring ..................................... OK Test: exception shielding ..................................... OK Test: cleanup handling ........................................ OK __________________________________________________________________ Test Summary: 6 tests (6 ok, 0 failed), 6 checks (6 ok, 0 failed) Test Suite: OK make: *** [check] Segmentation fault (core dumped) | |||||||||||
24 | code | new | 2003 Oct | anonymous | l2 | 2003 Oct | rse | 2 | 3 | l2 is not thread safe when used along with fsl | edit |
l2 appears to be thread safe if used carefully by itself. However, when l2 is used with fsl, thread safety problems are evident when log lines start overwriting each other once the thread level becomes dense. The problem arises in the l2_channel_vlog call, which takes as an argument the l2 channel that fsl creates. From this channel, the function extracts the l2_env_t struct, which has a buffer that is used by a subsequent call to l2_util_format to store the formatted log message. The problem is that this l2_env_t struct is part of the l2 channel that fsl passed, which is global. The log line overwriting can occur anywhere after this buffer in l2_env_t is used becacuse any thread can write to it during the l2_util_format call while other threads read from it in downstream calls. The temporary solution that serves our purpose was to store the message in a local function variable before passing it to l2_util_format. The patch file used is attached. | |||||||||||
23 | code | new | 2003 Oct | anonymous | l2 | 2003 Oct | rse | 3 | 4 | Prefix channel buffer bug when '\n' character present | edit |
When using the prefix channel along with fsl, any two subsequent calls to syslog in which the first one has length > n and the second one has lenght < n with the second one ending in a \n character produces three log lines: the first two are the expected log lines and the third one is the (lenght - n) characters of the first syslog call. It looks like some sort of buffer cleaning problem. It was not tested wheter or not this happens when prefix is used without fsl. To reproduce, a single program like this suffices:
int main(void){ openlog("test", LOG_PID,LOG_LOCAL7); syslog(LOG_INFO, "000000000000000000000000000000000000000000000000000000000000"); syslog(LOG_INFO, "11111111111111111111111111111111111111111111111111111\n"); } which produces the output: (timestamp added by prefix channel) [2003-10-31, 11:40:22] 000000000000000000000000000000000000000000000000000000000000
Note: only the prefix channel and the file channel were specified int the config file for this test. The error does not appear when only the file channel is present. | |||||||||||
22 | code | new | 2003 Oct | anonymous | mm | 2003 Oct | rse | 1 | 3 | Apache/PHP with MM session support does SegFault 11 under load | edit |
/ Excuse me for my English / I have self-compiled enviroment with PHP 4.3.3 with MM as static module for Apache 1.3.28. When I test this config locally system worked well. But there are some problem appeared in real web enviroment. PHP scripts with session support sometimes caused Segmentation Fault 11. There are about 12-24 hours pass from apache restart to segfault appeared at about 1 request per minute scripts that uses sessions. Setting Apache 'MaxRequestsPerChild' options does not help (is this good idea?). There are configure scripts: PHP: ./configure --with-config-file-path=/etc/httpd --with-mysql=/usr/local --with-apache=../apache_1.3.28 --with-zlib --disable-cli --disable-cgi --disable-ipv6 --with-openssl --with-mysql=/usr/local --with-mysql-sock=/var/lock/mysql.sock --with-mm=/usr/local --enable-sockets --disable-xml --with-mnogosearch=/usr/local Apache: SSL_BASE=/usr/src/openssl-0.9.7b EAPI_MM=/usr/local ./configure --with-layout=star --activate-module=src/modules/php4/libphp4.a --disable-module=actions --disable-module=cgi --disable-module=include --disable-module=userdir --enable-module=rewrite --enable-module=usertrack --enable-module=ssl --server-uid=www --server-gid=www --disable-rule=SSL_COMPAT There are debugger output (gdb /usr/local/sbin/httpd -c /usr/local/core): GNU gdb 5.3 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-slackware-linux"... Core was generated by `/usr/local/sbin/httpd -DSSL'. Program terminated with signal 11, Segmentation fault. Reading symbols from /lib/libcrypt.so.1...done. Loaded symbols for /lib/libcrypt.so.1 Reading symbols from /usr/local/lib/libmm.so.13...done. Loaded symbols for /usr/local/lib/libmm.so.13 Reading symbols from /usr/local/lib/mysql/libmysqlclient.so.12...done. Loaded symbols for /usr/local/lib/mysql/libmysqlclient.so.12 Reading symbols from /usr/lib/libz.so.1...done. Loaded symbols for /usr/lib/libz.so.1 Reading symbols from /lib/libresolv.so.2...done. Loaded symbols for /lib/libresolv.so.2 Reading symbols from /lib/libm.so.6...done. Loaded symbols for /lib/libm.so.6 Reading symbols from /lib/libdl.so.2...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/libnsl.so.1...done. Loaded symbols for /lib/libnsl.so.1 Reading symbols from /lib/libdb.so.2...done. Loaded symbols for /lib/libdb.so.2 Reading symbols from /usr/lib/libexpat.so.0...done. Loaded symbols for /usr/lib/libexpat.so.0 Reading symbols from /lib/libc.so.6...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /lib/libnss_compat.so.2...done. Loaded symbols for /lib/libnss_compat.so.2 Reading symbols from /lib/libnss_files.so.2...done. Loaded symbols for /lib/libnss_files.so.2 #0 0x080ec415 in ps_sd_destroy (data=0x8536028, sd=0x423b4e7c) at /usr/src/php-4.3.3/ext/session/mod_mm.c:170 170 for (prev = data->hash[slot]; prev->next != sd; prev = prev->next); And there are server configuration: Slackware 9.0 (glibc 2.3.1) with recompiled kernel 2.4.22 on Dual PIII 1000/1GB RAM | |||||||||||
18 | code | new | 2003 May | anonymous | mm | 2003 May | rse | 2 | 1 | Maximum segment size under linux... | edit |
The maximum segment size under linux is a kernel parameter (/proc/sys/kernel/shmmax) which can be changed during runtime.
The maximum segment size of mm is calculated at compile time and depends on the max seg size of the system, one compiled the library. It would be more appropriate for the library to calculate the max seg size during initialization of the mm_core by geting this variable from the /proc subsystem. if this fails then it could just use a "hardcoded" value calculated at configuration stage of the library (or even use bits of the code used in the configure script to calculate the maximum available size on the fly...). | |||||||||||
16 | code | new | 2003 Apr | anonymous | cfg | 2003 Apr | rse | 1 | 1 | parse error in cfg_data.c - GNU/Linux | edit |
Compilation on a Debian GNU/Linux :
gcc version 2.95.4 20011002 (Debian prerelease)
gcc -DHAVE_CONFIG_H -O2 -pipe -c cfg_data.c -fPIC -DPIC -o .libs/cfg_data.lo cfg_data.c: In function `cfg_data_set': cfg_data.c:189: parse error before `*' cfg_data.c:189: parse error before `)' make: *** [cfg_data.lo] Error 1 [I do not have OSSP ex installed on this host, should I ? the autoconf has given no error/warning] thanks | |||||||||||
15 | code | new | 2003 Apr | anonymous | mm | 2003 Apr | anonymous | 1 | 2 | Apache 1.3.27 with mod_ssl compile fails with mm ,but is OK without it | edit |
Problem occurs using Apache 1.3.27, mod_ssl-2.8.14-1.3.27, openssl-0.9.7a and mm-1.3.0 on linux with gcc 2.96 (Mandrake 8.1, kernel 2.4.18). All the packages were downloaded as source tgz, and compiled as instructed in mod_ssl using --with-mm=../mm-1.3.0. Removing this reference to mm allows everything to compile normally.
The error is in the comiplation of Apache and seems to be because of missing header files: ./gen_test_char: error while loading shared libraries: libmm.so.13: cannot open shared object file: No such file or directory make[3]: *** [test_char.h] Error 127 Running "make" a second time creates the missing header with 0 bytes content and things get a bit further, but then it crashes again a bit later. | |||||||||||
14 | code | new | 2003 Mar | anonymous | pth | 2003 Mar | rse | 2 | 1 | Typo in pth_syscall.c breaks sendto | edit |
Using --enable-syscall-hard and sendto(2) results in a call to recvfrom(2). | |||||||||||
13 | event | new | 2003 Mar | anonymous | mm | 2003 Mar | rse | 1 | 1 | Apache install | edit |
Attempting to install apache for an ACID install. I installed Libmm.so.11 or so I thought I continue to get the Msg Dependency Lib not installed. I have RedHat 8.0 | |||||||||||
12 | event | new | 2003 Mar | anonymous | mm | 2003 Mar | rse | 1 | 1 | Apache install | edit |
Attempting to install apache for an ACID install. I installed Libmm.so.11 or so I thought I continue to get the Msg Dependency Lib not installed. | |||||||||||
9 | code | new | 2003 Jan | anonymous | sa | 2003 Jan | rse | 2 | 4 | setsockopt(SO_RCVTIMEO/SO_SNDTIMEO) not working on Solaris 2.8 | edit |
I run OSSP sa on Solaris 2.8. Trying to sa_bind fails with a system error, strerror(errno) reports "Option not supported by protocol".
After investigating it shows that timeout setting through setsockopt(SO_RCVTIMEO / SO_SNDTIMEO) does not work as expected. I manually #undef-ined those 2 constants (after system includes) and it worked. I suggest either system-specific disabling those 2 constants, or implementing a run-time fallback to select (which is normalized and ubiquitous, for sockets) when setting timeouts through setsockopt fails. | |||||||||||
8 | code | new | 2002 Dec | anonymous | cfg | 2002 Dec | rse | 1 | 1 | Build failed | edit |
Under my FreeBSD 4.7-STABLE (both at home and at work) build process
failed: gcc -DHAVE_CONFIG_H -O2 -pipe -c cfg_data.c -fPIC -DPIC -o .libs/cfg_data.lo cfg_data.c: In function `cfg_data_set': cfg_data.c:189: syntax error before `*' gmake: *** [cfg_data.lo] Error 1
| |||||||||||
7 | event | new | 2002 Dec | anonymous | mm | 2002 Dec | rse | 1 | 1 | Segmentation fault at mod_mm.c:186 | edit |
Hello,
I have compiled apache the latest apache 1.3 with php 4.2.3 and lib mm. After several hours, I get a seg fault of apache processes which originate from mod_mm.c at line 186. It seems that php tries to retrieve a correct session id from libmm, but for some reason, it crashes in the for loop in mod_mm.c. Here is a gdb trace. Program received signal SIGSEGV, Segmentation fault. 0x40356f4c in ps_sd_lookup (data=0x8082690, key=0x816da24 "0922ecff590e004d7a75919ac38dde0a", rw=0) at mod_mm.c:186 186 for (prev = NULL, ret = data->hash[slot]; ret; prev = ret, ret = ret->next) (gdb) bt #0 0x40356f4c in ps_sd_lookup (data=0x8082690, key=0x816da24 "0922ecff590e004d7a75919ac38dde0a", rw=0) at mod_mm.c:186 #1 0x403572c8 in ps_read_mm (mod_data=0x403f8e50, key=0x816da24 "0922ecff590e004d7a75919ac38dde0a", val=0xbfffcc94, vallen=0xbfffcc98) at mod_mm.c:326 #2 0x40353f5b in php_session_initialize () at session.c:557 Best, Bastien Duclaux | |||||||||||
4 | event | new | 2002 Oct | anonymous | mm | 2002 Oct | rse | 1 | 2 | mm 1.2.1 core dumps on Sparc/Solaris 8 | edit |
Hi Ralf,
I'm trying to compile mm1.2.1 on Sparc/Solaris 8. I installed gnu binutils 2.13, then bootstrapped gcc 3.2 using the --with-gnu-ld & --with-gnu-as args. Now on to mm: ./config appears to work fine. I then do 'make' which also appears to work . I run make test and immediately get a core dump. I have successfully built mm before with a binary installed version of gcc, but using the sun (/usr/css/bin/) vesions of ld & as. Any thoughts on what may be wrong? My little ultra 1 compiled all night on gcc, but now I'm afraid it's all for naught if gcc is corrupt. Thanks for any help. Regards, D J Brooks |