Skip to content

Regex parsing error for string "✪ Members only" #12165

@levg34

Description

@levg34

Checklist

  • I am able to reproduce the bug with the latest version given here: CLICK THIS LINK.
  • I made sure that there are no existing issues - open or closed - which I could contribute my information to.
  • I have read the FAQ and my problem isn't listed.
  • I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • This issue contains only one bug.
  • I have read and understood the contribution guidelines.

Affected version

0.27.6

Steps to reproduce the bug

  1. Go to the channel page of a page that proposes member only videos within the app
  2. It crashes

It crashes also when refreshing the field if this channel is in the "Subscribtion" part

  1. Add a channel which proposes members only videos to subscribe channels
  2. Refresh the feed
  3. It crashes

Expected behavior

It should not crash, and at best filter out those videos.

Actual behavior

It crashes as the regex seem not to match

Screenshots/Screen recordings

Not necessary

Logs

Exception

  • User Action: requested channel
  • Request: Start loading: null
  • Content Country: FR
  • Content Language: fr-FR
  • App Language: fr_FR
  • Service: YouTube
  • Timestamp: 2025-04-08T22:43:44.441+02:00
  • Package: org.schabi.newpipe
  • Service: YouTube
  • Version: 0.27.6
  • OS: Linux Nokia/TA-1033_00WW/PLE:9/PKQ1.181105.001/00WW_6_19B:user/release-keys 9 - 28
Crash log

org.schabi.newpipe.extractor.utils.Parser$RegexException: Failed to find pattern "([\d]+([\.,][\d]+)?)" inside of "✪ Members only"
	at org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:75)
	at org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:60)
	at org.schabi.newpipe.extractor.utils.Parser.matchGroup1(Parser.java:49)
	at org.schabi.newpipe.extractor.utils.Utils.mixedNumberWordToLong(Utils.java:93)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeShortsLockupInfoItemExtractor.getViewCount(YoutubeShortsLockupInfoItemExtractor.java:101)
	at org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector.extract(StreamInfoItemsCollector.java:72)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:82)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:48)
	at org.schabi.newpipe.extractor.InfoItemsCollector.commit(InfoItemsCollector.java:104)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.commitShortsLockup(YoutubeChannelTabExtractor.java:356)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItem(YoutubeChannelTabExtractor.java:286)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.lambda$collectItemsFrom$6(YoutubeChannelTabExtractor.java:263)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.$r8$lambda$2lzZGdAYu1uNcOHZlpcrhXlK-xg(YoutubeChannelTabExtractor.java:0)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor$$ExternalSyntheticLambda8.apply(R8$$SyntheticClass:0)
	at j$.util.stream.q.accept(SourceFile:195)
	at j$.util.stream.q.accept(SourceFile:195)
	at j$.util.stream.q.accept(SourceFile:177)
	at j$.util.a.forEachRemaining(SourceFile:720)
	at j$.util.stream.b.n(SourceFile:484)
	at j$.util.stream.b.O(SourceFile:474)
	at j$.util.stream.y0.b(SourceFile:913)
	at j$.util.stream.b.w(SourceFile:234)
	at j$.util.stream.j2.reduce(SourceFile:553)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItemsFrom(YoutubeChannelTabExtractor.java:265)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getInitialPage(YoutubeChannelTabExtractor.java:160)
	at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:21)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:57)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:36)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getChannelTab$5(ExtractorHelper.java:136)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$ywl_KCJseTTYfOgEv9Py_0u_0h8(ExtractorHelper.java:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda1.call(R8$$SyntheticClass:0)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
	at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:16144)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:764)


Affected Android/Custom ROM version

Android 9

Affected device model

Nokia 6

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateIssue or discussion is a duplicate of an existing issue or discussiontemplate ignoredThe user didn't follow the template/instructions (or removed them)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions