Bug 274671
Summary: | Gimp crash when draw a line with Brush | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Francesco <guidolinprimo> | ||||
Component: | libX11 | Assignee: | Søren Sandmann Pedersen <sandmann> | ||||
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | rawhide | CC: | kem, madko, nphilipp, zaitcev | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2007-10-03 04:49:01 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Francesco
2007-09-02 19:53:20 UTC
Bug-buddy doesn't fire for some reason. Usually it means that the program intercepts SIGABRT and SIGSEGV, can this be cancelled in gimp? I can catch the abort() with gdb, but it always happens under a grab, and so gdb must run from text console. I do not know how to save a trace in such a case. (In reply to comment #1) > Bug-buddy doesn't fire for some reason. Usually it means that the program > intercepts SIGABRT and SIGSEGV, can this be cancelled in gimp? In file gimp-2.4.0-rc1/app/main.c, line 636, there is this function: static void gimp_init_signal_handlers (void) { /* Handle fatal signals */ /* these are handled by gimp_terminate() */ gimp_signal_private (SIGHUP, gimp_sigfatal_handler, 0); gimp_signal_private (SIGINT, gimp_sigfatal_handler, 0); gimp_signal_private (SIGQUIT, gimp_sigfatal_handler, 0); gimp_signal_private (SIGABRT, gimp_sigfatal_handler, 0); gimp_signal_private (SIGTERM, gimp_sigfatal_handler, 0); if (stack_trace_mode != GIMP_STACK_TRACE_NEVER) { /* these are handled by gimp_fatal_error() */ gimp_signal_private (SIGBUS, gimp_sigfatal_handler, 0); gimp_signal_private (SIGSEGV, gimp_sigfatal_handler, 0); gimp_signal_private (SIGFPE, gimp_sigfatal_handler, 0); } gimp_signal_private (SIGPIPE, SIG_IGN, 0); gimp_signal_private (SIGCHLD, SIG_DFL, SA_RESTART); } I changed this line: gimp_signal_private (SIGABRT, gimp_sigfatal_handler, 0); to: gimp_signal_private (SIGABRT, SIG_DFL, 0); in order to ignore SIGABRT, but bug buddy doesn't fire anyway. All, please try gimp-2.4.0-0.rc2.1.fc8, it shouldn't have that problem anymore. About the SEGV handling, you might want to try this option on the cmdline: --stack-trace-mode=<mode> Debug in case of a crash (never|query|always) I regret to inform, gimp-2.4.0-0.rc2.1.fc8 does not fix the crash. However, I captured a backtrace of gimp --sync, using gdb|tee. Created attachment 190571 [details]
Crash stack trace of gimp --sync
Hm, just verified this here on x86_64. Errors in gimp_int_combobox_set_active() shouldn't realistically SIGABRT -- this functions just finds an entry in the GtkComboBox this widget is derived from and runs _set_active() there. I'd say it's likely a bug in gtk/gdk or even X. Changing the component to gtk2. I just tried it out with gtk2-2.12.0-1.fc8, to no avail. I believe we need this patch in libX11: http://gitweb.freedesktop.org/?p=xorg/lib/libX11.git;a=blobdiff;h=dac1bfc4c0303b96f235b62bb5617064704ff424;hp=2aa6c1a6b4a901765a80c3c91e51e9deae9e0427;hb=8e76bcf3cafda85058ce5f35f1f81929f4772f72;f=src/GetMoEv.c Built that patch into rawhide as libX11-1.1.2-3.fc8. Can someone test that and verify that it's the right fix? great that works for me (tested on i386) thanks Ok, I upgrade to libX11-1.1.2-3.fc8 and now Gimp works! (Tested on AthlonXP) |