Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash in git master #4

Closed
davelab6 opened this issue Sep 1, 2013 · 7 comments
Closed

Crash in git master #4

davelab6 opened this issue Sep 1, 2013 · 7 comments

Comments

@davelab6
Copy link
Member

davelab6 commented Sep 1, 2013

:)

$ ./fontforge.sh 
Script started, output file is /Users/dcrossland/FontForge-Debug-Output.txt
(lldb) Executing commands in 'debug-script.sh'.
(lldb)  #!/bin/sh
(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 /usr/local/bin/fontforge
Current executable set to '/usr/local/bin/fontforge' (x86_64).
(lldb)  target select 0
Current targets:
* target #0: /usr/local/bin/fontforge ( arch=x86_64-apple-macosx, platform=localhost )
(lldb)  run
Process 18877 launched: '/usr/local/bin/fontforge' (x86_64)
Command #6 'run' continued the target.
Copyright (c) 2000-2012 by George Williams.
 Executable based on sources from 14:57 GMT 31-Jul-2012-D.
 Library based on sources from 14:57 GMT 31-Jul-2012.
Recovering from /Users/dcrossland/.FontForge/autosave/auto003ec1-1.asfd...  Done
Recovering from /Users/dcrossland/.FontForge/autosave/auto0048b8-1.asfd...  Done
Recovering from /Users/dcrossland/.FontForge/autosave/auto0048cc-1.asfd...  Done
Recovering from /Users/dcrossland/.FontForge/autosave/auto0048d5-1.asfd...  Done
Process 18877 stopped
* thread #1: tid = 0x1c03, 0x00000001003a82df libfontforge.1.dylib`SpiroCP2SplineSet + 316, stop reason = EXC_BAD_ACCESS (code=1, address=0x18)
    "frame #0: 0x00000001003a82df libfontforge.1.dylib`SpiroCP2SplineSet + 316
"libfontforge.1.dylib`SpiroCP2SplineSet + 316:
-> 0x1003a82df:  movq   %r14, 24(%r15)
   0x1003a82e3:  incl   %ebx
   0x1003a82e5:  movw   %bx, 34(%r15)
   0x1003a82ea:  movw   %bx, 32(%r15)
(lldb) bt
* thread #1: tid = 0x1c03, 0x00000001003a82df libfontforge.1.dylib`SpiroCP2SplineSet + 316, stop reason = EXC_BAD_ACCESS (code=1, address=0x18)
    "frame #0: 0x00000001003a82df libfontforge.1.dylib`SpiroCP2SplineSet + 316
"    "frame #1: 0x00000001003a8678 libfontforge.1.dylib`SSRegenerateFromSpiros + 46
"    "frame #2: 0x000000010004de6c fontforge`CVMouseMoveSpiroPoint + 332
"    "frame #3: 0x0000000100034562 fontforge`CVMouseMove + 2278
"    "frame #4: 0x000000010003050c fontforge`v_e_h + 234
"    "frame #5: 0x00000001005b70f5 libgdraw.4.dylib`_GWidget_Container_eh + 1541
"    "frame #6: 0x000000010060328c libgdraw.4.dylib`dispatchEvent + 5518
"    "frame #7: 0x0000000100600c86 libgdraw.4.dylib`GXDrawEventLoop + 65
"    "frame #8: 0x0000000100126868 fontforge`main + 5982
"    "frame #9: 0x00007fff839227e1 libdyld.dylib`start + 1
"(lldb) q
@monkeyiq
Copy link

monkeyiq commented Sep 2, 2013

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.

@davelab6
Copy link
Member Author

davelab6 commented Sep 2, 2013

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.

http://youtu.be/8jHOApjMxW8

@davelab6
Copy link
Member Author

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

@JoesCat
Copy link
Contributor

JoesCat commented Sep 22, 2013

How about now?

@JoesCat
Copy link
Contributor

JoesCat commented Sep 23, 2013

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.

@JoesCat
Copy link
Contributor

JoesCat commented Sep 29, 2013

Both SpiroCP2SplineSet() and SSRegenerateFromSpiros() fixed in FontForge.
There is another segfault issue, but it's also Fontforge related.
Consider this bug fixed and closed.

@JoesCat JoesCat closed this as completed Sep 29, 2013
@fotografi
Copy link

No description provided.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants