Dans la console : [tt] 2007-10-14 17:36:28.188 Discoway[2389] Debut 2007-10-14 17:36:28.193 Discoway[2389] 1 2007-10-14 17:36:28.367 Discoway[2389] 2 2007-10-14 17:36:28.367 Discoway[2389] 3 2007-10-14 17:36:28.368 Discoway[2389] 4 2007-10-14 17:36:28.368 Discoway[2389] 5 2007-10-14 17:36:28.406 Discoway[2389] 6 2007-10-14 17:36:28.407 Discoway[2389] 7 2007-10-14 17:36:28.431 Discoway[2389] 8 2007-10-14 17:36:28.434 Discoway[2389] 9 2007-10-14 17:36:28.434 Discoway[2389] 10 2007-10-14 17:36:28.434 Discoway[2389] *** Assertion failure in -[NSTextFieldCell _objectValue:forString:errorDescription:], AppKit.subproj/NSCell.m:1298 2007-10-14 17:36:28.434 Discoway[2389] An uncaught exception was raised 2007-10-14 17:36:28.434 Discoway[2389] Invalid parameter not satisfying: aString != nil 2007-10-14 17:36:28.434 Discoway[2389] *** Uncaught exception: <NSInternalInconsistencyException> Invalid parameter not satisfying: aString != nil Oct 14 17:36:29 ordinateur-de-broudot crashdump[2394]: Discoway crashed Oct 14 17:36:29 ordinateur-de-broudot crashdump[2394]: crash report written to: /Users/broudot/Library/Logs/CrashReporter/Discoway.crash.log [/tt]
Dans le crash-report (je n'ai mis que le dump du thread 6, celui qui plante) : [tt] Date/Time:Â Â Â 2007-10-14 17:36:28.473 +0200 OS Version:Â Â 10.4.10 (Build 8R2232) Report Version: 4
Command: Discoway Path:Â Â /Users/broudot/Desktop/Discoway.app/Contents/MacOS/Discoway Parent:Â WindowServer [57]
Version: 1.0b2 (100)
PID:Â Â 2389 Thread: 6
Exception:Â EXC_BREAKPOINT (0x0006) Code[0]:Â Â 0x00000002 Code[1]:Â Â 0x00000000
Thread 6 Crashed: 0 com.apple.Foundation  0x9281e47f _NSRaiseError + 227 1 com.apple.Foundation  0x928cc17a -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 113 2 com.apple.AppKit    0x9329f97a -[NSCell _objectValue:forString:errorDescription:] + 208 3 com.apple.AppKit    0x9329f8a4 -[NSCell _objectValue:forString:] + 55 4 com.apple.AppKit    0x9329f7fb -[NSCell setStringValue:] + 49 5 com.apple.AppKit    0x932a1a56 -[NSControl setStringValue:] + 119 6 com.tineo.Discoway   0x00012e14 -[AppController threadOuvertureCarte:] + 4661 7 com.apple.Foundation  0x927eb2e0 forkThreadForFunction + 123 8 libSystem.B.dylib    0x90024227 _pthread_body + 84
Thread 6 crashed with X86 Thread State (32-bit):  eax: 0x00547000 ebx: 0x9281e3aa ecx: 0x90a669f8 edx: 0x0048c840  edi: 0x1495d770 esi: 0x14993a10 ebp: 0xb0332c58 esp: 0xb0332bf0  ss: 0x0000001f efl: 0x00000246 eip: 0x9281e47f cs: 0x00000017  ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037 [/tt]
Ce que je ne m'explique vraiment pas, c'est pourquoi ça plante sur la majorité des configs, mais pas sur toutes .... C'est qu'en même étrange, non ? J'ai un iMac et un Macbook, et ça marche impec sur les 2 .....
Ce que je ne m'explique vraiment pas, c'est pourquoi ça plante sur la majorité des configs, mais pas sur toutes .... C'est qu'en même étrange, non ? J'ai un iMac et un Macbook, et ça marche impec sur les 2 ..... Quelqu'un peut m'expliquer ça ?
Ben, la réponse ne risque pas de te faire plaisir...
Oh oh, y'avait que les bibliothèques .... :P Pour le reste, j'ai les droits sur tout !
Stuart Cunningham serait content de savoir que tu as les droits sur sa librairie libbsb >:( . (et j'imagine, mais j'ai autre chose à faire que fouiller ton binaire, que tu utilises gdal, libtiff ..etc... )
Bref, il faudrait apprendre à respecter un peu mieux le travail des autres Julien.
A citer ma phrase amnesic, tu aurais pu également y mettre la ligne suivante ...
Je suis en train de bosser dessus pour les éliminer. Je n'en utilisais que 1 ou 2 %, donc facile à remplacer par du code perso qui en plus s'imbrique mieux avec le reste de l'appli.
Stuart Cunningham serait content de savoir que tu as les droits sur sa librairie libbsb >:(
Tu crois que s'il a mis son code sous licence LGPL, il serait vraiment offensé de voir son code utilisé dans un projet propriétaire?
Et les deux libs que tu cites sont sous licence MIT.
Ce n'est pas du tout le fait de faire un produit propriétaire et/ou commercial à partir de ces bibliothèques (dont leur licence n'est pas incompatible) qui m'a fait tiquer. C'est revendiquer 100% des droits du code d'un logiciel qui utilise (et c'est une très bonne chose de ne pas réinventer la roue) beaucoup de librairies faites par d'autres.
Rajouter dans l'"à propos" de son application un remerciement pour les librairies utilisées me semble simplement un respect pour le travail des autres.
Mais bon, loin de moi de vouloir donner des leçons, il fait ce qu'il veut, et j'espère rester assez constructif pour qu'il puisse améliorer son application.
Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that (i) the above copyright notices and this permission notice appear in all copies of the software and related documentation
Rajouter dans l'"à propos" de son application un remerciement pour les librairies utilisées me semble simplement un respect pour le travail des autres.
Mais bon, loin de moi de vouloir donner des leçons, il fait ce qu'il veut, et j'espère rester assez constructif pour qu'il puisse améliorer son application.
Amnesic, je suis entièrement d'accord avec toi. J'ai d'ailleurs cité dans l'A propos toutes les personnes qui m'aident, et tous le code que j'ai utilisé .... Encore une fois, je suis en train de virer les bibliothèques pour les remplacer par mon propre code. Alors certes la version que tu as entre les mains contient libbsb sans que son nom apparaisse dans l'A propos, mais c'est une version de développement dont la seule diffusion s'est limité à OC et les membres qui ont lu ce topic ...
Et quand tu dis " C'est revendiquer 100% des droits du code d'un logiciel qui utilise (et c'est une très bonne chose de ne pas réinventer la roue) beaucoup de librairies faites par d'autres.", il ne me reste plus que libbsb et celle qui va avec, libtiff, et ce, pour la seule fonctionnalité d'import de cartes BSB ....
Amnesic, je suis entièrement d'accord avec toi. J'ai d'ailleurs cité dans l'A propos toutes les personnes qui m'aident, et tous le code que j'ai utilisé .... Encore une fois, je suis en train de virer les bibliothèques pour les remplacer par mon propre code. Alors certes la version que tu as entre les mains contient libbsb sans que son nom apparaisse dans l'A propos, mais c'est une version de développement dont la seule diffusion s'est limité à OC et les membres qui ont lu ce topic ...
Ok pigé.
pour revenir à ton code, je n'ai pas reussi à faire la liaison avec mon petit GPS Bluetooth RoyalTek. C'est encore en cours de dev ou bien c'est un pb de config de mon coté ? (j'ai pas bien pigé si il fallait que j'utilise la connexion type BT ou Serial, car en fait il est BT mais simule juste un serial port SPP )
Il faut que tu choisisses BT, puis faire le jumelage.
Je suis intéressé par ton retour. J'ai pas trouvé beaucoup de monde avec un GPS BT, et j'ai donc pas de retour. La seule expérience, c'est la mienne, puisque j'en ai un.
Il faut que tu choisisses BT, puis faire le jumelage.
Je suis intéressé par ton retour. J'ai pas trouvé beaucoup de monde avec un GPS BT, et j'ai donc pas de retour. La seule expérience, c'est la mienne, puisque j'en ai un.
en BT j'ai un crash :
2007-10-14 21:38:00.315 Discoway[27120] *** -[NSCalendarDate years:months:days:hours:minutes:seconds:sinceDate:]: sinceDate: argument cannot be nil 2007-10-14 21:38:01.968 Discoway[27120] *** Assertion failure in -[NSTextFieldCell _objectValue:forString:errorDescription:], AppKit.subproj/NSCell.m:1298 2007-10-14 21:38:01.968 Discoway[27120] An uncaught exception was raised 2007-10-14 21:38:01.968 Discoway[27120] Invalid parameter not satisfying: aString != nil 2007-10-14 21:38:01.968 Discoway[27120] *** Uncaught exception: <NSInternalInconsistencyException> Invalid parameter not satisfying: aString != nil Oct 14 21:38:02 macbookpro crashdump[27126]: Discoway crashed
Ce que je ne m'explique vraiment pas, c'est pourquoi ça plante sur la majorité des configs, mais pas sur toutes .... C'est qu'en même étrange, non ? J'ai un iMac et un Macbook, et ça marche impec sur les 2 ..... Quelqu'un peut m'expliquer ça ?
Dans le présent cas, le thread 6 modifie le "stringValue" d'un NSControl. Pour refléter cette modification à l'affichage, NSControl va se réafficher... Or on est pas dans le thread principal, donc instabilité !
Dans le présent cas, le thread 6 modifie le "stringValue" d'un NSControl. Pour refléter cette modification à l'affichage, NSControl va se réafficher... Or on est pas dans le thread principal, donc instabilité !
OK. Donc, en fait, tout se qui touche à l'affichage de l'interface graphique doit être exécuté dans le process principal ? Bon, je vais reprendre ma méthode pour corriger tout ça, on va voir si c'est mieux.
Le truc qui me chagrine quand même toujours, c'est pourquoi chez moi ça plante pas ? Parce que du coup pour debugger, c'est un peu galère ...
Dans le présent cas, le thread 6 modifie le "stringValue" d'un NSControl. Pour refléter cette modification à l'affichage, NSControl va se réafficher... Or on est pas dans le thread principal, donc instabilité !
OK. Donc, en fait, tout se qui touche à l'affichage de l'interface graphique doit être exécuté dans le process principal ? Bon, je vais reprendre ma méthode pour corriger tout ça, on va voir si c'est mieux.
Le truc qui me chagrine quand même toujours, c'est pourquoi chez moi ça plante pas ? Parce que du coup pour debugger, c'est un peu galère ...
Ah oui, tout l'affichage doit se faire dans le thread principal.
Quand aux crash aléatoire selon les configurations, ce sont en général des problèmes liés à la mémoire, les plus difficiles à trouver... Un petit manque de rigueur dans le développement sans douteÂ
Non, là je ne pense pas à un pb de mémoire, je suis quasi sur de mon coup. Pour moi c'est les threads. Je vais essayer de faire une version mono-threadé pour voir la différence.
Réponses
Tu crois que s'il a mis son code sous licence LGPL, il serait vraiment offensé de voir son code utilisé dans un projet propriétaire?
Et les deux libs que tu cites sont sous licence MIT.
Propriétaire, pas de problème ! C'est commercial le problème
MIT par contre, c'est OK, c'est proche de BSD.
Dans la console :
[tt]
2007-10-14 17:36:28.188 Discoway[2389] Debut
2007-10-14 17:36:28.193 Discoway[2389] 1
2007-10-14 17:36:28.367 Discoway[2389] 2
2007-10-14 17:36:28.367 Discoway[2389] 3
2007-10-14 17:36:28.368 Discoway[2389] 4
2007-10-14 17:36:28.368 Discoway[2389] 5
2007-10-14 17:36:28.406 Discoway[2389] 6
2007-10-14 17:36:28.407 Discoway[2389] 7
2007-10-14 17:36:28.431 Discoway[2389] 8
2007-10-14 17:36:28.434 Discoway[2389] 9
2007-10-14 17:36:28.434 Discoway[2389] 10
2007-10-14 17:36:28.434 Discoway[2389] *** Assertion failure in -[NSTextFieldCell _objectValue:forString:errorDescription:], AppKit.subproj/NSCell.m:1298
2007-10-14 17:36:28.434 Discoway[2389] An uncaught exception was raised
2007-10-14 17:36:28.434 Discoway[2389] Invalid parameter not satisfying: aString != nil
2007-10-14 17:36:28.434 Discoway[2389] *** Uncaught exception: <NSInternalInconsistencyException> Invalid parameter not satisfying: aString != nil
Oct 14 17:36:29 ordinateur-de-broudot crashdump[2394]: Discoway crashed
Oct 14 17:36:29 ordinateur-de-broudot crashdump[2394]: crash report written to: /Users/broudot/Library/Logs/CrashReporter/Discoway.crash.log
[/tt]
Dans le crash-report (je n'ai mis que le dump du thread 6, celui qui plante) :
[tt]
Date/Time:Â Â Â 2007-10-14 17:36:28.473 +0200
OS Version:Â Â 10.4.10 (Build 8R2232)
Report Version: 4
Command: Discoway
Path:Â Â /Users/broudot/Desktop/Discoway.app/Contents/MacOS/Discoway
Parent:Â WindowServer [57]
Version: 1.0b2 (100)
PID:Â Â 2389
Thread: 6
Exception:Â EXC_BREAKPOINT (0x0006)
Code[0]:Â Â 0x00000002
Code[1]:Â Â 0x00000000
Thread 6 Crashed:
0 com.apple.Foundation  0x9281e47f _NSRaiseError + 227
1 com.apple.Foundation  0x928cc17a -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 113
2 com.apple.AppKit    0x9329f97a -[NSCell _objectValue:forString:errorDescription:] + 208
3 com.apple.AppKit    0x9329f8a4 -[NSCell _objectValue:forString:] + 55
4 com.apple.AppKit    0x9329f7fb -[NSCell setStringValue:] + 49
5 com.apple.AppKit    0x932a1a56 -[NSControl setStringValue:] + 119
6 com.tineo.Discoway   0x00012e14 -[AppController threadOuvertureCarte:] + 4661
7 com.apple.Foundation  0x927eb2e0 forkThreadForFunction + 123
8 libSystem.B.dylib    0x90024227 _pthread_body + 84
Thread 6 crashed with X86 Thread State (32-bit):
 eax: 0x00547000 ebx: 0x9281e3aa ecx: 0x90a669f8 edx: 0x0048c840
 edi: 0x1495d770 esi: 0x14993a10 ebp: 0xb0332c58 esp: 0xb0332bf0
 ss: 0x0000001f efl: 0x00000246 eip: 0x9281e47f cs: 0x00000017
 ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037
[/tt]
Concernant le bug graphique :
[Fichier joint supprimé par l'administrateur]
Je pense avoir isolé le coupable.
Ce que je ne m'explique vraiment pas, c'est pourquoi ça plante sur la majorité des configs, mais pas sur toutes .... C'est qu'en même étrange, non ? J'ai un iMac et un Macbook, et ça marche impec sur les 2 .....
Quelqu'un peut m'expliquer ça ?
Ben, la réponse ne risque pas de te faire plaisir...
.
Mon but c'est de comprendre, progresser, et virer ce bug !
Je t'écoutes
1% ou 2% de la libbsb ?!? .... soupir ...
http://www.gnu.org/copyleft/lesser.html
Ce n'est pas du tout le fait de faire un produit propriétaire et/ou commercial à partir de ces bibliothèques (dont leur licence n'est pas incompatible) qui m'a fait tiquer. C'est revendiquer 100% des droits du code d'un logiciel qui utilise (et c'est une très bonne chose de ne pas réinventer la roue) beaucoup de librairies faites par d'autres.
Rajouter dans l'"à propos" de son application un remerciement pour les librairies utilisées me semble simplement un respect pour le travail des autres.
Mais bon, loin de moi de vouloir donner des leçons, il fait ce qu'il veut, et j'espère rester assez constructif pour qu'il puisse améliorer son application.
A+
http://www.remotesensing.org/libtiff/misc.html
Permission to use, copy, modify, distribute, and sell this software and
its documentation for any purpose is hereby granted without fee, provided
that (i) the above copyright notices and this permission notice appear in
all copies of the software and related documentation
Amnesic, je suis entièrement d'accord avec toi. J'ai d'ailleurs cité dans l'A propos toutes les personnes qui m'aident, et tous le code que j'ai utilisé ....
Encore une fois, je suis en train de virer les bibliothèques pour les remplacer par mon propre code. Alors certes la version que tu as entre les mains contient libbsb sans que son nom apparaisse dans l'A propos, mais c'est une version de développement dont la seule diffusion s'est limité à OC et les membres qui ont lu ce topic ...
Et quand tu dis " C'est revendiquer 100% des droits du code d'un logiciel qui utilise (et c'est une très bonne chose de ne pas réinventer la roue) beaucoup de librairies faites par d'autres.", il ne me reste plus que libbsb et celle qui va avec, libtiff, et ce, pour la seule fonctionnalité d'import de cartes BSB ....
Ok pigé.
pour revenir à ton code, je n'ai pas reussi à faire la liaison avec mon petit GPS Bluetooth RoyalTek. C'est encore en cours de dev ou bien c'est un pb de config de mon coté ? (j'ai pas bien pigé si il fallait que j'utilise la connexion type BT ou Serial, car en fait il est BT mais simule juste un serial port SPP )
Je suis intéressé par ton retour. J'ai pas trouvé beaucoup de monde avec un GPS BT, et j'ai donc pas de retour. La seule expérience, c'est la mienne, puisque j'en ai un.
en BT j'ai un crash :
2007-10-14 21:38:00.315 Discoway[27120] *** -[NSCalendarDate years:months:days:hours:minutes:seconds:sinceDate:]: sinceDate: argument cannot be nil
2007-10-14 21:38:01.968 Discoway[27120] *** Assertion failure in -[NSTextFieldCell _objectValue:forString:errorDescription:], AppKit.subproj/NSCell.m:1298
2007-10-14 21:38:01.968 Discoway[27120] An uncaught exception was raised
2007-10-14 21:38:01.968 Discoway[27120] Invalid parameter not satisfying: aString != nil
2007-10-14 21:38:01.968 Discoway[27120] *** Uncaught exception: <NSInternalInconsistencyException> Invalid parameter not satisfying: aString != nil
Oct 14 21:38:02 macbookpro crashdump[27126]: Discoway crashed
Dans le présent cas, le thread 6 modifie le "stringValue" d'un NSControl.
Pour refléter cette modification à l'affichage, NSControl va se réafficher... Or on est pas dans le thread principal, donc instabilité !
.
OK.
Donc, en fait, tout se qui touche à l'affichage de l'interface graphique doit être exécuté dans le process principal ?
Bon, je vais reprendre ma méthode pour corriger tout ça, on va voir si c'est mieux.
Le truc qui me chagrine quand même toujours, c'est pourquoi chez moi ça plante pas ? Parce que du coup pour debugger, c'est un peu galère ...
Ah oui, tout l'affichage doit se faire dans le thread principal.
Sert entre autres à ça !
Quand aux crash aléatoire selon les configurations, ce sont en général des problèmes liés à la mémoire, les plus difficiles à trouver... Un petit manque de rigueur dans le développement sans douteÂ
Pour moi c'est les threads. Je vais essayer de faire une version mono-threadé pour voir la différence.
C'est la mémoire partagée qui peut causer des problèmes.
Le nouveau est là .