Closed davelab6 closed 11 years ago
So this was just going into spiro mode and moving the nodes around a bit? Or was there anything interesting leading up to the crash. Looking on Linux after making about a few 5-6 node open and closed spiro path I can drag the nodes around fine. Mostly trying to work out how to reproduce it.
The bad access at address 0x18 smells like a bad pointer to struct dereference, so it would be great to work out where in the stack null is being passed downwards.
On 2 September 2013 01:01, monkeyiq notifications@github.com wrote:
So this was just going into spiro mode and moving the nodes around a bit?
Yes, you can see how I put this into the bundled Mac app at https://github.com/fontforge/libspiro/#in-fontforge
Then I just placed 3 G4 points and then click and dragged a 4th one around, which shows the really crazy spiros are gone, but then it crashed.
Another BT
$ sh ./configure --prefix=/Applications/FontForge.app/Contents/Resources/opt/local/
$ make
$ make install
$ /Applications/FontForge.app/Contents/MacOS/FontForge --debug
Script started on Tue Sep 17 22:33:24 2013
(lldb) error: Aborting reading of commands after command #5: 'run' continued the target.
Executing commands in '/Applications/FontForge.app/Contents/MacOS/debug-script'.
(lldb) version
LLDB-179.5
(lldb) settings set frame-format "frame #${frame.index}: ${frame.pc}{ ${module.file.basename}`${function.name-with-args}{${function.pc-offset}}}{ at ${line.file.basename}:${line.number}}\n"
(lldb) target create /Applications/FontForge.app/Contents/Resources/opt/local/bin/fontforge
Current executable set to '/Applications/FontForge.app/Contents/Resources/opt/local/bin/fontforge' (x86_64).
(lldb) target select 0
Current targets:
* target #0: /Applications/FontForge.app/Contents/Resources/opt/local/bin/fontforge ( arch=x86_64-apple-macosx, platform=localhost )
(lldb) run
Process 77683 launched: '/Applications/FontForge.app/Contents/Resources/opt/local/bin/fontforge' (x86_64)
Copyright (c) 2000-2012 by George Williams. See AUTHORS for contributors.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
with many parts BSD <http://fontforge.org/license.html>. Please read LICENSE.
Executable based on sources from 04:15 EST 17-Sep-2013-ML-NoPython-D.
Library based on sources from 04:15 EST 17-Sep-2013.
Based on source from git with hash:39e86e01053f0fa81cb73b5ba193e3f9dd046a2a
collabclient_sniffForLocalServer_timer() p:pong
******* have local server!
CVPreserveState() no_windowing_ui:0 maxundoes:120
CVPreserveState() no_windowing_ui:0 maxundoes:120
CVPreserveState() no_windowing_ui:0 maxundoes:120
CVPreserveState() no_windowing_ui:0 maxundoes:120
[KProcess 77683 stopped
* thread #1: tid = 0x1c03, 0x00000001004706d8 libfontforge-2.0.0_beta1.dylib`SpiroCP2SplineSet + 344, stop reason = EXC_BAD_ACCESS (code=1, address=0x18)
"frame #0: 0x00000001004706d8 libfontforge-2.0.0_beta1.dylib`SpiroCP2SplineSet + 344
"libfontforge-2.0.0_beta1.dylib`SpiroCP2SplineSet + 344:
-> 0x1004706d8: movq %r15, 24(%r14)
0x1004706dc: incl %ebx
0x1004706de: movw %bx, 34(%r14)
0x1004706e3: movw %bx, 32(%r14)
(lldb) tb[K[Kbt
* thread #1: tid = 0x1c03, 0x00000001004706d8 libfontforge-2.0.0_beta1.dylib`SpiroCP2SplineSet + 344, stop reason = EXC_BAD_ACCESS (code=1, address=0x18)
"frame #0: 0x00000001004706d8 libfontforge-2.0.0_beta1.dylib`SpiroCP2SplineSet + 344
" "frame #1: 0x0000000100470b0e libfontforge-2.0.0_beta1.dylib`SSRegenerateFromSpiros + 46
" "frame #2: 0x0000000100073c89 libfontforgeexe-2.0.0_beta1.dylib`CVMouseDownPoint + 1241
" "frame #3: 0x00000001000546e6 libfontforgeexe-2.0.0_beta1.dylib`v_e_h + 2646
" "frame #4: 0x00000001006d124e libgdraw-2.0.0_beta1.dylib`_GWidget_Container_eh + 1870
" "frame #5: 0x000000010071a75d libgdraw-2.0.0_beta1.dylib`dispatchEvent + 5789
" "frame #6: 0x0000000100717d25 libgdraw-2.0.0_beta1.dylib`GXDrawEventLoop + 85
" "frame #7: 0x000000010017414b libfontforgeexe-2.0.0_beta1.dylib`fontforge_main + 6923
" "frame #8: 0x000000010000ff24 fontforge`start + 52
"(lldb) q
Script done on Tue Sep 17 22:33:59 2013
How about now?
On September 23, 2013 04:08:52 AM Dave Crossland wrote:
Ah, ignore that, its an older version of FF with the latest libspiro.
This last fix was all on the FontForge side and the older FontForge would have needed these similar changes.
I haven't tried the older FontForge with older libspiro recently, but I ithink the combination might not have been as stable.
I still managed one or two segfaults with this last update, but I believe the fix for that (whatever it is) would also need to be on the FontForge side as well.
Both SpiroCP2SplineSet() and SSRegenerateFromSpiros() fixed in FontForge. There is another segfault issue, but it's also Fontforge related. Consider this bug fixed and closed.
:)