drawtiming assert failure: drawtiming: magick/semaphore.c:525: LockSemaphoreInfo: Assertion `semaphore_info != (SemaphoreInfo *) ((void *)0)' failed.

Bug #636021 reported by أحمد المحمودي (Ahmed El-Mahmoudy) on 2010-09-11
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
drawtiming (Debian)
Fix Released
Unknown
drawtiming (Ubuntu)
Medium
Galland
graphicsmagick (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: drawtiming

This used to work in Lucid, I suspect that drawtiming needs to be rebuilt against the new graphicsmagick library

ProblemType: Crash
DistroRelease: Ubuntu 10.10
Package: drawtiming 0.7.1-1build1
ProcVersionSignature: Ubuntu 2.6.35-20.29-generic 2.6.35.4
Uname: Linux 2.6.35-20-generic i686
Architecture: i386
AssertionMessage: drawtiming: magick/semaphore.c:525: LockSemaphoreInfo: Assertion `semaphore_info != (SemaphoreInfo *) ((void *)0)' failed.
Date: Sun Sep 12 00:10:53 2010
ExecutablePath: /usr/bin/drawtiming
ProcCmdline: drawtiming -o ADC_input.eps ADC_input.tim
ProcEnviron:
 SHELL=/bin/bash
 PATH=(custom, user)
 LANGUAGE=en_US:en_GB:en
 LANG=en_US.utf8
Signal: 6
SourcePackage: drawtiming
StacktraceTop:
 __kernel_vsyscall ()
 raise () from /lib/libc.so.6
 abort () from /lib/libc.so.6
 __assert_fail () from /lib/libc.so.6
 LockSemaphoreInfo () from /usr/lib/libGraphicsMagick.so.3
Title: drawtiming assert failure: drawtiming: magick/semaphore.c:525: LockSemaphoreInfo: Assertion `semaphore_info != (SemaphoreInfo *) ((void *)0)' failed.
UserGroups: adm admin cdrom dialout fuse lpadmin plugdev sambashare

Related branches

Rebuilding drawtiming in maverick (against the new graphicsmagick library) did not fix the issue !

This problem is also in Debian

According to what I understand from the stack trace, the problem happens after the fontTypeMetrics call, since this seems as a valid call (according to http://www.graphicsmagick.org/Magick++/Image.html#fonttypemetrics), so I suspect that the problem is actually in graphicsmagick

StacktraceTop:
 __kernel_vsyscall ()
 *__GI_raise (sig=6)
 *__GI_abort () at abort.c:92
 *__GI___assert_fail (
 LockSemaphoreInfo () from /usr/lib/libGraphicsMagick.so.3

Changed in drawtiming (Ubuntu):
importance: Undecided → Medium
tags: removed: need-i386-retrace
visibility: private → public
Changed in drawtiming (Debian):
status: Unknown → New
Galland (victor-lopez) wrote :

REASON FOR ERROR (thanks to jwilk from pdf2djvu):

1.3.8 (January 21, 2010)
========================
[…]
Behavior Changes:

  * InitializeMagick() MUST be invoked prior to using any Magick API
    function. Failure to do so will likely lead to an immediate
    application crash. This is due to initialization and runtime
    changes intended to improve thread safety and efficiency.
    Previously it was only strongly recommended to invoke
    InitializeMagick().

SOLUTION:

In source file "main.cc" add the following line before the first while in the function (maybe there is a better place, but this one works):

InitializeMagick(NULL);

Solved semaphore.c:525 error :)

Changed in drawtiming (Ubuntu):
assignee: nobody → Galland (victor-lopez)
Galland (victor-lopez) wrote :

Patch to add missing mandatory initialization line that solves the bug

Thanks a lot ! I've just applied your patch, and it works. Also I
noticed that you've filed a bug upstream. I have just added your patch
to Debian [1], I hope to get it uploaded soon, and sync to Ubuntu from
there.

[1]
http://git.debian.org/?p=collab-maint/drawtiming.git;a=commit;h=70a44ec2d84d11a6e8fdbfce49fb062f1797f217

--
 ‎أحمد المحمودي (Ahmed El-Mahmoudy)
  Digital design engineer
 GPG KeyID: 0xEDDDA1B7
 GPG Fingerprint: 8206 A196 2084 7E6D 0DF8 B176 BC19 6A94 EDDD A1B7

tags: added: patch
Changed in drawtiming (Debian):
status: New → Confirmed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package drawtiming - 0.7.1-2

---------------
drawtiming (0.7.1-2) unstable; urgency=low

  * Switched to 3.0 (quilt) source format.
  * Added InitializeMagick.diff patch to properly initialize
    GraphicsMagick. (Closes: #599915) (LP: #636021). Credit to Galland
    (https://launchpad.net/~victor-lopez)
  * debian/gbp.conf: Added git-buildpackage config file
  * debian/control:
    + Added Vcs-Browser field.
    + Added ${misc:Depends}
    + Added myself to uploaders.
    + Added DMUA after sponsors consent:
      http://lists.alioth.debian.org/pipermail/pkg-electronics-devel/2010-April/001827.html
  * Added Vcs-Browser field.
  * Added ${misc:Depends}
 -- ALEFHAHMEEMDAL ALEFLAMMEEMHAHMEEMWAWDALYEH (Ahmed El-Mahmoudy) <email address hidden> Mon, 13 Dec 2010 11:29:16 +0200

Changed in drawtiming (Ubuntu):
status: New → Fix Released
Changed in graphicsmagick (Ubuntu):
status: New → Invalid
Changed in drawtiming (Debian):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.