print-camera-list crashed with SIGSEGV in try_dlopen() during upgrade

Bug #352271 reported by fuxter
50
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libgphoto2 (Ubuntu)
Fix Released
High
Unassigned

Bug Description

just filing the issue for this bug https://bugs.launchpad.net/ubuntu/+source/libgphoto2/+bug/342295

ProblemType: Crash
Architecture: i386
Disassembly: 0x6c2f6c61:
DistroRelease: Ubuntu 9.04
ExecutablePath: /usr/lib/libgphoto2/print-camera-list
Package: libgphoto2-2 2.4.2-0ubuntu4
ProcCmdline: /usr/lib/libgphoto2/print-camera-list hal-fdi
ProcEnviron:
 SHELL=/bin/bash
 PATH=(custom, user)
 LANG=ru_RU.UTF-8
Signal: 11
SourcePackage: libgphoto2
StacktraceTop:
 ?? ()
 try_dlopen (phandle=0xbfbc8cd8,
 lt_dlopenadvise (filename=0xb7f0bf82 "dlopen.a", advise=0x0)
 lt_dlopen (filename=0xb7f0bf82 "dlopen.a")
 lt_dlpreload_open (originator=0xb7f0bc58 "libltdl",
Title: print-camera-list crashed with SIGSEGV in try_dlopen()
Uname: Linux 2.6.28-11-generic i686
UserGroups: adm admin cdrom dialout lpadmin plugdev pulse-access pulse-rt sambashare

Revision history for this message
fuxter (fuxter) wrote :
Revision history for this message
Apport retracing service (apport) wrote : Symbolic stack trace

StacktraceTop:?? ()
?? ()
?? ()
?? ()
?? ()

Revision history for this message
Apport retracing service (apport) wrote : Symbolic threaded stack trace
Revision history for this message
Apport retracing service (apport) wrote : Stack trace with source code
Revision history for this message
Martin Pitt (pitti) wrote : Re: print-camera-list crashed with SIGSEGV in try_dlopen()

Hm, unfortunately the top portion of the stack trace is too mangled to be useful. Would it be possible in any way to get ssh access to your computer where this is happening?

Changed in libgphoto2 (Ubuntu):
status: New → Incomplete
Revision history for this message
fuxter (fuxter) wrote :

hi Martin, thank you for your time.
i would like to give you an access but i'm behind the NAT. i heard of some kind of backward ssh sessions, but i'm not experienced in that stuff. if you could give some basic instructions, i'd gladly do it.
what else? maybe new user with admin rights on my computer for you?
awaiting your further instructions.

Revision history for this message
Martin Pitt (pitti) wrote : Re: [Bug 352271] Re: print-camera-list crashed with SIGSEGV in try_dlopen()

fuxter [2009-03-31 16:00 -0000]:
> i would like to give you an access but i'm behind the NAT.

So that's not just the standard DSL home router which you can
configure to route through some ports (22 for ssh)?

> i heard of some kind of backward ssh sessions, but i'm not
> experienced in that stuff. if you could give some basic
> instructions, i'd gladly do it.

For this, you need a "relay" computer which is accessible from the
internet and you have ssh access. Something like this should do then:

  ssh2 -R 2222:localhost:22 username@host

Attempting to ssh to host:2222 will then be redirected to your local
machine's ssh server.

See
http://www.ssh.com/support/documentation/online/ssh/adminguide/32/Port_Forwarding.html
for details.

> what else? maybe new user with admin rights on my computer for you?

If I can have admin rights, so much the better; however, they are not
strictly required if you do those commands for me:

  sudo apt-get update
  sudo apt-get build-dep libgphoto2
  sudo apt-get install gdb

This will install a few packages which I need.

Thanks,

Martin

Revision history for this message
fuxter (fuxter) wrote : Re: print-camera-list crashed with SIGSEGV in try_dlopen()

hi Martin,
unfortunately the NAT is my ISP's. we got single IP for few houses. and i guess there is no way i can let you connect to my computer.

so, maybe some more actions i can do and attach some output.
by the way, i built-dep libgphoto2 and installed gdb.

thanks.

Revision history for this message
Martin Pitt (pitti) wrote : Re: [Bug 352271] Re: print-camera-list crashed with SIGSEGV in try_dlopen()

fuxter [2009-04-01 9:31 -0000]:
> unfortunately the NAT is my ISP's.

As I said, then you need some outside computer you can ssh to.

> so, maybe some more actions i can do and attach some output.
> by the way, i built-dep libgphoto2 and installed gdb.

Could you please try this:

  sudo apt-get install devscripts
  apt-get source libgphoto2
  cd libgphoto2-*
  DEB_BUILD_OPTIONS=nostrip,noopt debuild -us -uc

This should build a debugging version of libgphoto2 and produce some
.debs. Install them with

  sudo dpkg -i ../*.deb

Then please try

  gdb --args /usr/lib/libgphoto2/print-camera-list hal-fdi

Type "run", let it crash, then do "bt full", and copy&paste it here.
If the first few lines are still "??", we need to look further where
this happens, and install more debug symbols.

Thank you, your help is much appreciated!

Revision history for this message
fuxter (fuxter) wrote : Re: print-camera-list crashed with SIGSEGV in try_dlopen()

bad luck.

here's the gdb screen:
Starting program: /usr/lib/libgphoto2/print-camera-list hal-fdi

Program received signal SIGSEGV, Segmentation fault.
0x6c2f6c61 in ?? ()
(gdb) bt full
#0 0x6c2f6c61 in ?? ()
No symbol table info available.
#1 0xb7f2814b in try_dlopen (phandle=0xbffef0c8,
    filename=0x809a090 "dlopen.a", ext=0x809a0a6 ".a", advise=0x0)
    at libltdl/ltdl.c:1430
 saved_error = 0x0
 canonical = 0x0
 base_name = 0x809a0a0 "dlopen.a"
 dir = 0x0
 name = 0x809a0e8 "dlopen"
 attempt = 0x809a090 "dlopen.a"
 errors = -1073811184
 newhandle = (lt_dlhandle) 0x809a0b0
 __PRETTY_FUNCTION__ = "try_dlopen"
#2 0xb7f28730 in lt_dlopenadvise (filename=0xb7f29f82 "dlopen.a", advise=0x0)
    at libltdl/ltdl.c:1607
 handle = (lt_dlhandle) 0x809a0b0
 errors = <value optimized out>
#3 0xb7f288f5 in lt_dlopen (filename=0xb7f29f82 "dlopen.a")
    at libltdl/ltdl.c:1563
No locals.
#4 0xb7f24e92 in lt_dlpreload_open (originator=0xb7f29c58 "libltdl",
    func=0xb7f28ce0 <loader_init_callback>) at libltdl/loaders/preopen.c:353
---Type <return> to continue, or q <return> to quit---

!!!!!!!!!!!!!!!!!!!!! just to divide the message

but before that i got this when installing resulting debs:
fuxter@fuxter-laptop:~/libgphoto2-2.4.2$ LANG=C sudo dpkg -i ../*.deb
(Reading database ... 336292 files and directories currently installed.)
Preparing to replace libgphoto2-2 2.4.2-0ubuntu4 (using .../libgphoto2-2_2.4.2-0ubuntu4_i386.deb) ...
Unpacking replacement libgphoto2-2 ...
Preparing to replace libgphoto2-2-dev 2.4.2-0ubuntu4 (using .../libgphoto2-2-dev_2.4.2-0ubuntu4_i386.deb) ...
Unpacking replacement libgphoto2-2-dev ...
Preparing to replace libgphoto2-port0 2.4.2-0ubuntu4 (using .../libgphoto2-port0_2.4.2-0ubuntu4_i386.deb) ...
Unpacking replacement libgphoto2-port0 ...
Setting up libgphoto2-port0 (2.4.2-0ubuntu4) ...

Setting up libgphoto2-2 (2.4.2-0ubuntu4) ...
Segmentation fault (core dumped)
dpkg: error processing libgphoto2-2 (--install):
 subprocess post-installation script returned error exit status 139
dpkg: dependency problems prevent configuration of libgphoto2-2-dev:
 libgphoto2-2-dev depends on libgphoto2-2 (= 2.4.2-0ubuntu4); however:
  Package libgphoto2-2 is not configured yet.
dpkg: error processing libgphoto2-2-dev (--install):
 dependency problems - leaving unconfigured
Processing triggers for man-db ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place
Errors were encountered while processing:
 libgphoto2-2
 libgphoto2-2-dev

ready to help more. :)

Revision history for this message
Martin Pitt (pitti) wrote :

The dependency problems again occur because of that segfault. Unfortunately you only pasted the top four frames of the stack trace, they don't help much yet. Can you please paste the complete one? (Pressing Enter some times to get to the next pages).

Also, can you please give me the output of

  dpkg -l libltdl\*

Perhaps you still have libltdl3 installed or so?

What is the output of

  ldd /usr/lib/libgphoto2.so.2

? Thanks!

Revision history for this message
fuxter (fuxter) wrote :
Download full text (6.3 KiB)

Hi Martin,

here are outputs:

(gdb) run
Starting program: /usr/lib/libgphoto2/print-camera-list hal-fdi

Program received signal SIGSEGV, Segmentation fault.
0x6c2f6c61 in ?? ()
(gdb) bt full
#0 0x6c2f6c61 in ?? ()
No symbol table info available.
#1 0xb7e7514b in try_dlopen (phandle=0xbff3a808, filename=0x94da090 "dlopen.a", ext=0x94da0a6 ".a", advise=0x0) at libltdl/ltdl.c:1430
 saved_error = 0x0
 canonical = 0x0
 base_name = 0x94da0a0 "dlopen.a"
 dir = 0x0
 name = 0x94da0e8 "dlopen"
 attempt = 0x94da090 "dlopen.a"
 errors = -1074550704
 newhandle = (lt_dlhandle) 0x94da0b0
 __PRETTY_FUNCTION__ = "try_dlopen"
#2 0xb7e75730 in lt_dlopenadvise (filename=0xb7e76f82 "dlopen.a", advise=0x0) at libltdl/ltdl.c:1607
 handle = (lt_dlhandle) 0x94da0b0
 errors = <value optimized out>
#3 0xb7e758f5 in lt_dlopen (filename=0xb7e76f82 "dlopen.a") at libltdl/ltdl.c:1563
No locals.
#4 0xb7e71e92 in lt_dlpreload_open (originator=0xb7e76c58 "libltdl", func=0xb7e75ce0 <loader_init_callback>) at libltdl/loaders/preopen.c:353
 handle = <value optimized out>
 symbol = <value optimized out>
 list = (symlist_chain *) 0x94da070
 errors = 0
 found = 0
#5 0xb7e75cd1 in lt_dlinit () at libltdl/ltdl.c:237
 errors = <value optimized out>
#6 0xb7e87aa7 in gp_abilities_list_load_dir (list=0x94da028, dir=0xb7ea002e "/usr/lib/libgphoto2/2.4.2", context=0x0) at gphoto2-abilities-list.c:212
 id = (CameraLibraryIdFunc) 0
 ab = (CameraLibraryAbilitiesFunc) 0
 text = {
  text = '\0' <repeats 32208 times>, "0\030̷\020ii\r0'������\036�̷\036�̷\000\000\000\000\000\000\000\000�\202˷\002", '\0' <repeats 15 times>, "�/�� ̷\020ii\rh'������\036�̷�c��x'��h\232��0\237��\002\000��hM���c��t\232���/��\224\236��\a\000\000\000�'������\224\236��\a\000\000\000\000\000\000\000����\001\000\000\000H����'���/���`\207��\232��\005;�\a\t\000\000\000\020�˷\020�˷�\025l\000\t", '\0' <repeats 11 times>...}
 ret = 0
 x = 0
 old_count = 0
 new_count = 0
 i = 0
 p = 0
 filename = 0x0
 flist = (CameraList *) 0xb7ab6008
---Type <return> to continue, or q <return> to quit---
 count = 58
 lh = (lt_dlhandle) 0x0
#7 0xb7e87f13 in gp_abilities_list_load (list=0x94da028, context=0x0) at gphoto2-abilities-list.c:319
 r = 0
 camlib_env = 0x0
 camlibs = 0xb7ea002e "/usr/lib/libgphoto2/2.4.2"
#8 0x0804a282 in iterate_camera_list (add_comments=0, format=0x804be98, argv=0x804e0e0) at print-camera-list.c:1047
 number_of_cameras = 0
 al = (CameraAbilitiesList *) 0x94da028
 a = {
  model = "\000\000\000\000 0��", '\0' <repeats 12 times>, "\020\230��", '\0' <repeats 12 times>, "����\000\000\000\000\030\235���>��\f*��hM���>��$\235���/���\232��w\a\000\000\234,��6����>䷧���", '\0' <repeats 20 times>, "�>��\000\000\000\000\000\000\000", status = GP_DRIVER_STATUS_PRODUCTION,
  port = GP_PORT_NONE, speed = {-1208733664, 0, 0, 0, -1209559712, 0, -1208784690, 0, -1209930073, 0, 0, 0, 0, -1209558336, -1074517288, -1208732232,
    -1209612795, -1074517340, -1208791704, -1209612795, -1208851062, -1208733708, -1208733024, -1074515456, -1074516684, -1208822474, -1209612805,
    -1209930073, -1209559024, -1074516752, -1208825934, 0, 1425408, -1209612795, 1421812, 0, 5, 1429504, -1208733664, 1440124, 1451632, 0, -1209560392, 0,
   ...

Read more...

Revision history for this message
Martin Pitt (pitti) wrote :

Thanks. libltdl looks fine. Thanks for the stack trace!

I'm afraid I cannot help any further here, I don't see what's wrong.

Changed in libgphoto2 (Ubuntu):
status: Incomplete → New
Martin Pitt (pitti)
summary: - print-camera-list crashed with SIGSEGV in try_dlopen()
+ print-camera-list crashed with SIGSEGV in try_dlopen() during upgrade
Changed in libgphoto2 (Ubuntu):
importance: Undecided → High
status: New → Confirmed
Martin Pitt (pitti)
visibility: private → public
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libgphoto2 - 2.4.6-1ubuntu2

---------------
libgphoto2 (2.4.6-1ubuntu2) karmic; urgency=low

  * Add patch 01_udev_rules_136: Add a new udev mode "136" to create
    contemporary udev rules which will avoid using the check_ptp_camera
    script, and provide udev DB tags for the hal deprecation. (Now accepted
    into upstream svn).
  * debian/rules: Create udev rules (with new mode 136), install them with
    dh_installudev.
  * Move hal fdi creation from debian/libgphoto2-2.postinst to debian/rules.
    This avoids problems with half-configured libraries during
    upgrade/installation (LP: #352271), and is generally more robust as well.

 -- Martin Pitt <email address hidden> Fri, 05 Jun 2009 13:37:34 +0200

Changed in libgphoto2 (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
fuxter (fuxter) wrote :

Great!
Thank you, Martin.

Is there any way apply the fix on my current system?

Revision history for this message
Martin Pitt (pitti) wrote : Re: [Bug 352271] Re: print-camera-list crashed with SIGSEGV in try_dlopen() during upgrade

fuxter [2009-06-05 14:23 -0000]:
> Is there any way apply the fix on my current system?

Not an easy one, I'm afraid :(

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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