Patches item #3529183, was opened at 2012-05-23 12:09
Message generated for change (Comment added) made by millerpuckette
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3529183&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: bugfix
>Status: Pending
>Resolution: Accepted
Priority: 5
Private: No
Submitted By: Patrice Colet (patrco)
Assigned to: Miller Puckette (millerpuckette)
Summary: toggling editmode when canvas is not vised causes Tcl dumps
Initial Comment:
Many bugs are appearing in tcl, one is easy to reproduce, it's attached
the console says in red "invalid command name: .xff8f58 while executing " .xff8f58 configure -cursor $cursor_run_mode_nothing" when clicking on toggle
----------------------------------------------------------------------
>Comment By: Miller Puckette (millerpuckette)
Date: 2012-12-15 13:23
Message:
applied for 0.44
----------------------------------------------------------------------
Comment By: Patrice Colet (patrco)
Date: 2012-05-23 12:16
Message:
Could you try a nightly build and report back whether the problem still
exists?
http://autobuild.puredata.info/auto-build/latest/
----------------------------------------------------------------------
Comment By: Patrice Colet (patrco)
Date: 2012-05-23 12:16
Message:
Could you try a nightly build and report back whether the problem still
exists?
http://autobuild.puredata.info/auto-build/latest/
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3529183&group_…
Patches item #3424988, was opened at 2011-10-17 13:35
Message generated for change (Comment added) made by millerpuckette
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3424988&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: bugfix
Status: Open
Resolution: None
Priority: 7
Private: No
Submitted By: Hans-Christoph Steiner (eighthave)
Assigned to: Miller Puckette (millerpuckette)
Summary: add proper quoting of filenames to GUI prefs
Initial Comment:
On Mac OS X, then GUI prefs system was not handling quoting of filenames at all. The first patch adds proper quoting, then the second patch brings pd_guiprefs.tcl inline with the coding style of the rest of the Pd GUI code (using namespaces, the 'else' keyword, etc).
----------------------------------------------------------------------
>Comment By: Miller Puckette (millerpuckette)
Date: 2012-12-15 13:20
Message:
The first two appear to have been appplied already, but not the last one
(and it doens't
apply cleanly) - should I just aply 0003 by hand? Not sure it's still
relevant but if so I'll put
it in.
----------------------------------------------------------------------
Comment By: Hans-Christoph Steiner (eighthave)
Date: 2012-12-14 17:22
Message:
one more bugfix patch to include support for unicode chars and better
quoting
----------------------------------------------------------------------
Comment By: Hans-Christoph Steiner (eighthave)
Date: 2011-11-04 21:45
Message:
updated with a quoting bug fix
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3424988&group_…
Patches item #3421335, was opened at 2011-10-10 18:06
Message generated for change (Comment added) made by millerpuckette
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3421335&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: bugfix
>Status: Pending
>Resolution: Accepted
Priority: 5
Private: No
Submitted By: Anthony Lauzon (pfaffian)
Assigned to: Miller Puckette (millerpuckette)
Summary: Bug in bonk~ for Max/MSP
Initial Comment:
The file handle allocator was not allocating the right amount of memory for the input file. This patch fixes that.
----------------------------------------------------------------------
>Comment By: Miller Puckette (millerpuckette)
Date: 2012-12-15 13:10
Message:
appied... now I have to figure out how I really intend to be testing and
distributing Max objects :)
----------------------------------------------------------------------
Comment By: Anthony Lauzon (pfaffian)
Date: 2012-03-14 11:39
Message:
bump
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3421335&group_…
Patches item #3420484, was opened at 2011-10-07 20:10
Message generated for change (Comment added) made by millerpuckette
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3420484&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: bugfix
>Status: Pending
>Resolution: Fixed
Priority: 5
Private: No
Submitted By: Marvin Humphrey (creamygoodness)
Assigned to: Miller Puckette (millerpuckette)
Summary: Invalid memory access in s_utf8.c
Initial Comment:
After hearing on IRC that segfaults could be produced while editing text in an
Object box under gdb, I tried running the Vanilla main git branch under
Valgrind:
valgrind ./src/pd
Valgrind reported many "invalid read" memory errors, which on inspection, all
arose from the same root cause: these strings are not NULL-terminated, but the
UTF-8 handling code in s_utf8.c assumes NULL-termination and malfunctions in
its absence.
The attached patch suffices to eliminate the read errors. However, it does not
address all the problems in s_utf8.c; other functions will require similar
treatment.
I have attempted make the new code as compatible with the old code as
possible, for instance preserving its dubious algorithm for handling missing
or excess continuation bytes. Hopefully I got everything right, though it is
hard to be certain with bit-twiddling code like this in the absence of
thorough unit tests.
----------------------------------------------------------------------
>Comment By: Miller Puckette (millerpuckette)
Date: 2012-12-15 13:05
Message:
this appears already to have been applied from somewhere else.
----------------------------------------------------------------------
Comment By: Hans-Christoph Steiner (eighthave)
Date: 2011-10-09 18:39
Message:
I accepted this into Pd-extended.
----------------------------------------------------------------------
Comment By: Marvin Humphrey (creamygoodness)
Date: 2011-10-09 13:04
Message:
I have uploaded a new version of the patch for s_utf8.c, and also a new
version of the benchmarking app. Highlights:
1. The benchmarking app now handles four different functions.
2. All changed functions have been sped up since the last patch,
especially u8_charnum().
u8_offset: 16% faster
u8_charnum: 22% faster
u8_inc: 10% faster
----------------------------------------------------------------------
Comment By: Hans-Christoph Steiner (eighthave)
Date: 2011-10-09 09:54
Message:
This sounds great, I'll include it in Pd-extended and we'll see how it does
there. The only problem is that there are two patches included in this
tracker and they seem to have the same name. Could you delete the older
one, so there is only one patch?
----------------------------------------------------------------------
Comment By: Marvin Humphrey (creamygoodness)
Date: 2011-10-08 17:08
Message:
In response to speed concerns raised in an IRC conversation ("well, its a
realtime engine that communicates thru the utf8 stuff, so its good to have
it
efficient"), I have prepared a benchmark program to test the performance of
u8_offset(). It reads a file into RAM, then traverses it with u8_offset()
a
user-specified number of iterations.
Here are some results using the French wikipedia page on Pure Data as
source
material.
Without patch:
marvin@smokey:~/projects/pure-data $ cc -Wall -Wextra -std=gnu99 -O3
bench.c src/s_utf8.c -o bench
marvin@smokey:~/projects/pure-data $ time ./bench pd.html 10000
pd.html (44683 bytes) 10000 iterations
real 0m0.732s
user 0m0.716s
sys 0m0.003s
Running the test 10 times produced a range of 0.724s to 0.733s, so the
benchmark was pretty stable even on a Mac. :)
With patch:
marvin@smokey:~/projects/pure-data $ cc -Wall -Wextra -std=gnu99 -O3
bench.c src/s_utf8.c -o bench
marvin@smokey:~/projects/pure-data $ time ./bench pd.html 10000
pd.html (44683 bytes) 10000 iterations
real 0m0.618s
user 0m0.612s
sys 0m0.004s
So, in addition to eliminating the Valgrind warnings, the patched version
is
actually faster. I speculate that this is because the current version of
u8_offset() needlessly traverses at least one extra byte when the header
byte of
the sequence is plain ASCII.
For what it's worth, if we remove the NUL-termination check from the loop
condition...
- while (charnum > 0 && str[offs]) {
+ while (charnum > 0) {
We get even better:
marvin@smokey:~/projects/pure-data $ time ./bench pd.html 10000
pd.html (44683 bytes) 10000 iterations
real 0m0.514s
user 0m0.507s
sys 0m0.004s
However, that could yield bogus results in the event that strlen(string)
differs from the buffer length held in a separate integer. I would go that
route in code which had been engineered to not need NUL-termination from
the
start, but wouldn't advocate for it here.
As a further test, I tried an implementation based on u8_seqlen() which has
the advantage of being easier to understand, and is the algorithm currently
used by the Perl core among others:
while (charnum-- > 0 && str[offs]) {
offs += u8_seqlen(str + offs);
}
It performed substantially worse:
marvin@smokey:~/projects/pure-data $ time ./bench pd.html 10000
pd.html (44683 bytes) 10000 iterations
real 0m1.906s
user 0m1.891s
sys 0m0.003s
In this case, I speculate that the lookup into the trailingBytesForUTF8
array
is costly, even though it doubtless gets into the hottest CPU cache and
stays
there.
The benchmarks were run on a 2007 Macbook Pro with a 2.4 GHz Core Duo
chipset running OS X 10.6 (Snow Leopard).
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3420484&group_…
Patches item #3421072, was opened at 2011-10-10 00:03
Message generated for change (Comment added) made by millerpuckette
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3421072&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: None
>Status: Pending
>Resolution: Accepted
Priority: 5
Private: No
Submitted By: Marvin Humphrey (creamygoodness)
Assigned to: Miller Puckette (millerpuckette)
Summary: Streamline s_utf8.c
Initial Comment:
There are a number of UTF-8 manipulation routines which were included
when the library was added with the justification that they might be
used someday. However, time has passed, they are still unused, and some
of them have bugs -- so it is time to delete them with a justification
of YAGNI (You Ain't Gonna Need It).
----------------------------------------------------------------------
>Comment By: Miller Puckette (millerpuckette)
Date: 2012-12-15 13:04
Message:
applied for 0.44
----------------------------------------------------------------------
Comment By: Hans-Christoph Steiner (eighthave)
Date: 2011-10-10 13:31
Message:
Ok, I say this is ready for Miller to accept, so I'm assigning it to him.
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2011-10-10 13:25
Message:
Bryan Jurish:
> I didn't see any fix for the NUL-termination problems I saw suggested
> on the #dataflow transcript though (and I never noticed any such
> segfaults myself): has that problem been confirmed?
The NUL-termination problems for u8_inc(), u8_charnum() and u8_offset()
were fixed under a different issue:
http://sourceforge.net/tracker/?func=detail&atid=478072&aid=3420484&group_i…
Those functions were all capable of overrunning the end of a
non-NUL-terminated string; u8_offset() could potentially return an
incorrect answer depending on what it found there.
I never duplicated the segfault myself using the steps that Matthieu
described in #dataflow; however, it was very easy to detect the invalid
reads by running Pd under Valgrind. If I tried hard I might be able to
trigger a segfault consistently by carefully crafting bytes to trick
u8_offset() into giving too big a number, resulting in a cursor location
beyond the end of a string rather than at the end of a string. In any
case, the patch both eliminated the invalid reads *and* sped things up,
so I think it was justified even without a consistently segfaulting test
case.
I suspect that u8_inc_ptr() has problems similar to u8_inc() -- but
since it does not seem to be used anywhere at present, I haven't put any
time into diagnosing or fixing it. Instead, this patch removes it
altogether. We can resurrect it from version control if a need arises
in the future and vet it at that time.
The patches attached to this issue should be low-risk, as all they do is
remove functionality rather than change behaviors. The removed symbols
are unused by Vanilla, and seem also to be unused by Pd-extended. The
risk is that I missed some usage somewhere, resulting in link-time
failure.
----------------------------------------------------------------------
Comment By: Bryan Jurish (mukau)
Date: 2011-10-10 12:16
Message:
Looks good to me. I can't test anything right now, but Martin's
suggestions seem safe and clear. Give it a whirl...
I didn't see any fix for the NUL-termination problems I saw suggested on
the #dataflow transcript though (and I never noticed any such segfaults
myself): has that problem been confirmed?
----------------------------------------------------------------------
Comment By: Hans-Christoph Steiner (eighthave)
Date: 2011-10-10 09:37
Message:
Makes sense to me. I'm assigning it to Bryan Jurish, the original author
of the UTF-8 support, to see if he agrees.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3421072&group_…
Patches item #3415092, was opened at 2011-09-28 11:18
Message generated for change (Comment added) made by millerpuckette
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3415092&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: None
>Status: Pending
>Resolution: Accepted
Priority: 5
Private: No
Submitted By: Hans-Christoph Steiner (eighthave)
Assigned to: Miller Puckette (millerpuckette)
Summary: add setup() function as final option when loading externals
Initial Comment:
With Pd-extended, I have added a pd/startup/ folder that allows Pd to auto-start things without prefs or flags. The idea is for loading things like the libdir or Lua loaders using ordered symlinks, like:
startup/0.libdir.pd_linux
startup/1.pdlua.pd_linux
Having setup() would also provide an easy way to deal with hexloader characters in the object name. For people building a single object, they would only need to call it setup() and not have to calculate the hex codes for it. The patch adds two lines of code for _WIN32 and two for everything else. Its included in Pd-extended 0.43.1
----------------------------------------------------------------------
>Comment By: Miller Puckette (millerpuckette)
Date: 2012-12-15 12:24
Message:
appears already to have been applied
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3415092&group_…
Patches item #3413809, was opened at 2011-09-25 11:06
Message generated for change (Comment added) made by millerpuckette
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3413809&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: feature
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Hans-Christoph Steiner (eighthave)
Assigned to: Miller Puckette (millerpuckette)
Summary: use Ctrl-< and Ctrl-> to cycle thru open windows
Initial Comment:
This patch allows you to use Ctrl/Cmd < and > to cycle through all of the open windows in different directions.
----------------------------------------------------------------------
>Comment By: Miller Puckette (millerpuckette)
Date: 2012-12-15 11:02
Message:
I tried this and got funny behavior - ctrl < focussed the previous window
OK, but also sent it to the back of
the window stacking order.. Can this be what was intended???
----------------------------------------------------------------------
Comment By: max (maxn)
Date: 2011-09-26 05:01
Message:
That's the standard on german keyboard layouts for cycling through the
windows of the active application on OS X. I'd very much apprechiate if
this would work in Pd. That said, i think it might actually be a bug in
Tcl/Tk that it isn't working right now.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3413809&group_…
Patches item #3411732, was opened at 2011-09-20 00:39
Message generated for change (Settings changed) made by millerpuckette
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3411732&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
>Status: Pending
>Resolution: Fixed
Priority: 5
Private: No
Submitted By: Thomas Klausner (thomasklausner)
Assigned to: Nobody/Anonymous (nobody)
Summary: Patches for supporting NetBSD
Initial Comment:
The attached patches (against 0.43-0) fix various issues when building on NetBSD.
They are described in detail in the patches, here's a short list:
Add missing include (for SIGPIPE).
Define extensions for NetBSD.
Detect endianness on NetBSD.
Use proper soundcard.h include on NetBSD and add missing argument
to ioctl().
File handling under NetBSD is the same as under Linux.
Use OSS on NetBSD.
Define missing symbol the same as on FreeBSD/Mac OS X.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3411732&group_…
Patches item #3411730, was opened at 2011-09-20 00:35
Message generated for change (Settings changed) made by millerpuckette
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3411730&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: bugfix
>Status: Pending
>Resolution: Fixed
Priority: 5
Private: No
Submitted By: Thomas Klausner (thomasklausner)
Assigned to: Nobody/Anonymous (nobody)
Summary: alloca.h not portable
Initial Comment:
The alloca.h header file is not portable, it doesn't exist e.g. on many BSDs or AIX.
I've changed the configure script to check for its existence and the users to check for the symbol before including alloca.h, or including malloc.h instead.
If Windows doesn't use the configure script, an "|| or defined(WIN32)" needs to be added at the end of the "defined(MALLOC_H)" lines.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3411730&group_…
Patches item #3464413, was opened at 2011-12-23 06:20
Message generated for change (Settings changed) made by millerpuckette
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3464413&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: bugfix
>Status: Pending
Resolution: Fixed
Priority: 7
Private: No
Submitted By: https://www.google.com/accounts ()
Assigned to: Miller Puckette (millerpuckette)
Summary: Most Recently Used files list stay empty, and related issues
Initial Comment:
0.43.1-extended-20111221 - the MRU list is always empty when I open the software: then I open several file and the MRU list fills up. Then I close pd- extended, and when il open it again the MRU files is empty once again.
----------------------------------------------------------------------
Comment By: Hans-Christoph Steiner (eighthave)
Date: 2012-01-15 19:32
Message:
I found the bug, and attached the patch that fixes it. It is included in
Pd-extended. Miller, this is a simple bug fix that should be included in
any future 0.43 releases. It also requires that two other simple patches
are applied first, which also are simple fixes to bugs in the GUI. Apply
them in order, i.e. 0001, 0002, then 0003. These are all included in
Pd-extended
----------------------------------------------------------------------
Comment By: https://www.google.com/accounts ()
Date: 2011-12-23 06:21
Message:
ubuntu 11.10, oneiric ocelot
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=3464413&group_…