Opened 5 years ago

Last modified 16 months ago

#51488 new defect

gstreamer1-gst-plugins-bad Will Not Update

Reported by: bill@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: jeremyhu (Jeremy Huddleston Sequoia)
Port: gstreamer1-gst-plugins-bad

Description

gstreamer1-gst-plugins-bad-1.8.1_1.darwin_15.x86_64.tbz2 seems to "freeze" the latest Macports "Upgrade Outdated" on my system.

I have tried several times in the past several days and the system always hangs when attempting to build the package. This includes allowing it to run overnight.

I have gone through the recommended steps to try to alleviate the problem, but it persists. Cannot afford to uninstall because it seems many of the dependencies are required for other functionality.

I am enclosing the file of the stdout for the updates session for your information.

Attachments (4)

updates.txt (392.3 KB) - added by bill@… 5 years ago.
Running in Debug Mode for Three Hours
DEBUG.txt (201.9 KB) - added by bill@… 5 years ago.
Screen Output during DEBUG session of port update.
spindump.txt (10.0 MB) - added by bill@… 5 years ago.
spindump.zip (1.6 MB) - added by mtalexander (Mike Alexander) 5 years ago.
Another Spindump

Change History (18)

comment:1 Changed 5 years ago by dbevans (David B. Evans)

Cc: jeremyhu@… added
Port: gstreamer1-gst-plugins-bad added
Version: 2.3.4

comment:2 Changed 5 years ago by ryandesign (Ryan Schmidt)

Try running

sudo port -d upgrade gstreamer1-gst-plugins-bad

This will print debugging information, and if it stops at some point, then you can show us the lines before it stops.

Changed 5 years ago by bill@…

Attachment: updates.txt added

Running in Debug Mode for Three Hours

comment:3 in reply to:  2 Changed 5 years ago by bill@…

Replying to ryandesign@…:

Try running

sudo port -d upgrade gstreamer1-gst-plugins-bad

This will print debugging information, and if it stops at some point, then you can show us the lines before it stops.

I have updated the updates.txt file to show the debugger output.

Also, I've uploaded the file DEBUG.txt which shows the screen capture of the lines output in case there's something different there that you need.

Changed 5 years ago by bill@…

Attachment: DEBUG.txt added

Screen Output during DEBUG session of port update.

comment:4 Changed 5 years ago by jeremyhu (Jeremy Huddleston Sequoia)

All attachments show success. I don’t see any problems...

comment:5 in reply to:  4 ; Changed 5 years ago by bill@…

Replying to jeremyhu@…:

All attachments show success. I don’t see any problems...

Perhaps I'm not being sufficiently clear. The update HANGS indefinitely. I've allowed it to remain overnight, and still it hangs at the point that I've reported, and never returns control of the console. I have to CTL-Z out, and it leaves lock files and has to be cleaned up. If I then do another session of update, it will go back and try to update gstreamer1-gst-plugins-bad again.

I'm no developer, but I doubt seriously that is an indication of "success."

comment:6 Changed 5 years ago by jeremyhu (Jeremy Huddleston Sequoia)

If that's the case, then please attach a spindump.

comment:7 in reply to:  6 Changed 5 years ago by bill@…

Replying to jeremyhu@…:

If that's the case, then please attach a spin dump.

I have no clue what that is or how to do it.

Please again bear in mind I’m trying to UPDATE this, not develop anything. I’m not a programmer, I’m a user. I don’t do jargon.

comment:8 Changed 5 years ago by jeremyhu (Jeremy Huddleston Sequoia)

It's not jargon and has nothing to do with development. Open up terminal and run 'sudo spindump'. Attach the resulting text file.

You must do this while in the hung state.

Changed 5 years ago by bill@…

Attachment: spindump.txt added

comment:9 Changed 5 years ago by ryandesign (Ryan Schmidt)

Bill attached the spindump. I don't know how to interpret spindump files, except that I see that it mentions /usr/local/bin/sbcl and /usr/local/Cellar/mysql/5.6.27/bin/mysqld. We don't support installing anything in /usr/local while using MacPorts (whether it was installed there using Homebrew or any other method) because it often causes problems. You should uninstall anything you've installed to that location. You can use MacPorts to install sbcl and mysql56 if desired.

comment:10 in reply to:  5 Changed 5 years ago by ryandesign (Ryan Schmidt)

Replying to bill@…:

Perhaps I'm not being sufficiently clear. The update HANGS indefinitely. I've allowed it to remain overnight, and still it hangs at the point that I've reported, and never returns control of the console. I have to CTL-Z out, and it leaves lock files and has to be cleaned up. If I then do another session of update, it will go back and try to update gstreamer1-gst-plugins-bad again.

Note that Ctrl-Z puts the currently-running command in the background, ready to be brought back into the foreground later by typing fg. Ctrl-Z does not cancel or quit or kill the command. If you want to do that, you would use Ctrl-C.

comment:11 Changed 5 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Yeah, that spindump is crazy noisy because you have a ton of builds going on, some suspended. It's hard for me to trace through because of your incorrect usage of ctrl-z. Please reboot your system and then do a build using:

sudo port -v -s destroot gstreamer1-gst-plugins-bad buildmakejobs=1

When in the hung state, run sudo spindump again and attach the results to this ticket. Please also comment, so we know that you attached a file because trac doesn't automatically send email notifications for attachments.

Changed 5 years ago by mtalexander (Mike Alexander)

Attachment: spindump.zip added

Another Spindump

comment:12 Changed 5 years ago by mtalexander (Mike Alexander)

I'm having the same problem. Unlike the OP, I am a developer. I haven't looked into it much, but the process that is hung is running gst-plugin-scanner. It's hung, not looping. It seems to be hung waiting for a lock in a call to write. I've attached a spin dump file, but it's not very interesting. The relevant process has nothing loaded from /usr/local. I'll poke around a bit and see if I find anything obvious.

comment:13 Changed 5 years ago by mtalexander (Mike Alexander)

It seems that gst-plugin-scanner is a helper that scans GStreamer plugins as part of rebuilding the cache of plugins. It seems to be hanging writing to a pipe back to the parent process. I have no idea why that process isn't listening.

I found a discussion of what seemed to be a similar problem at https://lists.freedesktop.org/archives/gstreamer-devel/2011-November/033898.html although it described a loop instead of a hang. Based on what I found there, I added

build.env-append      "GST_REGISTRY_FORK=no"

to the Portfile for gstreamer1-gst-plugins-bad. This caused it to not use gst-plugin-scanner to rebuild the cache and avoided the problem. It's not a fix, of course, but it seems to work around the problem.

comment:14 Changed 16 months ago by ryandesign (Ryan Schmidt)

The port has been updated to 1.16.1. Do you still see this issue with that version?

Note: See TracTickets for help on using tickets.