Hack "glhanoi" has an assertion failure.

Bug #71795 reported by Adam Buchbinder
4
Affects Status Importance Assigned to Milestone
xscreensaver (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Running "glhanoi -count 96" or higher causes an assertion failure:

glhanoi: glhanoi.c:504: update_glhanoi: Assertion `disk != ((void *)0)' failed.

This assertion failure reliably occurs after about 3.5 seconds of runtime. I am running xscreensaver 4.23-4ubuntu8 on Ubuntu Dapper, but the same message (different line number) appears with version 5.01 built from source.

With numbers over 96, it takes a different amount of time to fail, but it still does fail. It appears not to fail at all with count 95 or below.

I'm aware that no one in their right mind would run glhanoi with a count that high, but assertion failures are things that should never, ever occur, right?

This was emailed to jwz upstream back in late September, but no response was received.

Revision history for this message
Jeff Buchbinder (rufustfirefly) wrote :

I was able to generate the same output, with the addition of a core dump.

Changed in xscreensaver:
status: Unconfirmed → Confirmed
Revision history for this message
Adam Buchbinder (adam-buchbinder) wrote :

This is a backtrace generated with a copy of xscreensaver 4.24-4ubuntu2.1 built with debug info enabled. It was executed as "glhanoi -count 96", as described above. This is on Edgy.

The output from glhanoi is:

glhanoi: glhanoi.c:504: update_glhanoi: Assertion `disk != ((void *)0)' failed.
Aborted (core dumped)

#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7b6a770 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7b6bef3 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xb7b63dbb in __assert_fail () from /lib/tls/i686/cmov/libc.so.6
#4 0x0804da61 in update_glhanoi () at glhanoi.c:504
#5 0x0804daca in draw_glhanoi (mi=0xbf90448c) at glhanoi.c:1394
#6 0x080501b6 in xlockmore_screenhack (dpy=0x80627a0, window=69206018, want_writable_colors=0, want_uniform_colors=0, want_smooth_colors=0,
    want_bright_colors=0, event_mask=64, hack_init=0x804d580 <init_glhanoi>, hack_draw=0x804da70 <draw_glhanoi>, hack_reshape=0x804afb0 <reshape_glhanoi>,
    hack_handle_events=0x804ace0 <glhanoi_handle_event>, hack_free=0) at xlockmore.c:444
#7 0x0804dbb8 in screenhack (dpy=0x80627a0, window=69206018) at ./../xlockmore.h:158
#8 0x0804e6c4 in main (argc=Cannot access memory at address 0x6
) at ./../screenhack.c:679

Revision history for this message
Tormod Volden (tormodvolden) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. I am not able to reproduce it using this 5.04 version. Can you please try it?

Revision history for this message
Adam Buchbinder (adam-buchbinder) wrote :

The attached version does not trigger the assertion failure. (I can still trigger it in 4.24-5ubuntu2.1, which is what I have now.) As xscreensaver 5.04 is in hardy, this fix has thus been released. There's nothing in the Debian changelog or the package changelog to suggest *how* it was fixed, though, which is a little odd.

Changed in xscreensaver:
status: Confirmed → Fix Released
Revision history for this message
Tormod Volden (tormodvolden) wrote :

Maybe jwz upstream fixed it without telling anyone...

I'll leave it at "committed" until it's confirmed fixed by a normal package upgrade.

Changed in xscreensaver:
status: Fix Released → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xscreensaver - 5.04-2ubuntu2

---------------
xscreensaver (5.04-2ubuntu2) hardy; urgency=low

  * 54_drivers_demogtk.patch: Patching a compile failure with
     GTK+ in Hardy
  * 28_rotate.patch: Add in the gdk pixbuf function to rotate JPEGs and
     TIFFs so that they're the right direction
  * debian/control: Increasing the GTK+ version to 2.12 for the patch
     28_rotate.patch
  * glslideshow.desktop: Changing so that it shows only one image, one
     time and no extra black on the edges.

xscreensaver (5.04-2ubuntu1) hardy; urgency=low

  * Merge from debian unstable, remaining changes: (LP: #177126)
    - Split xscreensaver into xscreensaver, xscreensaver-data
      (hacks we ship), xscreensaver-data-extra (hacks in universe).
      Split out GL hacks for universe to xscreensaver-gl-extra
    - create and install .desktop files for gnome-screensaver
    - debian/control: add Build-Depends on ubuntu-artwork
    - debian/rules: use /usr/share/backgrounds
    - 60_ubuntu-add-ant-hack.patch: bring back ant hack
    - 62_ubuntu-texturl-fridge.patch: use Ubuntu fridge for rss
    - 65_ubuntu-no-pam-conf: don't ship pam.conf
  * 70_ubuntu-xscreensaver-desktop.patch: name the xscreensaver desktop
    file for what it is to not confuse it with gnome-screensaver
  * debian/control: warn about gnome-screensaver conflict in
    xscreensaver package description (LP: #74727)
  * debian/rules: don't hide the xscreensaver desktop icon if the
    user insists on installing xscreensaver (LP: #86416)
  * 60_ubuntu-add-ant-hack.patch refreshed to include "ant" in
    application defaults (LP: #160669)
  * Fixed upstream: glhanoi assertion failure (LP: #71795)

xscreensaver (5.04-2) unstable; urgency=low

  [Tormod Volden]
  * debian/rules:
   + Moved POT generation from clean to build.
   + Now xscreensaver.svg is copied from `debian/` at build time.
  * po/xscreensaver.pot:
   + Is now deleted since it is autogenerated.
  * debian/control:
   + Added libxss-dev, libxtst-dev, libxxf86misc-dev and x-dev as
   build depends.
   + Added quilt and removed dpatch from build-depends.
  * debian/patches/00_maindiffwithorig.patch got split up in:
    - 20_hacks_Makefile.patch: add xpm libs for "maze" hack
    - 22_hacks_barcode.patch: make family-friendly
    - 23_hacks_glx_glsnake.patch: make family-friendly
    - 30_hacks_xanalogtv.patch: use logo-50-bad.xpm
    - 31_utils_images_logo-50-bad-xpm.patch: less colours
    - 50_driver_screensaver-properties-desktop.patch: use svg icon
  [Jose Luis Rivas]
  * debian/xscreensaver.files:
   + Added m6502 (without manpage at the moment) and abstractile
   hacks.
  * debian/xscreensaver-gl.files:
   + Added moebiusgears and lockward hacks. (Closes: #454601)
  * debian/control:
   + Added Tormod Volden as Uploader.
   + Updated to 3.7.3 Standards-Version, no modification needed.
  * debian/xscreensaver.install:
   + Now xscreensaver.svg is in `debian/`.

 -- Ted Gould <email address hidden> Wed, 23 Jan 2008 19:00:20 +0000

Changed in xscreensaver:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

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