linsomniac / spotify_to_ytmusic

Copy playlists and liked music from Spotify to YTMusic
Creative Commons Zero v1.0 Universal
1.91k stars 119 forks source link

Segmentation Fault #43

Open CodeShakingSheep opened 7 months ago

CodeShakingSheep commented 7 months ago

First of all, I want to thank you for these awesome scripts :heart_eyes:

When copying all playlists in tab 5 I'm getting an error Segmentation fault and the GUI exits. I just restarted the whole process and now I got Segmentation fault already in tab 2 when backing up my Spotify playlists.

Here are some of my specs which might be relevant:

This is the log from my first attempt where Segmentation fault happened in tab 5 (I guess only the last part is relevant).

Gtk-Message: 07:26:05.671: Failed to load module "canberra-gtk-module"
Gtk-Message: 07:26:05.683: Failed to load module "canberra-gtk-module"
[2:2:0225/072605.841208:ERROR:policy_logger.cc(157)] :components/enterprise/browser/controller/chrome_browser_cloud_management_controller.cc(161) Cloud management controller initialization aborted as CBCM is not enabled. Please use the `--enable-chrome-browser-cloud-management` command line flag to enable it if you are not using the official Google Chrome build.
[2:2:0225/072606.929927:ERROR:object_proxy.cc(576)] Failed to call method: org.freedesktop.ScreenSaver.GetActive: object_path= /org/freedesktop/ScreenSaver: org.freedesktop.DBus.Error.NotSupported: This method is not implemented
[57:57:0225/072615.785982:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
[57:57:0225/072615.796294:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 2 times!
[57:57:0225/072638.788836:ERROR:shared_image_manager.cc(221)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
Fontconfig error: Cannot load default config file: No such file: (null)
[57:57:0225/072645.815327:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 3 times!
Segmentation fault

This is the log from my first attempt where Segmentation fault happened in tab 3.

[2 zypak-helper] Wait found events, but sd-event found none
Opening in existing browser session.
Segmentation fault

Can you please give me a hint what I can do to avoid the Segmentation fault error? Would it be helpful to not copy all playlists at once but copy specific playlists one by one?

linsomniac commented 7 months ago

I don't exactly know, but let me give you a couple pointers that hopefully may help. None of the message you pasted above look like they are related directly to the spotify_to_ytmusic app. I do see some references to "chrome_browser" (like in line 3, and in the second line of the second error message block). It might be your browser that is seg faulting? Do you usually use Chrome, and are there problems with the Chrome installation? Perhaps you could try Firefox, but you'll probably need to set the default browser for spotify_to_ytmusic to pick up that that is the browser it should use.

slavid commented 7 months ago

As @CodeShakingSheep said thank you very much for this script @linsomniac .

I ran this script on Linux (Pop!_OS) and just had this problem two times in a row by just executing s2yt_gui in the terminal (Segmentation fault (core dumped)).

But in a desperate move somehow I managed to make it to work, I went into $HOME/.local/bin (where the files were installed even though I didn't have the choice to where to install after running the pip command) and ran: python3 -X dev ./s2yt_gui.

I thought it wasn't going to work and I just wanted some developer mode logs to try and help debugging the issue but the program didn't crash since then and all my playlists were copied over.

TLDR; instead of blindly running s2yt_gui went to the install folder and manually called the program from there and it worked.

Oricul commented 3 months ago

TLDR; instead of blindly running s2yt_gui went to the install folder and manually called the program from there and it worked.

Running on Linux (Kubuntu 24.04) as well and was seeing this when running as python3 -m spotify2ytmusic gui. As @slavid suggested, running s2yt_gui directly does seem to avoid the segmentation fault (core dumped) error.

linsomniac commented 3 months ago

Generally, in Python, a Segmentation fault indicates some problems with the Python installation. In these cases I think the issue may have been a mismatch of system python and modules conflicting with a python or modules that were installed as part of pip.

Good catch @slavid on finding the location to run it from $HOME/.local/bin, that likely just put it in the correct environment where the Python and related modules were all aligned.

knightsg commented 2 months ago

I also ran into this issue and wasn't able to resolve it with the solution suggested by @slavid (although it did get further than previous attempts). In the end I gave up trying to use the GUI to import the problematic playlist and just ran the copy directly from the command line and it completed without errors. In case it's useful info, the playlist I was trying to copy has 711 tracks - other, much smaller playlists I copied using the GUI worked fine. It's only this quite large one that kept crashing during the copy.