'Flutter 'owner!._debugCurrentBuildTarget == this': is not true. #87
I am getting the error when I try to load the pdf from url. It shows the number of pages of pdf but then it crashes.
Using plugin - https://pub.dev/packages/advance_pdf_viewer
════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter (28488): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (28488): The following assertion was thrown while rebuilding dirty elements:
I/flutter (28488): 'package:flutter/src/widgets/framework.dart': Failed assertion: line 4371 pos 14:
I/flutter (28488): 'owner!._debugCurrentBuildTarget == this': is not true.
I/flutter (28488):
I/flutter (28488): Either the assertion indicates an error in the framework itself, or we should provide substantially
I/flutter (28488): more information in this error message to help you determine and fix the underlying cause.
I/flutter (28488): In either case, please report this assertion by filing a bug on GitHub:
I/flutter (28488): https://github.com/flutter/flutter/issues/new?template=BUG.md
I/flutter (28488):
I/flutter (28488): The relevant error-causing widget was:
I/flutter (28488): PDFViewer
I/flutter (28488):
lib/…/panSignatureScreens/pan_screen.dart:156
I/flutter (28488):
I/flutter (28488): When the exception was thrown, this was the stack:
I/flutter (28488): #2 Element.rebuild.<anonymous closure>
package:flutter/…/widgets/framework.dart:4371
I/flutter (28488): #3 Element.rebuild
package:flutter/…/widgets/framework.dart:4374
I/flutter (28488): #4 BuildOwner.buildScope
package:flutter/…/widgets/framework.dart:2777
I/flutter (28488): #5 WidgetsBinding.drawFrame
package:flutter/…/widgets/binding.dart:906
I/flutter (28488): #6 RendererBinding._handlePersistentFrameCallback
package:flutter/…/rendering/binding.dart:309
I/flutter (28488): #7 SchedulerBinding._invokeFrameCallback
package:flutter/…/scheduler/binding.dart:1117
I/flutter (28488): #8 SchedulerBinding.handleDrawFrame
package:flutter/…/scheduler/binding.dart:1055
I/flutter (28488): #9 SchedulerBinding._handleDrawFrame
package:flutter/…/scheduler/binding.dart:971
I/flutter (28488): #13 _invoke (dart:ui/hooks.dart:251:10))
I/flutter (28488): #14 _drawFrame (dart:ui/hooks.dart:209:3))
my usage - inside a Column(children:[])
new Expanded(
child: Container(
child: PDFViewer(
document: document,
),
decoration: BoxDecoration(
border: Border.all(color: Colors.black),
),
),
),
Solution 1:[1]
I had the same issue and the problem was I had called the class inside the same class. See the body: below. Replacing it with another widget fixed the issue.
class DicePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.red,
appBar: AppBar(
title: Text('Dicee'),
backgroundColor: Colors.red,
),
body: DicePage(),
),
);
}
}
Solution 2:[2]
I just had a similiar error:
???????? Exception caught by widgets library ???????????????????????????????????
The following StackOverflowError was thrown building Container:
Stack Overflow
The relevant error-causing widget was
Container
lib/widgets/profile_wiget.dart:9
When the exception was thrown, this was the stack
#0 new _HashMap (dart:collection-patch/collection_patch.dart)
#1 new HashMap (dart:collection-patch/collection_patch.dart:33:22)
#2 RegExp._cache (dart:core-patch/regexp_patch.dart:109:11)
#3 RegExp._cache (dart:core-patch/regexp_patch.dart)
#4 new RegExp (dart:core-patch/regexp_patch.dart:17:31)
...
????????????????????????????????????????????????????????????????????????????????
???????? Exception caught by widgets library ???????????????????????????????????
'package:flutter/src/widgets/framework.dart': Failed assertion: line 4371 pos 14: 'owner!._debugCurrentBuildTarget == this': is not true.
The relevant error-causing widget was
ProfileWidget
lib/widgets/profile_wiget.dart:10
????????????????????????????????????????????????????????????????????????????????
???????? Exception caught by widgets library ???????????????????????????????????
'package:flutter/src/widgets/framework.dart': Failed assertion: line 4371 pos 14: 'owner!._debugCurrentBuildTarget == this': is not true.
The relevant error-causing widget was
Container
lib/widgets/profile_wiget.dart:9
????????????????????????????????????????????????????????????????????????????????
It might be another reason since I got a stackoverflow, but my answer will hopefully help others who search this error message.
My problem was that I made a widget returning an instance of itself (I named two classes the same):
class ProfileWidget extends StatelessWidget {
final Profile profile = Profile(name: 'Someone');
@override
Widget build(BuildContext context) {
return Container(
child: (profile.isAnon) ? AnonProfileWidget() : ProfileWidget(),
);
}
}
I solved it by simply renaming one class.
Solution 3:[3]
For me that was happening while I had an widget instead of sliver in CustomScrollView
Solution 4:[4]
Are you using FirebaseMessaging? If so, it could be a conflict of advance_pdf_viewer with onBackgroundMessage of FirebaseMessaging.
Solution 5:[5]
Yes! There is a conflict with advance_pdf_viewer only if you are using Firebase Cloud Messaging Service's Background Message handler.
For example if you have something like :
Future<void> initNotifs() async {
FirebaseMessaging.onMessage.listen((RemoteMessage message) async {
print("onMessage: $message");
});
final FirebaseMessaging messaging;
messaging = FirebaseMessaging.instance;
await messaging.getToken().then((c) => print(c));
await messaging
.subscribeToTopic('general')
.then((value) => print('subscribed to general'));
FirebaseMessaging.onBackgroundMessage(
PushNotificationsHandler.firebaseMessagingBackgroundHandler);
}
Comment the below code and/Or config the notifications in Locators/Some other View:
FirebaseMessaging.onBackgroundMessage(
PushNotificationsHandler.firebaseMessagingBackgroundHandler);
Ps: PushNotificationsHandler is Another Class.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Ariel Magbanua |
| Solution 2 | Nicklas Bocksberger |
| Solution 3 | Mateusz Pietras |
| Solution 4 | David |
| Solution 5 | Rohit Daftari |
